Trooth

io.github.troothllcPublished by GitHub account troothllcv1.2.0Updated Nov 11, 2026

Read any company's record on the Trooth Network, each fact labeled with who said it and when.

The publisher's own server: Semanto by Trooth

Overview

AI-generated overview

Reads and searches the Trooth Network's public company records, each fact labeled with who said it and when, and manages your own Trust Profile and signed…

What you can do
  • Find, search and list companies on the Trooth Network, and read a company's full Trust Profile
  • Read single facts or buyer-question answers, AI and data-use declarations, and record change history
  • Run a live outside-in read of a domain's HTTPS headers and security.txt, and verify Trust Ledger Token signatures
  • Read, validate, import into, diff and publish your own Trust Profile draft, including domain proof
  • Run the Semanto website flow: read the site, review and sign facts, install and check the signed copy
  • Search and enable additional toolsets, and call any tool by name
When to use it
Useful when checking a vendor or partner before relying on it, comparing declared security, privacy and AI practices, or when a company wants to publish and maintain a machine-readable Trust Profile and a signed copy of its website for AI agents.
Requirements
Remote streamable HTTP endpoint; nothing to install. Public record tools need no account or key. Your own Trust Profile and Semanto need an OAuth sign-in at trooth.co (Read, Write or Customize permissions) or a workspace agent key sent as a Bearer token. Rate limit of 300 units per minute per caller.
Before you install
Sign-in grants access to your workspace's profile and Semanto tools, which can change a draft, publish a public page, and start domain proof; publishing waits for a person's approval. Results contain text companies wrote about themselves and must be treated as data, not instructions. A signature proves who said a fact, not that it is true. Calls are counted by tool and company looked up for 90 days.

Installation

In SourceWeft

  1. Open Trooth in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.troothllc%2Ftrooth-network/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "trooth": {
      "type": "http",
      "url": "https://mcp.trooth.co/"
    }
  }
}

README

trooth-mcp

One Trooth MCP server for the Trooth Network and Semanto. Read any company's public record from Claude, ChatGPT, Cursor, VS Code or any MCP client with no key or account; sign in once to work your own Trust Profile and run Semanto.

[MCP Registry] [License: MIT] [Docs]

https://mcp.trooth.co

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. Reading 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

ClientHow to add it
Claude (claude.ai, Desktop, mobile)Find Trooth in the Connectors Directory and press Connect. Or Customize › Connectors › + › Add custom connector, paste the URL above, and choose Sign in when needed.
ChatGPTTurn on Developer mode, then add the URL above as a connector with OAuth.
Claude Codeclaude mcp add --transport http trooth https://mcp.trooth.co
Codexcodex mcp add trooth --url https://mcp.trooth.co, or the ~/.codex/config.toml block below.
Gemini CLIgemini mcp add --transport http trooth https://mcp.trooth.co, or the settings.json block below.
CursorAdd "trooth": { "url": "https://mcp.trooth.co" } under mcpServers in .cursor/mcp.json.
VS CodeRun 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." Public records need no sign-in. When a tool needs your own workspace, the client asks you to sign in with your Trooth account once; that one sign-in covers the Trooth Network and Semanto.

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:

bash
claude mcp add --transport http trooth https://mcp.trooth.co

Codex, ~/.codex/config.toml:

toml
# or: codex mcp add trooth --url https://mcp.trooth.co[mcp_servers.trooth]url = "https://mcp.trooth.co"

Gemini CLI, settings.json. Use httpUrl: in the Gemini CLI, url is for servers that use server-sent events.

json
{  "mcpServers": {    "trooth": {      "httpUrl": "https://mcp.trooth.co"    }  }}

Cursor, .cursor/mcp.json:

json
{  "mcpServers": {    "trooth": {      "url": "https://mcp.trooth.co"    }  }}

VS Code, .vscode/mcp.json:

json
{  "servers": {    "trooth": {      "type": "http",      "url": "https://mcp.trooth.co"    }  }}

Tools

