Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Rent GPUs, launch spot instances and run serverless inference on the Xcelsior marketplace.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
XCELSIOR_ACCESS_TOKEN, XCELSIOR_API_URL标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.xcelsior.ca/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"xcelsior": {
"command": "npx",
"args": [
"-y",
"@xcelsior-gpu/mcp"
],
"env": {
"XCELSIOR_ACCESS_TOKEN": "your-value",
"XCELSIOR_API_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http xcelsior https://mcp.xcelsior.ca/mcpclaude mcp add xcelsior --env XCELSIOR_ACCESS_TOKEN=your-value --env XCELSIOR_API_URL=your-value -- npx -y @xcelsior-gpu/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"xcelsior": {
"url": "https://mcp.xcelsior.ca/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"xcelsior": {
"command": "npx",
"args": [
"-y",
"@xcelsior-gpu/mcp"
],
"env": {
"XCELSIOR_ACCESS_TOKEN": "your-value",
"XCELSIOR_API_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"xcelsior": {
"type": "http",
"url": "https://mcp.xcelsior.ca/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"xcelsior": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@xcelsior-gpu/mcp"
],
"env": {
"XCELSIOR_ACCESS_TOKEN": "your-value",
"XCELSIOR_API_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.xcelsior.ca/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
XCELSIOR_API_URL env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 aabiro 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 550 毫秒内响应(HTTP 401)
声明支持 OAuth 登录,你的 AI 应用可以带你去登录
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:XCELSIOR_ACCESS_TOKEN
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(2.0.1)于昨天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tools MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Hosted Model Context Protocol server for the Xcelsior GPU platform.
Requires Node.js ^20.20.0 or >=22.22.0 (the pinned PostHog MCP beta no longer supports Node 18).
cd mcp
npm ci XCELSIOR_MCP_API_URL=http://127.0.0.1:8000 npm run dev
Liveness: GET http://localhost:8770/health Readiness: GET http://localhost:8770/readyz MCP endpoint: http://localhost:8770/mcp
npx tsx scripts/check-live-surface.ts /path/to/private/token-file
The file contains a bearer token or an agent-key JSON response. The checker authenticates, lists tools, and compares names, annotations and output-schema presence with the customer registry in this checkout. It never invokes a tool handler or prints the token. This gives monorepo-aware coverage when a source scanner cannot discover the registrations; it does not prove handler behavior.
The canonical connector URL is `https://mcp.xcelsior.ca/mcp`.
Paste that URL into Claude, ChatGPT, Grok, Copilot Studio, Cursor, or VS Code and press connect. The client discovers everything it needs on its own:
/mcp with no credentials and gets 401 plus WWW-Authenticate: Bearer realm="xcelsior", resource_metadata="…"./.well-known/oauth-protected-resource, which names the authorization server and the exact resource identifier.client_id is an HTTPS URL serving the client's own metadata), by RFC 7591 dynamic registration at /oauth/register, or with the pre-provisioned public client xcelsior-connector./oauth/token (application/x-www-form-urlencoded) for a ~1h access token bound to https://mcp.xcelsior.ca/mcp, plus a 30-day refresh token.No client secret is involved, and nothing has to be pasted by hand.
client_credentialsFor CI, scripts, and headless agents where no human is present to consent. Create a machine client in Dashboard → Settings → Connect AI Agents, then:
curl -s -X POST https://xcelsior.ca/oauth/token \
-H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=client_credentials' \ -d 'resource=https://mcp.xcelsior.ca/mcp' \ -d "client_id=$MCP_CLIENT_ID" -d "client_secret=$MCP_CLIENT_SECRET"
{
"mcpServers": { "xcelsior": { "url": "https://mcp.xcelsior.ca/mcp", "headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" } } } }
client_credentials is fully supported and is not going away — it is simply not the front door for a person connecting an assistant.
https://mcp.xcelsior.ca/mcp — the exact URL a user pastes, path included. Protected-resource metadata, the resource parameter on authorization and token requests, and the aud claim all carry that one value. Tokens issued before the migration carry the bare origin https://mcp.xcelsior.ca and remain valid until 2026-11-30, after which they are rejected like any other wrong-audience token.
One codebase, one image, two exposed surfaces (XCELSIOR_MCP_TOOL_PROFILE):
| Profile | Where | Tools |
|---|---|---|
customer (default) | https://mcp.xcelsior.ca/mcp, submitted to directories | Tenant workflows only |
operator | Separate unlisted host | Adds platform-global host and control-plane tools |
Operator tools are not registered at all under the customer profile, so they cannot appear in tools/list and cannot be called by name. A token without operator scopes never enumerates them even on the operator host.
| Variable | Default | Description |
|---|---|---|
XCELSIOR_MCP_API_URL | http://127.0.0.1:8000 | Upstream FastAPI base URL |
XCELSIOR_MCP_RESOURCE_AUDIENCE | https://mcp.xcelsior.ca/mcp | Canonical RFC 8707 token audience |
XCELSIOR_MCP_LEGACY_RESOURCE_AUDIENCE | origin of the above | Pre-migration audience, accepted until sunset |
XCELSIOR_MCP_LEGACY_AUDIENCE_SUNSET | 2026-11-30T00:00:00Z | When the legacy audience stops being accepted |
XCELSIOR_MCP_RESOURCE_METADATA_URL | derived | What the 401 challenge points at |
XCELSIOR_MCP_TOOL_PROFILE | customer | customer or operator |
XCELSIOR_MCP_COMPANY_KNOWLEDGE | 0 | Register ChatGPT company-knowledge search/fetch |
XCELSIOR_MCP_POSTHOG_PROJECT_API_KEY | browser project key, then disabled | PostHog phc_ project key for MCP analytics |
XCELSIOR_MCP_POSTHOG_HOST | browser host or https://us.i.posthog.com | PostHog ingestion host |
XCELSIOR_DOCS_URL | https://docs.xcelsior.ca | Documentation corpus for company knowledge |
MCP_HOST | 0.0.0.0 | Bind address |
MCP_PORT | 8770 | Listen port |
MCP_PATH | /mcp | HTTP path |
MCP_RATE_LIMIT_PER_MIN | 60 | Per-token tool call budget |
@posthog/mcp is pinned to 0.11.4 because its pre-1.0 API may change. When a PostHog project key is configured, the server instruments both hosted HTTP and STDIO MCP traffic and emits the standard $mcp_* lifecycle/tool events. The authenticated Xcelsior user_id is used as distinct_id (with OAuth subject and tenant id as machine-principal fallbacks), so calls remain grouped across the hosted service's stateless per-request server instances.
Analytics is metadata-only: Xcelsior removes tool arguments, tool results, and exception messages before send, disables GeoIP and exception fan-out, and does not inject PostHog's context or conversation_id arguments into the reviewed tool schemas. The Streamable HTTP transport uses JSON responses so the SDK can carry its signed Mcp-Session-Id token across replicas. The shared posthog-node client is flushed during graceful shutdown.
If MCP analytics identifies users, production must also set XCELSIOR_POSTHOG_PERSONAL_API_KEY and XCELSIOR_POSTHOG_PROJECT_ID for the privacy-deletion worker. Startup validation rejects identification without those deletion credentials.
list_available_gpus, get_spot_prices, get_pricing_reference, search_marketplace, list_tierslist_instances, get_instance, get_instance_logs, create_instance, cancel_instance, terminate_instanceget_wallet_balance, estimate_job_cost, list_invoicesshould_i_run_this (estimate + wallet + optional max_hourly_cad)run_training_job, schedule_under_budgetlist_serverless_endpoints, create_serverless_endpoint, run_serverless_job, get_serverless_job_statuswatch_instance (poll status + telemetry + logs)explain_instance_placement, simulate_instance_placement, get_instance_timeline, get_active_lease, get_mcp_action_statusretry_instance, reconcile_instanceOperator profile only: get_scheduler_health, get_host_capacity, list_reconciliation_findings, drain_host, undrain_host, evict_host_workloads, retry_agent_command.
Company knowledge (optional, off by default): search and fetch, with OpenAI's exact schemas, over the documentation site, llms.txt, the pricing table, and live marketplace listings. Every result carries an absolute, human-openable URL and an internal id. Enable with XCELSIOR_MCP_COMPANY_KNOWLEDGE=1; it is deliberately not on for the base directory submission.
Resources: xcelsior://docs/llms, xcelsior://pricing/reference Prompts: cheapest-gpu-now, ca-fine-tune, serverless-inference
create_instance and create_serverless_endpoint always create a server-bound action plan first. confirm:true expresses intent but never replaces approval; execute with the returned plan_id after standing-policy or human approval. A confirmed call without a plan safely prepares a plan and returns approval_required. Host draining never evicts workloads; eviction has its own scope and action plan.
npx @xcelsior-gpu/mcp
Requires XCELSIOR_ACCESS_TOKEN. See mcp-cli/README.md.
Production promotion is blue/green across ports 8770/8771. Deployment runs readiness, bearer-authenticated protocol initialize, and tools/list against the standby before switching Nginx; a failure leaves the previous MCP serving.
MCP_CLIENT_ID=... MCP_CLIENT_SECRET=... python3 scripts/mcp_smoke.py
npx @modelcontextprotocol/inspector@latest
Point at http://localhost:8770/mcp with your MCP-audience Bearer token.