{"name":"Spala Public MCP","url":"https://mcp.spala.ai/mcp","transport":"streamable-http","protocolCompatibility":{"transport":"streamable-http","sdk":"@modelcontextprotocol/sdk","sdkPackageRange":"^1.27.1","specReference":"https://modelcontextprotocol.io/specification","initializeBehavior":"MCP protocol version is negotiated during initialize. Raw clients should use the protocolVersion returned by the server and the headers required by their MCP SDK/runtime.","rawHttpHeaders":{"contentType":"application/json","accept":"application/json, text/event-stream"}},"maintainer":{"name":"Spala AI","contact":"vitali@spala.ai","website":"https://spala.ai/"},"auth":"spala_platform_auth","authNotes":"Project tools require Spala platform/dashboard authentication. Users may sign in through Google OAuth or any other enabled dashboard login method; MCP requests should carry the resulting platform authorization.","docs":"https://mcp.spala.ai/mcp/install-manifest","agentStartUrl":"https://spala.ai/agents.md","role":{"publicMcp":"Discovery, docs, template/addon lookup, OAuth metadata, project lookup, and project MCP handoff.","projectMcp":"Build, validate, publish, and operate one selected Spala backend project."},"projectMcpResolution":{"rule":"Use the exact mcpUrl returned by project_select or project_get_mcp_manifest after auth.","forbidden":["hardcoded project MCP URLs","derived project slugs","guessed hosts","api.spala.ai/{project}/mcp"]},"tools":{"public":["spala_help","spala_get_onboarding","spala_get_tool_map","docs_search","template_list","addon_list"],"authenticated":["project_list","project_create","project_select","project_get_mcp_manifest","project_get_public_context"]},"toolCapabilities":[{"name":"spala_help","requiresAuth":false,"effect":"read","purpose":"Explain Spala and public MCP starting points."},{"name":"spala_get_onboarding","requiresAuth":false,"effect":"read","purpose":"Return first-call onboarding for agents."},{"name":"spala_get_tool_map","requiresAuth":false,"effect":"read","purpose":"Return machine-readable public MCP vs project MCP routing."},{"name":"docs_search","requiresAuth":false,"effect":"read","purpose":"Search public Spala agent-facing docs index."},{"name":"template_list","requiresAuth":false,"effect":"read","purpose":"List public Spala backend templates for planning."},{"name":"addon_list","requiresAuth":false,"effect":"read","purpose":"List public Spala addons/integrations for planning."},{"name":"project_list","requiresAuth":true,"effect":"read","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"List projects available to the authenticated Spala platform user."},{"name":"project_create","requiresAuth":true,"dryRunOnly":true,"implemented":true,"effect":"no-op","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"Dry-run planning preview only in this deployment. Does not create a real project."},{"name":"project_select","requiresAuth":true,"effect":"read","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"Select a project and return the exact project mcpUrl. Do not infer this URL."},{"name":"project_get_mcp_manifest","requiresAuth":true,"effect":"read","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"Return the selected project MCP install manifest shape and exact mcpUrl."},{"name":"project_get_public_context","requiresAuth":true,"effect":"read","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"Return safe project handoff context for the selected authenticated project."}],"authRequiredTools":["project_list","project_create","project_select","project_get_mcp_manifest","project_get_public_context"],"authFailureHint":"Project tools return HTTP 401 with WWW-Authenticate and OAuth metadata when called without valid Spala platform authorization.","projectCreateCapability":{"name":"project_create","requiresAuth":true,"dryRunOnly":true,"implemented":true,"effect":"no-op","authFailureHint":"Follow HTTP 401 WWW-Authenticate resource metadata, complete Spala platform OAuth, then retry with Authorization: Bearer <token>.","purpose":"Dry-run planning preview only in this deployment. Does not create a real project."},"links":{"agentStart":"https://spala.ai/agents.md","rootAgentJson":"https://spala.ai/.well-known/agent.json","rootMcpJson":"https://spala.ai/.well-known/mcp.json","rootLlmsTxt":"https://spala.ai/llms.txt","publicMcp":"https://mcp.spala.ai/mcp","mcpProfile":"https://spala.ai/mcp-profile/","installManifest":"https://mcp.spala.ai/mcp/install-manifest","oauthProtectedResource":"https://mcp.spala.ai/.well-known/oauth-protected-resource","oauthAuthorizationServer":"https://mcp.spala.ai/.well-known/oauth-authorization-server","dashboard":"https://dashboard.spala.ai","docs":"https://docs.spala.ai","security":"https://spala.ai/security/","limits":"https://spala.ai/limits/","launchKit":"https://spala.ai/launch-kit/","productHuntKit":"https://spala.ai/product-hunt-kit/","mcpSmokeTest":"https://spala.ai/mcp-smoke-test/","projectMcpTest":"https://mcp.spala.ai/.well-known/project-mcp-test.json","projectMcpTestMarkdown":"https://mcp.spala.ai/.well-known/project-mcp-test.md","brand":"https://spala.ai/brand/"},"projectHandoffExample":{"projectId":"proj_xxx","name":"Example Project","mcpUrl":"https://returned-by-spala.example/mcp","transport":"streamable-http","note":"Example only. Agents must use the actual mcpUrl returned by project_select or project_get_mcp_manifest after auth."}}