Tool descriptions do not tell an agent when to stop
Maintainers usually reply within 1 day
@rupesh-kumar-sah is already working on this.
Since Oct 17, 2026.
Assessment
This issue has not been assessed yet.
Description
Background
'Search for resources in a Stellar Bazaar node'
'Make a paid API call to a Bazaar resource, handling the 402 loop automatically.'
A tool description is the only instruction an agent gets. The second one says
payment is handled automatically and says nothing about cost, limits, or the
fact that real funds move — so an agent reasoning about whether to call it has
no basis to hesitate, and "automatically" actively encourages it not to.
The descriptions also do not say what the tools cannot do, which is what stops
an agent calling the wrong one repeatedly.
What to build
- Rewrite both descriptions to state what the tool does, what it costs, what it
requires, and when not to use it. paid_callmust say that it spends real funds and name the per-call limit.- Describe each argument in its schema, including the format expected.
- Where L209's allow-list exists, say that only permitted hosts can be paid — an
agent that knows the rule will not waste turns discovering it.
Acceptance criteria
- Each description states purpose, cost and preconditions
-
paid_callexplicitly says real funds move, and names the limit - Every argument has a description and a stated format
- Descriptions say when not to use the tool
- No description promises behaviour the code does not implement
Drips Wave · Complexity: Easy · 100 points
Repo: Divinity-Labs/Lens. The MCP server is src/mcp/server.ts
(BazaarMcpServer) with error codes in src/mcp/codes.ts. It is started by
npm run mcp:server → examples/mcp-server/run.ts, and there is an agent
example at examples/mcp-server/agent.ts. Tests are tests/mcp.test.ts.
Run the tests: npm test. The tests are vitest, not jest. A single file
is npx vitest run tests/mcp.test.ts.
Load test (prices) is already failing on main. Not your PR.
This surface signs with a real mainnet key. examples/mcp-server/run.ts
requires MCP_AGENT_SECRET_KEY_MAINNET and builds a signer for
stellar:pubnet. Anything you change here can move real money, so prefer
failing closed, and never log, echo or test with a real secret key.
Never elide an address, a contract id or a key in code, comments or
fixtures. A previous batch shortened a contract id and five contributors
invented plausible-looking ids to fill the gap. Write it in full or not at all.
An agent is the least able caller to notice a wrong answer. It will reason
over whatever it is handed, confidently. Prefer a structured error over a
best-effort result.
Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk
- Dominant language
- TypeScript
- Stars
- 4
- Forks
- 71
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 34
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Divinity-Labs/Lens
-
Webhook retries have no jitter, so failures synchronisePossibly taken @Richard-tobi claimed this 1 day ago. Openarea:reliability difficulty:easy help wanted points:100 Stellar Wave
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Divinity-Labs/Lens#341 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
The MCP server has no metricsPossibly taken @rupesh-kumar-sah claimed this 1 day ago. Openarea:observability difficulty:easy help wanted points:100 Stellar Wave
Divinity-Labs/Lens#425 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
No test drives a real 402 payment loopPossibly taken @Ugasutun claimed this 1 day ago. Openarea:testing difficulty:advanced help wanted points:200 Stellar Wave
Divinity-Labs/Lens#423 · 6 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
The agent example is undocumentedPossibly taken @GazzyLee claimed this 1 day ago. Openarea:docs difficulty:easy help wanted points:100 Stellar Wave
Divinity-Labs/Lens#422 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Only the error paths of one tool are testedPossibly taken @AGWAM001 claimed this 1 day ago. Openarea:testing difficulty:intermediate help wanted points:150 Stellar Wave
Divinity-Labs/Lens#421 · 8 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in Divinity-Labs/Lens
Similar issues
-
area:plugins enhancement platform:vscode
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
anthropics/claude-code#103166 ·
Maintainers usually reply within 1 day
-
check:failed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 90/100
iptv-org/iptv#55744 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
jitsi/jitsi-meet#18021 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
spec: discovery input example can contain multiple aliases for one parameter, with no canonical oneOpen
Difficulty 1/5 Under an hour Newbie friendliness 95/100
x402-foundation/x402#3841 ·
Maintainers usually reply within 1 day