39 tools in ten toolsets. tools/list shows the four default toolsets; enable_toolset adds a group, and search_tools finds any tool by what it does. Every tool answers by name whether or not its toolset is shown, and each carries a title and its read-only or destructive hint.

Start with trooth_setup. It answers the one next call to make for the whole guide, from proving the domain to checking the signed copy on your site. Call it again after each step.

Start here

ToolWhat it does
trooth_setupRuns the whole guide one step at a time: prove the domain, read the site, fill the Trust Profile draft, review and sign, put the signed copy on the site, check it.
trooth_hub_syncSends the signed facts to one listing hub (Google Business Profile or Merchant Center), after a preview and your approval.
trooth_verifyChecks the two signatures on a Trust Ledger Token.
semanto_whoamiWho this sign-in or key acts for.
semanto_statusWhere setup stands, and the next step.
semanto_guideWhat Semanto is and the order an agent runs it in.
enable_toolsetShows one more group of tools.
search_toolsFinds a tool by what it does.

Public record (no account)

ToolWhat it reads
trooth_resolve_companyFinds the record for a domain, web address, Trooth slug or name, with why it matched; several matches come back as candidates, none chosen.
trooth_search_companiesSearches the Network by name, domain, tagline or category.
trooth_list_companiesLists companies by industry, data region, witnessed or not, and claimed or unclaimed.
trooth_public_trust_profileOne company's complete Trust Profile, section by section.
trooth_get_factOne buyer question answer or one fact, with its provenance word, date and anchor.
trooth_company_changesHow a record changed, optionally since a date.
trooth_ai_data_use_disclosuresWhat a company has declared about AI and customer data.
trooth_outside_in_readA live read of a domain's public HTTPS surface and security.txt, taken when called.
trooth_askAnswers a question about Trooth itself from Trooth's fixed reference text.
semanto_pageOne page of a company's signed copy as markdown.
semanto_factsA company's signed facts as JSON-LD.
semanto_verifyChecks a page against the current signed version.

Trust Profile (sign-in)

ToolWhat it does
trooth_my_company_recordYour own workspace's company record.
trooth_profile_getReads your Trust Profile draft.
trooth_profile_checklistWhat is left before your Trust Profile is published.
trooth_profile_validateChecks changes and the publish rules without saving.
trooth_profile_remediation_planPlans the changes that close the open checklist items.
trooth_profile_updateChanges fields of the draft; the public page changes only on publish.
trooth_profile_importReads pages of your own website into the draft, blank fields only, each value with its page.
trooth_profile_diffWhere the draft and the published page differ.
trooth_profile_domain_startStarts proving your company's domain.
trooth_profile_domain_checkChecks the domain proof.
trooth_profile_publishPublishes the draft. Waits for a person to approve it.

Semanto (sign-in)

ToolWhat it does
semanto_setup_read_againReads the website again.
semanto_setup_chooseChooses Basic or the full signed copy.
semanto_review_getThe facts to review, each with the page it came from.
semanto_setup_confirmConfirms the reviewed version.
semanto_signSigns and publishes the signed copy.
semanto_pages_changedPages changed since the read.
semanto_install_guideHow to put the signed copy on your site.
semanto_install_checkChecks your site.

The other six toolsets (Developer, Team and governance, Commerce, Reports, Evidence and monitoring, and Semanto, every tool) are added with enable_toolset.

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). A signature proves who said a fact, not that it is true.

Resources and prompts

resources/list returns seven fixed resources, on every protocol revision the server supports:

ResourceWhat it holds
trooth://buyer-questionsThe twelve buyer questions as JSON: each question ID, its wording, the record section it is answered from and its page anchor form.
trooth://methodologyWhat witnessed means, how outside-in reads differ from signed evidence, and why Trooth never invents a number.
trooth://provenance-glossaryThe four provenance words and the three negatives: what each means on a company record and how to cite it.
trooth://provenance-labelsEach provenance value this server returns, the value deprecated on 2026-09-26, and what a Trust Ledger Token's signatures cover.
trooth://schemaThe outputSchema of every tool, as one JSON document, with the address of the published company record schema.
trooth://verify-a-vendorA 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-sendsThe 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.

