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.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
XCELSIOR_ACCESS_TOKEN, XCELSIOR_API_URL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.xcelsior.ca/mcpClaude 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月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント aabiro で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
550ミリ秒で応答(HTTP 401)
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:XCELSIOR_ACCESS_TOKEN
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(2.0.1)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Fomu MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
作者のリポジトリから書かれたとおりにコピーしたものです。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.