Skip to content

fix(mcp): tools/list shows a read-only caller only the read tools (#1446) - #1482

Merged
ajianaz merged 1 commit into
developfrom
fix/mcp-tools-list-read-only
Oct 16, 2026
Merged

ajianaz merged 1 commit into
developfrom
fix/mcp-tools-list-read-only

Conversation

@ajianaz

@ajianaz ajianaz commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

What

tools/list on POST /mcp returns only the names in READ_ONLY_TOOLS to a read-only caller (the dispatch alias uteke_room_document is never advertised). Full-access callers, the stdio transport and tools/call (with its own gate) are unchanged. No tool is added, renamed or removed and no schema changes. CHANGELOG entry added.

Why

Since #1441 a read-only token can call the read tools and gets a tool error from the write tools, but tools/list still advertised everything, so an agent planned around tools it could not use. MCP is CORE: the contract question is uteke-cloud#203, and the owner approved the change there. Closes #1446.

Testing

  • New test read_only_tools_list_is_exactly_the_read_tools: the read-only list equals READ_ONLY_TOOLS minus the alias, is a subset of the full list, the full catalog stays at 49 tools, and uteke_remember, uteke_forget and uteke_doc_create are hidden from read-only.
  • cargo test -p uteke-mcp -p uteke-server passes; cargo clippy --all-targets -D warnings and cargo fmt are clean.

@github-actions

Copy link
Copy Markdown

🔍 Cora AI Code Review

✅ No issues found. Code looks good!


Review powered by cora-code · BYOK · MIT

@ajianaz
ajianaz merged commit 3ae2d4c into develop Oct 16, 2026
15 checks passed
@ajianaz
ajianaz deleted the fix/mcp-tools-list-read-only branch October 16, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mcp: tools/list shows write tools to read-only callers

1 participant