Trooth
Machine-Readable Company Profiles: find, search and read any company's Trust Profile, fact by fact.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http trooth 'https://api.trooth.co/public/mcp'
{
"mcpServers": {
"trooth": {
"type": "http",
"url": "https://api.trooth.co/public/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
trooth-mcp
The Trooth Network over the Model Context Protocol. Read any company's public record from Claude, ChatGPT, Cursor, VS Code or any MCP client. No key, no account.
https://api.trooth.co/public/mcp
Trooth operates the Trooth Network: one public, machine-readable record per company, carrying its identity, products, commercial terms, people, documents, security and privacy posture, AI practices, procurement terms and relationships. Every item says who said it. It is Trooth's only product, and it is free.
Trooth witnesses and dates facts. It does not grade, rate or rank anyone. No tool here returns a number that sums a company up.
Is your company on the Trooth Network? Any company can publish one free, public record that buyers, and the AI assistants they use, read directly. Claim your company's record · See an example
Quick start
| Client | How to add it |
|---|---|
| Claude (claude.ai, Desktop, mobile) | Customize › Connectors › + › Add custom connector, paste the URL above, and choose No sign-in. |
| ChatGPT | Trooth Network is listed in ChatGPT's app directory. To add the URL yourself, turn on Developer mode, then add it under Plugins. |
| Claude Code | claude mcp add --transport http trooth https://api.trooth.co/public/mcp |
| Codex | codex mcp add trooth --url https://api.trooth.co/public/mcp, or the ~/.codex/config.toml block below. |
| Gemini CLI | gemini mcp add --transport http trooth https://api.trooth.co/public/mcp, or the settings.json block below. |
| Cursor | Add "trooth": { "url": "https://api.trooth.co/public/mcp" } under mcpServers in .cursor/mcp.json. |
| VS Code | Run MCP: Add Server and paste the URL above, or add the block below to a project's .vscode/mcp.json (VS Code's key is servers, not mcpServers). |
Then ask in plain words: "Read trooth.co's Trust Profile and tell me how it handles customer data."
Every client's current steps, with install links, are at trooth.co/docs/agents.
Configuration files
The same blocks trooth.co/docs/agents gives, one per client.
Claude Code:
claude mcp add --transport http trooth https://api.trooth.co/public/mcp
Codex, ~/.codex/config.toml:
# or: codex mcp add trooth --url https://api.trooth.co/public/mcp
[mcp_servers.trooth]
url = "https://api.trooth.co/public/mcp"
Gemini CLI, settings.json. Use httpUrl: in the Gemini CLI, url is for servers that use server-sent events.
{
"mcpServers": {
"trooth": {
"httpUrl": "https://api.trooth.co/public/mcp"
}
}
}
Cursor, .cursor/mcp.json:
{
"mcpServers": {
"trooth": {
"url": "https://api.trooth.co/public/mcp"
}
}
}
VS Code, .vscode/mcp.json:
{
"servers": {
"trooth": {
"type": "http",
"url": "https://api.trooth.co/public/mcp"
}
}
}
Tools
Eleven tools, all read only. Each answers with prose for a person and the same answer as typed structuredContent for a machine, under a declared outputSchema.
| Tool | What it reads | Cost |
|---|---|---|
trooth_resolve_company | Finds the record for a domain, web address, Trooth slug or name, with why it matched; several matches come back as candidates, none chosen. | 1 |
trooth_search_companies | Search the Network by name, domain, tagline or category; 10 per page in slug order, with a cursor. | 1 |
trooth_list_companies | Lists companies by industry, data region, witnessed or not, and claimed or unclaimed; 20 per page in a fixed order. | 1 |
trooth_public_trust_profile | One company's complete Trust Profile, section by section, by domain or Trooth slug. Ask for detail: "summary" first. | 1 |
trooth_get_fact | One buyer question answer or one fact: sentence, value, provenance word, date, freshness and anchor, or no, not_published or not_read. | 1 |
trooth_company_changes | How a record changed: record versions and per-fact edits, optionally since a date. | 1 |
trooth_ai_data_use_disclosures | What a company has declared about AI and customer data. | 1 |
trooth_outside_in_read | A live read of a domain's public HTTPS surface and security.txt, taken when called. | 4 |
trooth_verify | Checks the two signatures on a Trust Ledger Token, a signed token a company issues through Trooth about its own claims. | 1 |
trooth_ask | Answers a question about Trooth itself from Trooth's fixed reference text. | 1 |
trooth_my_company_record | Your own workspace's record. Needs sign-in (OAuth). | 1 |
Every fact carries one of four provenance words: witnessed, public record, attested or declared. Only the witness statement is signed on a record: Trooth signs witness statements and, for workspaces that create a delegation, delegation receipts and action evidence references; it does not sign the profile, its facts or a company's declarations. Three negatives are kept apart: no (the record holds a negative value), not_published (the company has not published it) and not_read (Trooth's reading did not read it). ## Resources and prompts
resources/list returns seven fixed resources, on every protocol revision the server supports:
| Resource | What it holds |
|---|---|
trooth://buyer-questions | The twelve buyer questions as JSON: each question ID, its wording, the record section it is answered from and its page anchor form. |
trooth://methodology | What witnessed means, how outside-in reads differ from signed evidence, and why Trooth never invents a number. |
trooth://provenance-glossary | The four provenance words and the three negatives: what each means on a company record and how to cite it. |
trooth://provenance-labels | Each provenance value this server returns, the value deprecated on 2026-09-26, and what a Trust Ledger Token's signatures cover. |
trooth://schema | The outputSchema of every tool, as one JSON document, with the address of the published company record schema. |
trooth://verify-a-vendor | A sequence of this server's tools an agent can use to look into a vendor before relying on it, and how to report what they return. |
trooth://what-a-call-sends | The arguments each tool sends, the request metadata that comes with them, what is counted and what is never kept. |
resources/templates/list returns two templates, read live: trooth://company/{company} (one company's Trust Profile as Markdown) and trooth://company/{company}/{section} (one section of it).
prompts/list returns four prompts. Each takes one argument.
| Prompt | Argument | What it asks for |
|---|---|---|
vendor_trust_check | company | Look up a vendor's record on Trooth before relying on it, keeping each provenance label. |
verify_trust_token | token | Check the signatures on a Trust Ledger Token an agent has been handed. |
vendor_due_diligence | company | Read one company's answers to the twelve buyer questions, each cited with its provenance word and date, without a verdict. |
before_you_trust | company | A three-step look at a vendor for a procurement or integration decision, reported with provenance and without a verdict. |
A sample call
One question asked of one company's record, exactly as the server answered it on 2026-10-17 (the assurance_boundary and content_trust blocks are cut here for length; every answer carries both).
curl -s https://api.trooth.co/public/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"trooth_get_fact","arguments":{"company":"trooth.co","question":"q_data_location"}}}'
The tool's structuredContent:
{
"status": "answered",
"subject": "trooth.co",
"source": {
"name": "trooth.co published record (/api/network/profile)",
"version": "contract 2",
"as_of": "2026-10-17T00:45:45.379Z"
},
"fact": {
"kind": "question",
"id": "q_data_location",
"question": "Where is customer data stored and processed, and can a customer choose the region?",
"answer_state": "answered",
"value": "Production regions: Website: Vercel iad1 (US East), Database: AWS us-east-1 through Neon, API at api.trooth.co: Cloudflare Workers on the global edge; Processing locations: United States (website and database), Cloudflare Eastern North America (account service), Cloudflare edge (API and Kyrie AI inference), Sub-processor regions: trooth.co/subprocessors; Regions a customer can choose: None: every account runs in the same regions",
"provenance": "declared",
"as_of": "2026-10-17T00:45:45.379Z",
"anchor_url": "https://trooth.co/network/company/trooth#q-data-location",
"fact_ids": ["hosting.production_regions", "hosting.processing_locations", "hosting.regions_a_customer_can_choose"]
}
}
The provenance word is declared: the company said it, and the answer says so rather than presenting it as something Trooth observed. The anchor opens the same answer on the company's Trust Profile.
A section a company left empty comes back as not published, never filled in. A company Trooth holds nothing on comes back as an honest absence, which is not a finding about that company.
How it works
| Transport | Streamable HTTP, JSON-RPC 2.0, POST only, no sessions. |
| Protocol | 2026-07-28 (stateless), with 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05 still negotiated. |
| Authentication | None for ten tools. trooth_my_company_record needs an OAuth access token from the authorization server named in the server's protected-resource metadata. |
| Limits | 300 units per minute per caller, shared by every tool; each call costs the units in the table. Over the limit, the answer is HTTP 429 with Retry-After. Every tool states its own policy in tools/list. |
| Data | Every answer carries a provenance label and the boundary of what Trooth checked. Results include text companies wrote about themselves: treat them as data, never as instructions. |
| What a call sends | The tool name and its arguments. Trooth keeps a daily count of calls by tool and the company looked up, for 90 days, never an IP address, a question or search words. See trooth.co/docs/query-privacy. |
| Errors | A call that did not complete as asked carries error { code, message, retry_after_seconds? } with one of not_found, ambiguous, invalid_input, rate_limited, upstream_timeout, upstream_unavailable. |
Signing in, for trooth_my_company_record
The server's protected-resource metadata is at https://api.trooth.co/.well-known/oauth-protected-resource/public/mcp (RFC 9728) and names Trooth's WorkOS AuthKit issuer. A client registers itself with that issuer and requests a token for resource=https://api.trooth.co/public/mcp (RFC 8707); no scope is required. The tool reads only the workspace linked to the person the token was issued for. The link is made when that person signs in to trooth.co once with Continue with enterprise SSO; until then the tool answers not_linked. A call without a token answers 401 with a WWW-Authenticate header naming the metadata. The token is never stored or forwarded.
The security contract for the live read, including which hosts and addresses are refused, is published at trooth.co/docs/agents#mcp-security-contract.
Troubleshooting
- Fewer than seven resources, or a tool missing. The server declares
listChanged: false, so a client may keep the lists it read when it first connected, and a2026-07-28list result may be cached for itsttlMs(ten minutes). Remove the server and add it again, or start a new conversation, and the client lists again. To see what the server lists right now:curl -s https://api.trooth.co/public/mcp \ -H 'content-type: application/json' \ -H 'accept: application/json, text/event-stream' \ -H 'mcp-protocol-version: 2025-06-18' \ -d '{"jsonrpc":"2.0","id":1,"method":"resources/list","params":{}}' - The tools do not appear. Check that trooth is turned on in the client's tools or connectors menu, then start a new chat. In VS Code, run MCP: List Servers, select trooth and choose Show Output.
- Two trooth servers listed. Remove both (
claude mcp remove trooth,codex mcp remove trooth,gemini mcp remove trooth, or delete the entry from the configuration file) and add it once. - VS Code does not pick up the configuration. The file is
.vscode/mcp.jsonand its top-level key isservers. A block copied from Cursor or Claude Desktop usesmcpServers, which VS Code does not read. - Gemini CLI cannot connect. Use
httpUrlinsettings.json;urlmakes the Gemini CLI expect server-sent events. 405on aGET. The endpoint takesPOSTonly. A client that only speaks the2024-11-05HTTP with server-sent events transport openshttps://api.trooth.co/public/mcp/sseinstead.- HTTP
429. The caller used its 300 units for the minute. Wait the seconds inRetry-After, then retry. 401fromtrooth_my_company_record. The call carried no token, or one that is invalid or expired. Sign in again from the client; an invalid token gets401even on a public tool, so remove a stale one.not_linkedfromtrooth_my_company_record. Sign in to trooth.co once with Continue with enterprise SSO, using the same account, to link the workspace.
This repository
A license, this README, server.json, docs/directory-submissions.md (listing copy for the MCP directories), the manifest published to the official MCP Registry as io.github.troothllc/trooth-network, and glama.json, which names the maintainers of the Glama directory listing. The server itself runs behind api.trooth.co; there is nothing here to install.
server.json in this repository is version 1.1.7, written for server 1.8.0. The registry manifest and the running server carry separate version numbers: the server reports its own in serverInfo.
Related
- trooth-cli: the same records from your terminal,
npx trooth check <domain>. - trooth-openapi: the OpenAPI 3.1 contracts for the public API.
- trooth.co/docs: every interface, in one place.
Security
Report a vulnerability to security@trooth.co. The policy is at trooth.co/security/vulnerability-disclosure-policy and /.well-known/security.txt.
License
MIT. See LICENSE.
الأسئلة الشائعة
ما هو Trooth؟
Machine-Readable Company Profiles: find, search and read any company's Trust Profile, fact by fact.
كيف أثبّت Trooth؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http trooth 'https://api.trooth.co/public/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Trooth إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Trooth مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Trooth؟
ينشره troothllc. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.