Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"mcpServers": {
"superset": {
"type": "http",
"url": "http://localhost:3001/api/agent/mcp",
"url": "https://api.superset.sh/api/agent/mcp",
"oauth": {
"clientId": "claude-code",
"authorizationUrl": "http://localhost:3001/api/auth/mcp/authorize",
"tokenUrl": "http://localhost:3001/api/auth/mcp/token",
"authorizationUrl": "https://api.superset.sh/api/auth/mcp/authorize",
"tokenUrl": "https://api.superset.sh/api/auth/mcp/token",
Comment on lines +5 to +9
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Superset MCP api.superset.sh agent endpoint documentation

💡 Result:

I couldn’t find any public “agent endpoint” / MCP API documentation for api.superset.sh.

What I was able to verify:

  • Hitting the base host https://api.superset.sh/ returns 404 Not Found, which suggests there isn’t a browsable public docs root (or it’s intentionally not exposed). [1]
  • The Superset (superset.sh) app is open-source, and its repo shows the backend is built around tRPC (see “Tech Stack”) and includes an apps/api service—so the “agent API” appears to be an internal tRPC API used by the app rather than a separately documented public HTTP API. [2]
  • The public docs site that exists is docs.superset.sh, but it doesn’t surface an API reference for api.superset.sh from what’s publicly crawlable. [3]

If you tell me what you mean by “agent endpoint” (e.g., create/run an agent, stream logs, list workspaces, etc.), I can point you to the exact tRPC router/procedure names in the open-source repo that implement it.

Sources: [1] [2] [3]


🏁 Script executed:

# Search for .mcp.json context in the codebase
git ls-files | grep -E '\.mcp|mcp\.json|\.env' | head -20

Repository: superset-sh/superset

Length of output: 86


🏁 Script executed:

# Check the entire .mcp.json file to understand the full configuration
find . -name '.mcp.json' -type f

Repository: superset-sh/superset

Length of output: 75


🏁 Script executed:

# Search for any references to api.superset.sh or environment configuration
rg 'api\.superset\.sh|superset.*mcp|MCP.*superset' -i

Repository: superset-sh/superset

Length of output: 759


🏁 Script executed:

cat apps/api/MCP_TOOLS.md

Repository: superset-sh/superset

Length of output: 8921


🏁 Script executed:

cat .env.example

Repository: superset-sh/superset

Length of output: 4047


🏁 Script executed:

cat -n .mcp.json

Repository: superset-sh/superset

Length of output: 506


Add mechanism to override .mcp.json URLs for local development.

The hardcoded production URLs will route all MCP calls to api.superset.sh even during local development. Since .env.example configures other services to use http://localhost:3001 locally, .mcp.json should either:

  • Support environment variable substitution (e.g., $NEXT_PUBLIC_API_URL) for the MCP endpoints, or
  • Include a separate development configuration file that can be loaded conditionally, or
  • Document the manual override required for local testing.

Without this, developers will inadvertently hit production APIs during development.

🤖 Prompt for AI Agents
In @.mcp.json around lines 5 - 9, The MCP config currently hardcodes production
endpoints ("url", "oauth.authorizationUrl", "oauth.tokenUrl") in .mcp.json;
change it so local dev can override these by implementing environment
substitution or a dev-specific config loader: update the MCP config loading
logic to read process.env.NEXT_PUBLIC_API_URL (or a new MCP_API_URL) and replace
the "url" value, and likewise derive "oauth.authorizationUrl" and
"oauth.tokenUrl" from that base when present, or add support to load a separate
.mcp.development.json when NODE_ENV === "development"; ensure the loader falls
back to the current hardcoded values if no override is provided.

"scopes": ["openid", "profile", "email"]
}
}
Expand Down