Repository navigation
Description
Running the released cli@0.48.0 sentry mcp (npm, npx @sentry/mcp-server, and the install-script binary) over stdio against sentry.io found three problems that affect first-time setups, plus a few smaller issues. The core flows worked: startup, tools/list, real tool calls, scoping, the skills flags, and the auth error messages.
1. Natural-language search returns empty results without an LLM key
The tool descriptions say query is "natural language (preferred)". With no OPENAI_API_KEY/ANTHROPIC_API_KEY/OPENROUTER_API_KEY set, the English text is sent to Sentry as a literal search. The tools then report "No results found" and never say the query was not translated.
search_issues{"organizationSlug":"sentry","query":"top unresolved errors in the javascript project today"}returned 0 issues.query: "is:unresolved"on the same project returned results.search_errors{"query":"most common error types in the last hour","projectSlug":"javascript"}andsearch_logs{"query":"error logs from the last 15 minutes"}ran the sentence as the query string (shown under "Executed Search") and returned no results.- For events,
translateWithSeer(packages/mcp-core/src/tools/support/search-events/seer.ts) was tried first.GET /organizations/sentry/search-agent/state/{runId}/returned 403,translateWithSeerreturnednull, and the raw text was used without any note in the response. It is unknown whether the 403 is specific to the test account or happens for all users without Seer access. search_issueshas no Seer path: insearch-issues.ts, withouthasAgentProvider()the query is passed through as-is.- The only signal is a startup warning on stderr, which MCP clients do not usually show.
2. The docs tools return a removed MCP setup page
search_docs{"query":"configure sentry mcp in claude code"}returnshttps://docs.sentry.io/ai/mcp(ai/mcp.md) as the top hit, with snippet content.- That page no longer exists:
docs.sentry.io/ai/mcp/redirects (308) tohttps://mcp.sentry.dev/, andai/mcp.mdserves "Page Not Found". get_doc{"path":"ai/mcp.md"}returns the "Page Not Found" markdown withisError: false.
3. A scope naming a nonexistent org is only reported on each call
sentry mcp definitely-not-a-real-org-xyz/starts normally, andwhoamireports the constraint.- Every scoped call then fails with a generic
API error (404): Not found. Please verify that the organization, project, or resource ID is correct, which does not mention the configured scope.
Minor
--disable-skills docsremoves no tools, becausesearch_docs/get_docalso belong toinspect. The flag is accepted without a warning.--experimentalremovesget_profileandget_profile_detailsand addssearch_attributes. It is not clear whether removing the profile tools is intended.--access-tokenis listed insentry mcp --help, while the other deprecated flags (--host,--url,--insecure-http,--organization-slug,--project-slug) are hidden.- With
NODE_EXTRA_CA_CERTSset,npx @sentry/mcp-server auth statussuggestssentry cli defaults ca-cert ..., which is not a command in that package. - The install script's "Get started" output does not mention
sentry mcp. - Issue descriptions in
get_sentry_resourceoutput contain escaped URLs, such ashttps\://mcp.sentry.dev/.... tools/listis about 250 KB of compact JSON (73 tools) withEXPOSE_ALL_TOOLSon. That is heavy for clients without native tool search.
Not covered
These were not tested: real agent clients (Claude Code, Cursor, VS Code), interactive TTY login, the configured-LLM-key path, 401 and token-refresh handling, and the macOS and Windows binaries.
via @dcramer.
--
Activity
linear-code commentedon Nov 6, 2026
MCP-1193
fix(mcp): Detect docs soft 404s by the not-found header
sentry-junior commentedon Nov 6, 2026
Fixes for this issue, one PR per item (each says "Refs #2050"):
get_docreturns an error for missing pages, both soft 404s (theX-Sentry-Docs-Not-Foundheader or a "Page Not Found" front-matter title) and real 404ssentry mcpstops at startup with a clear message when the org or project scope doesn't exist--disable-skillsremoves no tools--access-tokenfrom--help@sentry/mcp-serversentry mcpNot addressed in these PRs:
docs.sentry.io/ai/mcpresult insearch_docscomes from the Cloudflare AutoRAG index (AUTORAG_INDEX_NAME, defaultsentry-docs). Nothing in this repo builds that index, so it needs a re-sync there.sentry cli …hints in the MCP bundle:sentry cli fixinlib/db/resilient.tsandlib/db/schema.ts, andsentry cli defaults urlincommands/auth/login.ts.--experimentalhiding the profile tools (feat(tools): Add hideInExperimentalMode for tool consolidation #739, feat(mcp-core): Add get_profile_details tool and fix profile schemas #870) and the escaped URLs in descriptions (feat(toolkit-core): Add shared Markdown builders for untrusted values #1795) are intended, so no change.tools/listis a design tradeoff, not a bug.feat(cli): Mention sentry mcp in installer Get started output (#2052)
fix(mcp): Check the project scope on the organization's region
fix(cli): Hide deprecated --access-token from sentry mcp help (#2057)
ref(mcp): Use mcp-core's validateRegionUrl in the scope check
fix(cli): Run CLI-only repair hints through npx in @sentry/mcp-server
fix(mcp): Warn when --disable-skills removes no tools (#2055)
fix(cli): Ship cli defaults and cli fix in @sentry/mcp-server
ref(mcp): Let each caller pick the constraint lookup's project host
fix(mcp): Return an error when get_doc finds no page (#2051)
fix(cli): Name a working ca-cert command in @sentry/mcp-server (#2054)
fix(mcp): Fail at startup when the org or project scope does not exist (
ref(mcp): Share the org/project constraint lookup in mcp-core (#2060)
fix(mcp): Note untranslated natural-language searches that find nothi…
feat(mcp): Translate search_issues queries with Seer's Issues strategy
feat(mcp): Translate search_issues queries with Seer's Issues strategy (
feat(cli): Apply the hardcoded sentry command lint to all CLI code
fix(cli): Lint interpolated and placeholder sentry commands
feat(cli): Build command hints with a sentry`…` tag
feat(cli): Build command hints with a sentry`…` tag and lint them (#2071
refactor(cli): Build stored command hints lazily and drop asInvocatio…
fix(cli): Pass trace command names instead of parsing usage hints (#2086
refactor(cli): Store docs.examples steps without the program name (#2087
sentry-junior commentedon Nov 7, 2026
Closing this issue: every item that can be fixed in this repo is fixed and merged.
search_issuestry Seer'sIssuesstrategy first.get_docreturn a not-found error for soft 404s. sentry-docs#20336 and sentry-docs#20608 handle the moved.mdpages.sentry mcpat startup with a clear message. ref(mcp): Share the org/project constraint lookup in mcp-core #2060 shares the org/project lookup in mcp-core.--disable-skillswarning: fix(mcp): Warn when --disable-skills removes no tools #2055.--access-tokenhidden from help: fix(cli): Hide deprecated --access-token from sentry mcp help #2057.@sentry/mcp-server: fix(cli): Name a working ca-cert command in @sentry/mcp-server #2054. Then feat(cli): Build command hints with a sentry…tag and lint them #2071, refactor(cli): Build stored command hints lazily and drop asInvocationCommand #2085, fix(cli): Pass trace command names instead of parsing usage hints #2086 and refactor(cli): Store docs.examples steps without the program name #2087 make every command hint and--helpexample use the running program's name, and a lint rule enforces it.--experimentalprofile tools, escaped URLs andtools/listsize: no change, because they're intended (see the comment above).Still to do outside this repo: re-sync the Cloudflare AutoRAG
sentry-docsindex so thatsearch_docsstops returningdocs.sentry.io/ai/mcp.