feat(mcp): Add searchable tool catalog#1041
Open
dcramer wants to merge 3 commits into
Open
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6cf7fce. Configure here.
387ce53 to
7ee1c65
Compare
7ee1c65 to
27df69d
Compare
27df69d to
52ecd68
Compare
Move ordinary Sentry MCP tools into a flat catalog with a central direct-exposure policy. Add search_tools and execute_tool so long-tail tools can stay off the top-level MCP surface while still using normal skill, constraint, capability, and schema handling. Keep use_sentry as a separate special wrapper and update generated definitions, plugin allowed tools, docs, and regression tests for MCP tools/list disclosure and catalog execution. Co-Authored-By: GPT-5 Codex <codex@openai.com>
Forward experimental mode into the embedded use_sentry MCP server so it applies the same capability gates as direct and catalog execution. Remove the duplicate pre-filter and add regression coverage for project-scoped sessions without trace, replay, or profile capabilities. Co-Authored-By: GPT-5 Codex <codex@openai.com>
52ecd68 to
25d3bb6
Compare
Route preprod snapshot agent guidance through the catalog gateway when experimental tools are available and avoid advertising unavailable catalog workflows in the stable plugin. Mark get_profile as open-world because it reads from Sentry APIs, with regression coverage for the annotation. Co-Authored-By: GPT-5 Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Add a searchable MCP tool catalog so ordinary Sentry operations can live behind experimental
search_toolsandexecute_toolinstead of all needing top-level MCP registration. The direct surface remains centrally declared, and the shared availability path keeps skill, constraint, capability, release-mode, and schema filtering consistent across direct and catalog execution.Tool Catalog
Move ordinary tools into a flat
tools/catalog/tree, keep gateway/wrapper tools undertools/special/, and move shared implementation helpers intotools/support/. Each catalog tool remains its own module while the central surface policy decides which tools are exposed directly throughtools/list.Experimental Gateway
search_toolsandexecute_toolare marked experimental for now. Standardtools/listomits them, experimental mode includes them, and the eval mock stdio server opts into experimental mode so behavior evals can exercise discovery plus execution.Search/Execute Contract
search_toolsreturns structured JSON instead of markdown, with only the data needed to callexecute_tool: name, description, executable input schema, and MCP safety annotations. The returned input schema is filtered for the active session, so organization, project, and region arguments that will be injected from constraints are not shown to the model.{ "query": "issue", "results": [ { "name": "get_issue_details", "description": "...", "inputSchema": { "type": "object", "properties": {} }, "annotations": { "readOnlyHint": true } } ] }MCP Disclosure And Behavior
Tests cover standard and experimental tool disclosure, agent-mode
use_sentrydisclosure, catalog-only discovery and execution, lean search result metadata, constrained schema filtering, per-tool snapshot baselines, and eval cases that require model behavior throughsearch_toolsplusexecute_tool.Validated with
pnpm run tsc,pnpm run lint,pnpm run test,pnpm --filter @sentry/mcp-server-evals run build,pnpm run measure-tokens, and a mock stdio MCP smoke check. Token measurement reports 22 stable direct tools and 14,012 total tokens.