Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Check an AI agent endpoint before you call it: read-only, no API key, returns a trustDecision.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://getagenttrust.com/api/mcp/publicพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http agenttrust https://getagenttrust.com/api/mcp/publicวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agenttrust": {
"url": "https://getagenttrust.com/api/mcp/public"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agenttrust": {
"type": "http",
"url": "https://getagenttrust.com/api/mcp/public"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://getagenttrust.com/api/mcp/publicชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub agenttrust-ai ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.4) เข้า registry 35 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, HotCodePush
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.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Check an AI agent or MCP server endpoint before you call it. Given the exact endpoint URL, AgentTrust returns the reliability evidence it has already collected, endpoint-ownership verification, and a machine-readable trustDecision — without contacting the endpoint.
No AgentTrust account or API key required · Read-only · MCP and TypeScript SDK
AgentTrust is trust infrastructure for AI agents. It provides reliability monitoring, endpoint verification, and pre-invocation trust checks for MCP and A2A agents. An agent registers an identity, gets health-checked once a day, optionally proves ownership of its endpoint, and accumulates a deterministic reliability score from that observed history. Any external AI agent or system can look up another agent by its invocation URL and get back a machine-readable trustDecision — a signal derived from AgentTrust's own observed and verified data, for the caller to weigh, never a certification or guarantee of safety — before deciding whether to interact with it.
Official MCP Registry identity: io.github.agenttrust-ai/agenttrust.
Every example below checks AgentTrust's own monitored test agent, https://agenttrust-umber.vercel.app/api/test-agent; swap in the URL you're about to call.
Add the public connector https://getagenttrust.com/api/mcp/public (Streamable HTTP, no authentication; two read-only tools, check_agent_trust and assess_agent). In Claude Code:
claude mcp add --transport http agenttrust https://getagenttrust.com/api/mcp/public
Claude Desktop, Cursor and a plain curl call: Connect an MCP client.
npm install @getagenttrust/sdk
import { checkAgentTrust } from "@getagenttrust/sdk";
// AgentTrust's own test agent: a real, monitored endpoint you can check. const result = await checkAgentTrust("https://agenttrust-umber.vercel.app/api/test-agent");
if (result.matched) { console.log(result.status, result.reliabilityScore, result.trustDecision); // e.g. "healthy" 100 { recommended: true, confidence: "high", reasons: [] } } else { // AgentTrust has no data for this endpoint (yet). An unmatched result never // carries a score; result.observation may say it was queued for a lookup. console.log("Unknown endpoint", result.observation?.status); }
Policies (assertTrusted), errors and options: SDK README · npm. New to AgentTrust? Start with First 5 minutes.
Check the test agent on getagenttrust.com.
No account or API key. Node.js 18 or later.
1. Install. assessAgent needs SDK 0.2.0 or later.
npm install @getagenttrust/sdk@^0.2.0
2. Check an endpoint. This checks AgentTrust's own monitored test agent, so it returns a real result. The check is read-only, and AgentTrust never contacts the endpoint you ask about.
import { assessAgent } from "@getagenttrust/sdk";
// AgentTrust's own monitored test agent. Swap in the URL your agent is about to call. const assessment = await assessAgent("https://agenttrust-umber.vercel.app/api/test-agent");
console.log(assessment.decision, assessment.confidence, assessment.reasonCodes); // e.g. allow_with_caution high ["OWNERSHIP_VERIFIED", "REACHABLE_AT_LAST_CHECK", …]
if (assessment.decision === "allow_with_caution") { // Reachable and not failing in AgentTrust's observations. Not proof that the // agent behaves safely: keep your own safeguards when you call it. } else { // "avoid", or "insufficient_evidence" — also the answer for a URL AgentTrust // doesn't monitor (matched: false, reasonCodes includes "UNKNOWN_ENDPOINT"). console.log("Not calling it:", assessment.limitations); }
3. Read the answer. confidence, reasonCodes and limitations say why.
decision | What it means | What to do |
|---|---|---|
allow_with_caution | AgentTrust's observations show the endpoint reachable and not failing: a current historical reliability score, or at least two successful observations at least 10 minutes apart. | Call it, with your own safeguards. It isn't proof that the agent behaves safely. |
avoid | AgentTrust's observations show it failing — for example two or more consecutive failures, or a current reliability score below 50. | Don't call it. |
insufficient_evidence | Not enough evidence either way: an endpoint AgentTrust doesn't monitor, too few or too old observations, or a single failure that may be temporary. | Don't treat it as approval — handle it as an unknown endpoint. |
| Call | Use it when | You get |
|---|---|---|
assessAgent(url) | Your agent needs one decision to act on before it calls an endpoint. | decision, confidence, reasonCodes and limitations, with the evidence behind them. |
checkAgentTrust(url) | You want the evidence itself — status, reliabilityScore, verified and trustDecision — to apply your own rules. | { matched: true, … }, or { matched: false } for an endpoint AgentTrust doesn't monitor. |
assertTrusted(url, policy) | You want a gate: go ahead only if the endpoint meets your policy. | The checkAgentTrust result, or a thrown NotTrustedError. |
All three are anonymous and read-only, and never contact the endpoint (over MCP: assess_agent and check_agent_trust). They report what AgentTrust has observed; they don't certify an endpoint's security.
AgentTrust only has evidence for endpoints it monitors, so your first check of a real URL may come back unknown. That is an answer, not an API failure — the call succeeds:
assessAgent returns matched: false, decision: "insufficient_evidence", confidence: "none", and reasonCodes including "UNKNOWN_ENDPOINT".checkAgentTrust returns { matched: false }, sometimes with an observation status when AgentTrust has queued the URL for a lookup in the official MCP Registry.assertTrusted throws NotTrustedError ("AgentTrust has no data for this endpoint") unless you pass allowUnknown: true.Real failures — RATE_LIMITED, TIMEOUT, NETWORK_ERROR and the rest — throw an AgentTrustError instead.
Handle an unknown endpoint as not trusted: don't map insufficient_evidence to "allow", keep allowUnknown: false (the default) unless you have chosen otherwise on purpose, and ask a human or run your own checks before calling an endpoint nobody has observed.
examples/check-before-connect.ts puts assertTrusted in front of an MCP client connection.minConfidence, requireVerified and minReliabilityScore in the assertTrusted policy — see the SDK README.| Public trust checks | Agent management | |
|---|---|---|
| For | Checking any endpoint before you call it | Registering and monitoring your own agents; full agent records |
| Account / API key | Not needed | Account and API key (Authorization: Bearer ) |
| Interfaces | MCP check_agent_trust and assess_agent at /api/mcp/public; @getagenttrust/sdk (checkAgentTrust, assertTrusted, assessAgent) | REST /api/v1/*; MCP server /api/mcp (list_agents, get_agent, get_agent_health, send_heartbeat) |
To register an agent: sign up, create a key under Dashboard → API keys, then follow Getting started (REST).
You don't need this repository to use AgentTrust:
This is a Next.js (App Router) + Drizzle + Supabase app, deployed on Vercel.
npm install
npm run dev
Open http://localhost:3000. You'll need a .env.local — see .env.example for the required variables (Supabase credentials, database connection strings, and the server-only secrets described inline).
Useful scripts:
npm run test # vitest — full suite runs against an embedded pglite DB, no live database needed
npm run typecheck # tsc --noEmit npm run lint # eslint npm run db:generate # generate a new Drizzle migration from schema changes (offline) npm run db:migrate # apply pending migrations to the database in DIRECT_URL