spala-public-mcp
Public MCP front door for Spala agent discovery, providing onboarding, documentation search, and template/addon listings for planning backend workflows.
README
mcp.spala.ai Public MCP
Standalone public MCP front door for Spala agent discovery.
This service is intentionally separate from the Spala platform/project runtime. The production public MCP is served from:
https://mcp.spala.ai/mcp
Live discovery URLs
- MCP endpoint:
https://mcp.spala.ai/mcp - Install manifest:
https://mcp.spala.ai/mcp/install-manifest - OAuth protected-resource metadata:
https://mcp.spala.ai/.well-known/oauth-protected-resource - OAuth authorization-server metadata:
https://mcp.spala.ai/.well-known/oauth-authorization-server - Public profile:
https://spala.ai/mcp-profile/ - Smoke test:
https://spala.ai/mcp-smoke-test/ - NPM installer:
https://www.npmjs.com/package/@spala-ai/mcp-install
Tools
Public discovery tools
spala_help: explains what Spala is, what the public MCP does, and where agents should start.spala_get_onboarding: returns first-call onboarding for agents, including public MCP vs project MCP boundaries.spala_get_tool_map: returns machine-readable routing, OAuth metadata URLs, and tool availability.docs_search: searches public Spala agent-facing docs for setup, OAuth, MCP, security, limits, and platform questions.template_list: lists public Spala backend templates so agents can plan backend shape before using a project MCP.addon_list: lists public Spala addons and integrations so agents can plan backend workflows.
Auth-gated project handoff tools
These tools are advertised so agents understand the intended project flow, but they fail closed in this standalone release until a verified platform/project handoff contract exists.
project_list: intended to list projects available to an authenticated Spala platform user.project_create: dry-run planning preview only in the current public deployment.project_select: intended to select a project and return an explicit project MCP URL.project_get_mcp_manifest: intended to return the selected project MCP install manifest.project_get_public_context: intended to return safe project handoff context without tokens or private source data.
Role
mcp.spala.ai should be the public Spala MCP front door:
- explain what Spala is;
- expose machine-readable onboarding;
- expose docs/templates/addons discovery;
- publish canonical Spala platform OAuth discovery with least-privilege
apiscope; - expose auth-gated project tool definitions as a fail-closed interface;
- truthfully report that token validation, project listing, project selection, and project MCP URL handoff are unavailable in this standalone release.
It should not directly mutate project backend resources. Project changes belong in the project MCP.
Local Run
pnpm install
pnpm dev
Default local URL:
http://localhost:4100/mcp
For a production-style local start:
pnpm build
pnpm start
Environment
Copy .env.example to .env when running locally.
Important variables:
PUBLIC_BASE_URL: public origin for this service, for examplehttps://mcp.spala.ai.SPALA_API_BASE_URL: upstream Spala API/control plane, for examplehttps://api.spala.ai.SPALA_DASHBOARD_URL: dashboard origin, for examplehttps://dashboard.spala.ai.CORS_ALLOWED_ORIGINS: comma-separated exact HTTPS browser origins. Wildcards and credentials are rejected.FETCH_TIMEOUT_MS: bounded timeout reserved for an established upstream contract. The blocked project path performs no upstream fetch.MCP_BODY_LIMIT_BYTES: maximum JSON body size for MCP requests (default1048576).MCP_RATE_LIMIT_MAX: maximum MCP POST requests per client per 60-second window (default120).DRY_RUN_PROJECT_CREATE: keeptrueuntil project creation is safely wired.
Authentication
mcp.spala.ai should rely on Spala platform/dashboard authentication. Users may sign in with Google OAuth or any other enabled Spala account method.
The public MCP should not invent a separate project identity. For project tools, it should receive or complete the platform auth flow and then call upstream api.spala.ai as that authenticated platform user.
The public resource advertises only the api scope. Authenticated requests use:
Authorization: Bearer <access token issued for this MCP resource>
Bearer syntax is not authentication. This standalone service currently has no token verifier contract, so project calls without a bearer receive an OAuth 401 challenge and project calls with a bearer fail closed with 503 auth_validation_unavailable before MCP tool processing. That failure is the permanent boundary of this standalone release, not a retryable verifier outage. Tokens are never forwarded, logged, or returned.
Client install
codex mcp add spala_public_mcp --url "https://mcp.spala.ai/mcp"
codex mcp login spala_public_mcp --scopes api
gemini mcp add --scope user --transport http spala_public_mcp "https://mcp.spala.ai/mcp"
Current project-handoff blocker
The existing platform MCP OAuth token is audience-bound and verified by the selected project MCP. It is not a documented generic control-plane credential for project listing. The existing platform frontend API client uses its own platform/project authentication contract; that credential is not interchangeable with an opaque public-MCP token.
No existing token verifier or generic authenticated project-list/access-URL contract was found. Therefore this standalone service does not forward bearer tokens to guessed /api/projects routes and does not embed public MCP code into the platform. Every project tool fails closed with auth_validation_unavailable when a bearer is supplied. project_list, project_select, project_get_mcp_manifest, and project_get_public_context do not work in this standalone release. project_create remains defined as a URL-free dry-run, but cannot execute for an unverified caller.
Directory listing metadata
This repository includes server.json for MCP registries that accept source-backed remote server listings. The remote server URL is always:
https://mcp.spala.ai/mcp
The repository does not include platform secrets, registry private keys, build output, node_modules, or local .env files.
Handoff
Public MCP does not assume one fixed project MCP URL pattern, and this standalone release does not return project MCP URLs.
If the platform later exposes an existing generic authenticated contract, handoff may consume documented fields including:
- project list data returned after dashboard/platform auth;
- explicit
mcpUrlfields when the platform provides them.
Only complete explicit HTTPS MCP URLs are accepted. The service does not append /mcp to an access URL or recurse through arbitrary payload fields.
Future valid project MCP handoff shapes can include:
https://<project>.spala.ai/mcp
https://<host>/<project_slug>/mcp
<explicit mcpUrl returned by the platform>
After a future authenticated contract returns an exact project MCP URL, the agent should connect to that project MCP and call:
mcp_get_onboarding
mcp_get_tool_map
mcp_list_skills
mcp_get_skill({ "name": "spala-developer" })
project_get_builder_context
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。