Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Secure MCP gateway and quarantine for AI agent traffic — three-layer prompt injection defense
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"trentina": {
"command": "uvx",
"args": [
"mcp-trentina-crunchtools"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add trentina -- uvx mcp-trentina-crunchtoolsวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"trentina": {
"command": "uvx",
"args": [
"mcp-trentina-crunchtools"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"trentina": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-trentina-crunchtools"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub crunchtools ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.0) เข้า registry 5 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SwarmMemo
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว 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.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Trentina sits between your AI agents and everything they touch: MCP servers, the web, Matrix, LLM providers and alerts. It stops prompt injection at every ingress — or at a trusted boundary you declare — shrinks what reaches the context window, and enforces a policy the agent cannot talk its way past. It is named after the 1377 *trentino* of Ragusa, where ships anchored offshore for thirty days before anyone came ashore: commerce keeps flowing, and nothing dangerous gets in.
# The container image is the distribution: the L2 model, the parsers and
podman run -d -p 127.0.0.1:8019:8019 \ -v ./profiles.yaml:/config/profiles.yaml:ro,Z \ -e TRENTINA_GATEWAY_ENABLED=true \ -e TRENTINA_PROFILES_PATH=/config/profiles.yaml \ -e TRENTINA_PROFILE_MYAGENT_TOKEN=your-token \ -e OPENROUTER_API_KEY=your-key -e TRENTINA_MODEL_PROVIDER=openrouter \ quay.io/crunchtools/trentina \ --transport streamable-http --host 0.0.0.0 --port 8019
L3 needs a key for one LLM provider. Any of Gemini, OpenRouter, OpenAI, Anthropic or Ollama works. A minimal profiles.yaml:
profiles:
myagent: auth: bearer_token_env: TRENTINA_PROFILE_MYAGENT_TOKEN backends: web: url: "internal://web" # Trentina's own content tools tools_allow: ["*"] gmail: url: "http://gws-personal:8000/mcp" tools_allow: # it may read and draft; you send
Then point Claude Code at it:
{
"mcpServers": { "trentina": { "type": "streamable-http", "url": "http://localhost:8019/gateway/myagent/mcp", "headers": { "Authorization": "Bearer your-token" } } } }
| Document | Description |
|---|---|
| MCP Gateway | One endpoint per profile: routing, tool names, circuit breakers |
| Per-Agent Profiles | Profile schema, modes, minifying, roles, multi-agent setup |
| Operator Profile | The agent that installs and runs the gateway |
| Configuration | Every environment variable |
| Authentication | Static bearer, OAuth proxy with DCR or a provisioned client, delegated issuers |
| Backend OAuth | Each profile signs in to OAuth-only backends with its own grant |
| Defense Pipeline | L1/L2/L3, modes, coverage and known gaps |
| Benchmark | Detection rates per layer and per L3 provider |
| Corpora | Every attack and benign set the defense is measured on |
| Prompt Packs | The judge's prompts tuned per model |
| Content Tools | fetch, read, dir, content, search, with an egress guard and file confinement |
| Blocklist | A refused source stays refused |
| Tool Filtering | Allowlists, denylists, glob patterns |
| Tool Pinning | A new or changed tool is held until approved |
| Tool Discovery | Find/call or per-session loading for clients without tool search |
| Description Compression | Description compression and schema compaction |
| Token Routing | Response minifying (implemented); delegation (proposed) |
| Semantic Request Guards | A judge reads calls to listed tools against a policy in plain English |
| Semantic Response Guards | A judge reads listed tools' responses against a policy before delivery |
| Literal Request Guards | Per-tool argument validation |
| Literal Response Guards | Per-tool result validation |
| Audit Log | Call recording, stats, monitoring |
| LLM Key Proxying | Provider keys kept inside the gateway |
| Matrix Bridge | E2EE termination and two-way judging |
| Channel Bridges | More than one upstream per agent (RCS, ...) and the bridge wire contract |
| Matrix Reverse Proxy | Matrix for agents on an isolated network |
| Client Egress | A CONNECT tunnel to listed hosts for the agent's own client |
| Git Transport | Clone, fetch and push to listed repositories and branches |
| Stdio Backends | Front a stdio-only MCP server the host runs behind a socket |
| Stability tiers | Which features may change shape in a minor release, and how you are told |
| Approvals | The six grants an operator proposes and a person agrees to |
| Federation | Share a profile with a second gateway: its tools mounted over a trusted link, scanned once |
| HTTP(S) Egress | An agent's outbound request judged and re-originated to a named destination |
| Deployment Hardening | Container flags, secrets, egress, the startup check |
| Proxies | Every perimeter route as config under proxies:, the forward type, and route plugins |
| Plugins | Write, test, install and name your own transform plugins |
| Cockpit Plugin | Live defense pipeline dashboard |
| Internal: Gateway Design | Original design document, for contributors |
pre-commit install # wires the commit and push checks
CONTRIBUTING.md is the page for a person: the three commands, what each costs, and what an exit code means. The host needs only git, podman, pre-commit and gh — every check runs from python-sdlc, the same image CI runs. The demo is recorded by demo.yml; its fixtures are in docs/demo/.
AGPL-3.0-or-later