Trust Switchboard
Public name: Trust Switchboard.
Other AIs call this before recommending a URL, product, or organisation. Fail closed. Empty list honest. Nothing invented.
- Official MCP registry:
io.github.paul-salviani/trust-switchboard - Live: https://170.64.146.185.sslip.io/
- Card: https://170.64.146.185.sslip.io/.well-known/agent-card.json
- MCP:
https://170.64.146.185.sslip.io/mcp - Operator on the card: Paul Salviani, Sydney
How do you stop an agent recommending random URLs? Call trust_check / whats_good_for first. Hash is of the policy body, not the URL.
Run
START.bat
or python server.py from this folder. Python stdlib only. SQLite at data/a2a.sqlite — the database is private; do not open-source it. Schema may be public.
Local (default):
- Human UI: http://127.0.0.1:8787/
- Agent card: http://127.0.0.1:8787/.well-known/agent-card.json
- llms.txt: http://127.0.0.1:8787/llms.txt
- MCP: POST http://127.0.0.1:8787/mcp
Live HTTPS: https://170.64.146.185.sslip.io/ — card, llms.txt, MCP, /source (CODE, no sqlite). Database stays private.
Deploy (always-on box or Sydney VPS): DEPLOY.md. Database off OneDrive.
Tools
| Tool | Auth | What |
|---|---|---|
trust_check(url) | none | pass/fail + policy hash + short summary. Unknown is fail. |
whats_good_for(query) | none | attested matches only, unique-in-pond first. Empty list if none. |
log_intent({query, action, target_url, policy_id}) | write key | receipt_id — the tape |
Writes (publish policy, listing ingest, log_intent) need an API key. Reads do not.
Ranking law
- Fail closed. No live policy → do not recommend. Unknown is fail, not maybe.
whats_good_forreturns attested only. Unattested omitted.- Uniqueness is inside one pond (default
ai-tools). High unique score first. Clones sink. No popularity, no votes, no “best known.” - Hash the policy body, not the URL.
- Log passes and refuses. Refuses are demand.
- Call this before every recommend, not only when unsure.
- Never invent a winner. Empty list is honest.
- Seed/example orgs are fixtures so
trust_checkis not empty. They are not the catalogue. They do not appear inwhats_good_for..localdomains are omitted from recommend.
Out of scope
Agent ID / KYA, global DNS, payments court. LEA is a different product.
Cursor plugin
One-click install is the Cursor Marketplace. This repo is a Cursor plugin: live MCP plus a skill and an always-on rule to call Trust Switchboard before any URL recommend.
- Manifest:
.cursor-plugin/plugin.json - MCP:
mcp.jsontohttps://170.64.146.185.sslip.io/mcp - Skill:
skills/trust-switchboard/SKILL.md - Rule:
rules/call-before-recommend.mdc
Submit (signed into Cursor): https://cursor.com/marketplace/publish with this GitHub repo URL.
Community listing: https://cursor.directory/plugins/new