Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Local MCP framework for bounded cross-model delegation, routing and evidence verification.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GEMINI_API_KEY, ANTHROPIC_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"cross-model-delegation": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEMINI_API_KEY",
"-e",
"ANTHROPIC_API_KEY",
"ghcr.io/jostophe-021/mcp-cross-model-delegation:1.0.0"
],
"env": {
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ANTHROPIC_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add cross-model-delegation --env GEMINI_API_KEY='ใส่ค่าของคุณ' --env ANTHROPIC_API_KEY='ใส่ค่าของคุณ' -- docker run -i --rm -e GEMINI_API_KEY -e ANTHROPIC_API_KEY ghcr.io/jostophe-021/mcp-cross-model-delegation:1.0.0เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cross-model-delegation": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEMINI_API_KEY",
"-e",
"ANTHROPIC_API_KEY",
"ghcr.io/jostophe-021/mcp-cross-model-delegation:1.0.0"
],
"env": {
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ANTHROPIC_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cross-model-delegation": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEMINI_API_KEY",
"-e",
"ANTHROPIC_API_KEY",
"ghcr.io/jostophe-021/mcp-cross-model-delegation:1.0.0"
],
"env": {
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ANTHROPIC_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Jostophe-021 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GEMINI_API_KEY, ANTHROPIC_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry เดือนที่แล้ว
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, alalanet — check before you pay
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Check packages, MCP servers and x402 endpoints before agents install or pay. Signed.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
English | Français
An open, reproducible and security-conscious framework for measuring, comparing, routing and verifying bounded work across heterogeneous language models.
One Python core powers an MCP server and a benchmark CLI: measure → compare → route → verify → improve. V1 supports Gemini, Anthropic, and a deterministic fake provider for offline tests. Routing is explicit, quotation evidence is checked locally, and no improvement in quality, cost, or latency is claimed without measurement.
flowchart LR
A["TASK + CONTEXT"] --> B["Caller constraints"] B --> C["Router"] H["Benchmark history"] -. "weighted policy" .-> C C --> D["Gemini or Anthropic"] D --> E["Result"] E --> F["Local quote check for extraction"] E --> G["Optional benchmark evaluation"] F --> G
The same loop measures, routes, executes, verifies evidence, and evaluates results. The default policy is manual; rules and benchmark_weighted require explicit opt-in. Historical scores do not promise future quality or latency. See the architecture, methodology, and use cases.
Python 3.12 or 3.13 and uv are supported. A Gemini API key and an Anthropic API key are independent; configure either or both. A Claude subscription does not provide Anthropic API credits.
git clone https://github.com/Jostophe-021/mcp-cross-model-delegation.git
cd mcp-cross-model-delegation uv sync --locked --extra all --extra test uv run crossmodel doctor uv run crossmodel providers uv run crossmodel bench run benchmarks/datasets/basic.jsonl
The benchmark above uses FakeProvider and needs no API key. Software validation only — not an LLM performance result. See the four offline examples.
Set GEMINI_API_KEY or ANTHROPIC_API_KEY only when you intend to call a real provider. Live API usage may incur provider charges. Start with synthetic or redistributable text, and inspect the planned call count before a live benchmark.
From this repository, install only the needed adapter with uv sync --locked --extra gemini or uv sync --locked --extra anthropic. The base package needs neither provider SDK for offline benchmarks. PyPI publication is a separate release step; install from the repository until a PyPI release is verified.
Set GEMINI_API_KEY and/or ANTHROPIC_API_KEY in your own environment. .env.example shows names only; never commit .env or paste a key into a command, issue, or chat. Set DEFAULT_PROVIDER=anthropic if Anthropic is your manual default. Run crossmodel serve to expose streamable HTTP MCP at http://127.0.0.1:8000/mcp. MCP_HOST=0.0.0.0 is refused because the server has no public client authentication.
| Tool | Purpose |
|---|---|
delegate_task | Delegate a bounded TASK with optional CONTEXT, provider, policy, and constraints. |
extract_findings | Extract structured findings, then locate quotations locally in CONTEXT. |
gemini_delegate_task, gemini_extract_findings | V0.1 compatibility aliases using Gemini and manual routing. |
Generic tools default to policy="manual". provider follows DEFAULT_PROVIDER, then Gemini if configured, then the first configured provider. Opt in to policy="rules" or policy="benchmark_weighted". For weighted routing in MCP, the server operator sets CROSSMODEL_HISTORY_PATH to a local/public history.json produced by a benchmark; callers cannot choose a file path. Constraints include allowed_providers, privacy_mode, approved_providers, max_cost, max_latency, require_structured_output, require_evidence, fallback_allowed, and explicit allow_unknown_cost. A strict cost or latency cap rejects unknown values. privacy_mode="local_only" rejects both included external providers with NO_ELIGIBLE_PROVIDER.
The tools accept only caller-supplied text. They do not read files, email, Drive, or apps, execute code, or take actions in other services. The caller decides what may leave the machine. TASK and CONTEXT remain distinct JSON fields; instructions in CONTEXT are untrusted. This is a mitigation, not a security guarantee. The security model details the limits.
crossmodel route explain --policy rules --constraints '{"privacy_mode":"external_allowed"}'
crossmodel route explain --provider gemini --policy manual crossmodel route explain --policy benchmark_weighted --history results/ /history.json
This makes no API call. It prints eligible and rejected providers, reason codes, fallback chain, and score components. Only measured common metrics are scored; missing values remain null.
The default run uses only FakeProvider; it never calls a paid API. It tests software behavior, not LLM research hypotheses.
crossmodel bench run benchmarks/datasets/basic.jsonl
crossmodel bench report results/ crossmodel bench generate /tmp/long.jsonl --size medium --seed 42
Each run writes manifest.json, results.jsonl, summary.json, and history.json. Results omit TASK, CONTEXT, and responses by default; they include a SHA-256 of the exact context used. The dataset contains small, manually audited synthetic arithmetic, extraction, evidence, prompt-injection, error-detection, and long-context tasks. Generated long contexts record characters, seed, generator version, and tokens: null until measured.
For live experiments, use --live --provider gemini --orchestrator anthropic (or your configured providers). The CLI prints providers, conditions, task count, repetitions, and planned API calls before execution. Use --repetitions N --shuffle --seed 42 to repeat and randomize condition order. Concurrency is one. Cost is unavailable without a separate dated pricing source; no price is hardcoded. --save-responses writes raw answers and findings, so use it only with redistributable data. The four conditions are orchestrator_only, fixed_delegation, structured_delegation, and routed_delegation; V1 measures one model call per condition and does not implement a second orchestrator synthesis call. See benchmark format and methodology.
uv sync --locked --extra all --extra test
uv run pytest -q uv run ruff check gateway.py server.py contracts.py routing.py execution.py evidence.py cli.py providers benchmarks tests uv build docker build -t mcp-cross-model-delegation:1.0.0 .
The Docker image contains no API keys. Under Linux, docker run --rm --network host --env-file .env mcp-cross-model-delegation:1.0.0 keeps the MCP listener on host loopback. Docker Desktop host networking varies; local Python is the simpler option. The release workflow publishes ghcr.io/jostophe-021/mcp-cross-model-delegation:1.0.0 with OCI metadata and an SPDX SBOM. The optional OpenAI Secure MCP Tunnel can connect a compatible remote client without opening an inbound port; this repository includes no tunnel identifier or credential.
Version 1.0.0 was accepted by the official MCP Registry publisher as io.github.Jostophe-021/mcp-cross-model-delegation. Its declared package is the public GHCR image. The Registry remains a preview service; check its current listing before relying on discovery.
This project is designed to test when delegation helps, when it does not, and which trade-offs it introduces. Start with the methodology, research roadmap, synthetic dataset and benchmark format, result schema, and first live experiment guide. Publish only non-sensitive raw results, a summary, and limitations; cite the version using CITATION.cff.
Fork → Provider / Policy / Evaluator / Dataset → Your derivative project
↘ Optional upstream contribution
The extending guide shows the V1 interfaces and their current limits. The contributing guide explains how to keep a fork current with upstream.
Forking and adaptation are explicitly welcome. On GitHub, use Fork when you want the upstream relationship to remain visible. Independent derivative projects are also permitted under Apache-2.0, subject to the applicable license and attribution requirements. Generic improvements are welcome upstream; forks are free to diverge. Preserve the applicable LICENSE and NOTICE, identify your changes, and cite the original project when relevant.
Generic cross-model delegation predates this project. The related work page links to existing bridges, multi-provider systems, routing, and evaluation tools. For usage and research questions, see SUPPORT.md and Discussions; report vulnerabilities through private reporting.
No custom telemetry is enabled. Unknown token usage, cost, and quality remain unknown. See the research roadmap, changelog, contributing guide, Discussions, and citation metadata. The code is under Apache-2.0.