Skip to content

Conversation

gregnr
Copy link
Collaborator

@gregnr gregnr commented Sep 12, 2025

Adds the below annotation hints to each tool. These are used by MCP clients for UI/display purposes.

  • title: A human-readable title for the tool.
  • readOnlyHint: If true, the tool does not modify its environment. Default false.
  • destructiveHint: If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates. Meaningful only when readOnlyHint === false). Default true.
  • idempotentHint: If true, calling the tool repeatedly with the same arguments will have no additional effect on the its environment. Meaningful only when readOnlyHint === false). Default false.
  • openWorldHint: If true, this tool may interact with an "open world" of external entities. If false, the tool's domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not. Default true.

Resolves AI-146


Reminder: Since this updates @supabase/mcp-utils, we will need to publish a new version of this package prior to publishing @supabase/mcp-server-supabase.

@gregnr
Copy link
Collaborator Author

gregnr commented Sep 12, 2025

I'm not sure the best way to test this TBH - neither Cursor nor the MCP inspector seem to show annotations. I added tests that confirm each tool is providing annotations at the SDK level.

Edit: Looks like Claude Code shows them ✅
image

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.

1 participant