PromptArgumentWhat it asks for
vendor_trust_checkcompanyLook up a vendor's record on Trooth before relying on it, keeping each provenance label.
verify_trust_tokentokenCheck the signatures on a Trust Ledger Token an agent has been handed.
vendor_due_diligencecompanyRead one company's answers to the twelve buyer questions, each cited with its provenance word and date, without a verdict.
before_you_trustcompanyA 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).

bash
curl -s https://mcp.trooth.co \  -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:

json
{  "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

TransportStreamable HTTP, JSON-RPC 2.0, POST only, no sessions.
Protocol2026-07-28 (stateless), with 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05 still negotiated.
AuthenticationNone for the public record. Your own Trust Profile and Semanto need an OAuth access token from connect.trooth.co, named in the server's protected-resource metadata, or a workspace agent key (tra_).
Limits300 units per minute per caller, shared by every tool. Over the limit, the answer is HTTP 429 with Retry-After. Every tool states its own policy in tools/list.
DataEvery 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 sendsThe 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.
ErrorsA 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

The server's protected-resource metadata is at https://mcp.trooth.co/.well-known/oauth-protected-resource (RFC 9728) and names connect.trooth.co as the authorization server. Adding the server to Claude opens connect.trooth.co: sign in with a confirmed address, choose a workspace, set permissions (Read, Write or Customize, for the Network and Semanto together), review and authorize, then back to the app. A call without a token to a tool that needs one answers 401 with a WWW-Authenticate header naming the metadata. A workspace's agent key (Authorization: Bearer tra_...) works without a sign-in.

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 a 2026-07-28 list result may be cached for its ttlMs (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:

    bash
    curl -s https://mcp.trooth.co \  -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.json and its top-level key is servers. A block copied from Cursor or Claude Desktop uses mcpServers, which VS Code does not read.

  • Gemini CLI cannot connect. Use httpUrl in settings.json; url makes the Gemini CLI expect server-sent events.

  • 405 on a GET. The endpoint takes POST only. Use a client that speaks Streamable HTTP.

  • HTTP 429. The caller used its 300 units for the minute. Wait the seconds in Retry-After, then retry.

  • 401 from a tool that needs your workspace. The call carried no token, or one that is invalid or expired. Sign in again from the client; an invalid token gets 401 even on a public tool, so remove a stale one.

  • not_linked from a workspace tool. 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 at https://mcp.trooth.co; there is nothing here to install. The two older addresses, api.trooth.co/public/mcp and api.trooth.co/os/semanto/mcp, answer 404 with the new address, and the registry record co.trooth/semanto is deprecated in favor of this one.

server.json in this repository is version 1.2.0, 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

Security

Report a vulnerability to [email protected]. The policy is at trooth.co/security/vulnerability-disclosure-policy and /.well-known/security.txt.

License

MIT. See LICENSE.

Source: README.md at commit ca91651

Tools

39

trooth_setup

Set up Semanto and the Trust Profile, one step at a time

Runs the whole guide, proving the domain, reading the site, reviewing and signing the facts, putting the signed copy on the site and checking it, and answers the one next call to make: next_action names the tool and its arguments. Each answer reflects the steps already done. A step only a person may take answers its trooth.co page.

Parametersdomaintrooth_id

trooth_hub_sync

Send the signed facts to one listing hub

For one hub (business_profile or merchant_center): previews what the signed facts change there, then, with approve true, sends those items, then checks the hub against the signed copy. Each call does the next of preview, send and check and answers next_action. Sending waits for a person's approval where the key needs one.

Parametershubrequiredrun_idapprovetrooth_ididempotency_key

enable_toolset

Show one more group of tools

Adds one toolset to what tools/list shows for this sign-in or key: developer (Developer), team (Team and governance), commerce (Commerce), reports (Reports), evidence (Evidence and monitoring), semanto_more (Semanto, every tool). Answers the group's tools. Every tool already answers by name; this only changes the list.

Parameterstoolsetrequired

search_tools

Find a tool by what it does

Searches every tool on this server, shown or not, by name, title and description, and answers the best matches with their toolset and input schema. Each match answers by name.

Parameterslimitqueryrequired

call_tool

Run any tool on this server by name

Runs one tool by its name with its arguments, exactly as calling it directly does: the same sign-in, scopes and approvals. Use it for a tool search_tools or enable_toolset named that your client does not list.

Parametersnamerequiredarguments

trooth_ai_data_use_disclosures

Read a company's published AI and data-use declarations

Read what one company on the Trooth Network has declared about AI and customer data (whether it trains models on customer data, whether AI is in the product, which approaches), named by its domain or its Trooth slug, matched exactly. Each row is the company's own declaration and is labeled so, with whether Trooth observed a supporting policy clause: not observed means Trooth has not read one, never that the company does not train on customer data. Read only.

Parameterscompanyrequired

trooth_ask

Ask about Trooth (the Trooth Network, what a record carries, pricing, methodology)

Answer a question about Trooth itself (what the Trooth Network is, what one company record carries, pricing, how witnessing works) from Trooth's fixed, curated knowledge base; takes one question of at most 500 characters. Makes no outside request. A question the knowledge base does not cover returns out_of_scope; for a company's record use trooth_public_trust_profile.

Parametersquestionrequired

trooth_company_changes

Read how a company's record changed

List how one company's published record changed: give its domain or slug and, optionally, since (an ISO 8601 date or time). Returns record versions oldest first, each with the fact keys changed, added or removed, per-fact edits (old value, new value, time, role) when the record carries them, with next_cursor for more, and the recalls the company stored or changed in Semanto, oldest first, with recall_cursor to poll for newer ones. Read only.

Parameterslimitsincecursorcompanyrequiredrecall_cursor

trooth_get_fact

Read one fact or buyer question from a company's record

Read one answer from one company's published record: give the company's domain or slug and a buyer question ID (q_ai_training and eleven more, in trooth://buyer-questions) or a fact ID such as security.mfa_methods. Returns the sentence, value, provenance word, date, freshness window and anchor address, or the negative that applies: no, not_published or not_read. A fact ID the record does not hold answers unknown_fact_id with the IDs it holds. Read only.

Parametersfactcompanyrequiredquestion

trooth_list_companies

List companies on the Trooth Network by published facts

List the companies published on the Trooth Network by what they published: industry, data region, witnessed or not, and claimed (the company published its own profile) or unclaimed. Returns 20 entries per page in alphabetical order of record identifier with next_cursor (limit takes 1 to 200), from the first 100 matches the directory returns, so at most 100 come back; nothing is weighed or put in an order of merit. Read only.

Parameterslimitcursorclaimedindustrywitnesseddata_region

trooth_my_company_record

Read your own workspace's company record

Needs an OAuth access token for this server, for a person who has signed in to trooth.co (no scope is required; the public tools here need no token, and an agent key is not accepted), and takes no arguments: the workspace comes from the token's subject and never from an argument. Reads the company record of the Trooth workspace the signed-in person belongs to and returns its name, its slug and the address of its public page. Read only.

Takes no parameters.

trooth_outside_in_read

Live read of a domain's HTTPS and response headers

Fetch https://<domain>/ and /.well-known/security.txt once, when called, from Trooth's server and report whether HTTPS answered, which of five response headers (HSTS, CSP, nosniff, frame protection, referrer policy) are present, and whether security.txt is published, absent or unread. IP literals and names resolving to private, loopback or link-local addresses are refused; redirects are reported, not followed; each request stops after 4 seconds. Observations, not witnessed evidence, not a grade.

Parametersdomainrequired

trooth_profile_checklist

List what is left before your Trust Profile is published

Uses your trooth.co sign-in (or an agent key with profile:read). Takes only workspace, when you belong to several. Lists the steps left before the workspace's Trust Profile can be published, each with state done, todo or unknown and how to do it. A step that is the owner's own choice carries action_url, the trooth.co page where the owner takes it. Read only.

Parametersworkspace

trooth_profile_diff

Show where your Trust Profile draft and published page differ

Uses your trooth.co sign-in (or an agent key with profile:read). Takes only workspace, when you belong to several. Lists, field by field, where the saved Trust Profile draft and what the public page says now differ: each such field, by JSON Pointer, with change added, removed or changed and both values. A profile never published shows every field as added. Read only.

Parametersworkspace

trooth_profile_domain_check

Check your company's domain proof

Checks DNS now for the TXT record trooth_profile_domain_start gave. Uses your sign-in as owner or admin (or an agent key with profile:publish). Takes domain, and workspace when you belong to several. Returns confirmed true, or confirmed false with found (the TXT values at the record's name), expected (the value it must carry), host and dns_host (where the domain's DNS is managed), and the fix; DNS can take minutes, so check again. Once confirmed, trooth_profile_publish can put the page live.

Parametersdomainrequiredworkspace

trooth_profile_domain_start

Start proving your company's domain

Starts the proof that the workspace controls its company's domain. Uses your sign-in as owner or admin (or an agent key with profile:publish). Takes domain, and workspace when you belong to several; it states you act for someone authorized to represent the company. Returns the DNS TXT record (host, value) to add with the DNS host's own API. trooth_profile_domain_check confirms it. Refusals carry code and fix.

Parametersdomainrequiredworkspace

trooth_profile_get

Read your Trust Profile draft

Uses your trooth.co sign-in (or, for an agent that runs on its own, the workspace's agent key with profile:read). Takes fields, and workspace when you belong to several. Returns the workspace's own Trust Profile DRAFT as saved now, its revision (send it as if_match to trooth_profile_update), whether it is published, and its public address. fields narrows the draft to the keys or JSON Pointers asked for. With no sign-in: status unauthenticated and the fix. Read only.

Parametersfieldsworkspace

trooth_profile_import

Import a page of your website into your Trust Profile draft

Uses your trooth.co sign-in (or an agent key with profile:write). Reads one https page of the company's own website (robots.txt first) and returns the candidates, saving nothing; accept all or candidate ids saves them to the DRAFT with the page named. pages (up to ten of one site) reads each in turn and fills blank draft fields only, the website from the home page, each value with its page. Nothing is published. It states you may draft from those pages.

Parametersurlpagesacceptworkspace

trooth_profile_publish

Publish your Trust Profile draft

Puts the workspace's saved Trust Profile draft on its public page, which anyone can read. Uses your trooth.co sign-in if your role may publish the page (or an agent key with profile:publish). Takes only workspace, when you belong to several. Success: status published with public_url. A first publish needs the domain proved: code domain_proof_required until trooth_profile_domain_start and trooth_profile_domain_check are done. Other refusals carry their code and fix.

Parametersworkspace

trooth_profile_remediation_plan

Plan the changes that close your open checklist items

Uses your trooth.co sign-in (or an agent key with profile:read). Takes only workspace, when you belong to several. Turns each open checklist item into a step: the problem, the fix, the change or call that closes it, and the source its value needs. It proposes and never applies: every proposed value is null until you read it from that source and send it with trooth_profile_update. Read only.

Parametersworkspace

trooth_profile_update

Change fields of your Trust Profile draft

Changes fields of the workspace's own Trust Profile DRAFT; the public page changes only on trooth_profile_publish. Uses your trooth.co sign-in if your role may edit the page (or an agent key with profile:write). Each change names one field by JSON Pointer (/tagline, /founders/-) with a value and its source { url, quote } from the company's own page, or state not_published with a reason. Returns each change as applied or rejected (with code and fix) and the new revision.

Parametersfieldschangesrequireddry_runif_matchworkspaceidempotency_keyexpected_revision

trooth_profile_validate

Check changes and the publish rules without saving

Uses your trooth.co sign-in (or an agent key with profile:read). Takes changes (optional, as trooth_profile_update takes them), expected_revision and workspace. Runs the checks of trooth_profile_update with dry_run and of a publish (name, domain proof, transcripts, agent publishing permission, instructions to a model) and saves nothing. Returns each check with its code and fix, and would_publish. Read only.

Parameterschangesworkspaceexpected_revision

trooth_public_trust_profile

Read a company's complete Trust Profile

Read one company's published record on the Trooth Network, given its domain or Trooth slug, matched exactly, never by a similar name; a name several companies share returns their candidates, not a pick. Returns a status and a provenance label with the complete Trust Profile (detail full, the default) or a short answer (detail summary, the better first call). A record is keyed by its domain and does not by itself say which legal entity, subsidiary or product the domain belongs to. Read only.

Parametersdetailcompanyrequiredsections

trooth_resolve_company

Find a company's Trooth Network record

Find the published Trooth Network record for a company given a domain, web address, Trooth slug or name; a company-register identifier, Crunchbase address or Wikidata ID is accepted and answered not_found, because Trooth keeps no lookup by them. Returns the record ID, its canonical https address and why it matched, or every candidate with why each matched (status ambiguous, none chosen), or not_found. Read only.

Parameterskindidentifierrequired

trooth_search_companies

Search the Trooth Network for companies

Search the companies published on the Trooth Network by name, domain, tagline or category, optionally within one industry. Returns up to 10 entries per page (limit takes 1 to 200) in slug order with next_cursor; only the first 100 matches are read, so at most 100 come back, each with its name and tagline in the company's own words, whether Trooth witnessed it, and the identifier that reads its record with trooth_public_trust_profile. Read only.

Parameterslimitqueryrequiredcursorindustry

trooth_verify

Check the signatures on a Trust Ledger Token

Check the two signatures on a Trust Ledger Token (tlt2. or tlt. form, or its JTI) against Trooth's own token ledger. A Trust Ledger Token is a signed token a company issues through Trooth about its own declared claims: the company signs the claims and Trooth signs the event of issuing it. Returns valid, invalid (a signature does not check out), expired or revoked, or unclaimed when no token matches; Trooth's signature covers the signing event, not the claim bytes and not the truth of the claims.

Parameterstokenrequired

semanto_status

Setup status and next step

Setup status and next step. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_guide

How to finish setup

What Semanto is and the order an agent runs it in, with which steps need the person. Read it once before running setup for someone. No key needed.

Takes no parameters.

semanto_setup_read_again

Read the website again

Read the website again. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_setup_choose

Choose Basic or the full signed copy

Choose Basic or the full signed copy. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_review_get

The facts to review

The facts to review. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_setup_confirm

Confirm the reviewed version

Confirm the reviewed version. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_sign

Sign and publish

Sign and publish. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_pages_changed

Pages changed since the read

Pages changed since the read. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_install_guide

How to put it on the site

How to put it on the site. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_install_check

Check my site

Check my site. Sign in to Trooth, or send an agent key, to see what it takes and to use it.

Takes no parameters.

semanto_page

Read one signed page

One page of a company's signed copy as markdown, by its path on the company's site. No key needed.

Parameterspathrequiredtrooth_idrequired

semanto_facts

A company's signed facts

The company's signed facts as JSON-LD. No key needed.

Parameterstrooth_idrequired

semanto_verify

Check a signed URL

Checks a page against the current signed version. With no hash, Trooth fetches the page as an agent does (Accept: text/markdown) and hashes what it is served, which is what semanto_install_check checks too; compared says which. When the live HTML changed after the last signature, the site serves the last signed bytes under a behind notice; the notice is stripped before hashing and served_state says behind. status: matches, differs (hash is what was found, signed_hash what was signed), not_served (the page did not answer with markdown), unknown_url or not_signed. No key needed.

Parametersurlrequiredhash

Version history

5
  1. v1.2.0LatestNov 11, 2026
  2. v1.1.7Oct 16, 2026
  3. v1.1.6Oct 15, 2026
  4. v1.1.5Oct 6, 2026
  5. v1.1.4Sep 26, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Trooth integrations