Trooth
Qué hace este MCP
Reads company trust profiles, checks selected website security signals, and verifies Trooth trust-token signatures.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'maxLength': 500, 'description': 'A question about Trooth'}}}
Esquema de salida
{'type': 'object', 'required': ['status', 'provenance', 'subject', 'summary', 'answered_at', 'source'], 'properties': {'source': {'type': 'object', 'required': ['name', 'version', 'as_of'], 'properties': {'name': {'type': 'string', 'description': 'The source read: the published record contract on trooth.co, the Trooth Network directory, a live read of the domain, the Trust Ledger, the capability registry or the knowledge base.'}, 'as_of': {'type': ['string', 'null'], 'description': "The date the source carries for this answer: last witnessed, last read, the token's issue date, the entry's check date. Null when it carries none."}, 'version': {'type': ['string', 'null'], 'description': "The source's version: the record contract, the registry or corpus version, or null when the source has none."}}, 'description': 'What this answer was read from, which version of it, and the date that source itself carries. as_of is null when the source carries no date, never a guessed one.'}, 'status': {'enum': ['published', 'listed', 'unclaimed', 'private', 'observed', 'valid', 'invalid', 'expired', 'revoked', 'answered', 'out_of_scope', 'bad_input', 'unavailable'], 'type': 'string', 'description': 'Machine-branchable outcome for this lookup.'}, 'subject': {'type': 'string', 'maxLength': 2048, 'description': 'The company, domain or token this answer is about.'}, 'summary': {'type': 'string', 'maxLength': 8000, 'description': 'The same answer as the text content, for display. Bounded; a longer answer is cut and says where the rest is.'}, 'evidence': {'type': 'object', 'properties': {'counts': {'type': ['object', 'null'], 'properties': {'read': {'type': 'integer'}, 'source': {'enum': ['witness_statement', 'result_tally'], 'type': 'string'}, 'not_read': {'type': ['integer', 'null']}, 'in_reading': {'type': ['integer', 'null']}, 'as_expected': {'type': 'integer'}}, 'description': "The reading's counts, from the source named. witness_statement: read, as expected and not read in this reading. result_tally: an older reading's own tally, not a count of checks read."}, 'schema': {'type': 'string'}, 'omitted': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What the summary leaves out. Every item is in full_record.'}, 'full_record': {'type': 'string', 'description': 'The canonical record as JSON, contract 2, with every typed fact, its provenance and its date where known.'}, 'last_witnessed': {'type': ['string', 'null']}, 'profile_signed': {'type': 'boolean', 'description': 'Always false. The profile is not signed.'}, 'facts_published': {'type': ['integer', 'null']}, 'signed_artifact': {'type': ['object', 'null'], 'properties': {'type': {'type': 'string'}, 'covers': {'type': 'string'}, 'key_id': {'type': 'string'}, 'verify': {'type': 'string'}, 'read_at': {'type': ['string', 'null']}}, 'description': 'The one signed object behind this answer, or null when the reading carries none. It is served, byte for byte as signed, in the witnessStatement field of full_record.'}}, 'description': 'Present on a published profile. What this answer is built from, what it leaves out, and where to get the rest. The summary is a summary: the typed facts with their provenance are in the record at full_record.'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'checked'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'string'}, 'checked': {'type': 'string'}}}, 'description': 'trooth_ask only: the entries the answer was taken from, each with where it comes from and the date it was last checked or changed.'}, 'claim_url': {'type': 'string', 'description': 'Present when the subject has no published record (unclaimed or private).'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'domain', 'select'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'domain': {'type': ['string', 'null']}, 'select': {'type': 'string'}}}, 'description': "trooth_public_trust_profile only, with status bad_input: a name several published companies share. No company was chosen; each entry's select is the exact identifier that reads that one company."}, 'provenance': {'enum': ['witnessed_reading', 'connected_system_reads', 'ledger_token_signatures', 'witnessed_signed', 'signed_scan', 'live_observation', 'honest_absence', 'withheld_by_owner', 'knowledge_base', 'input_error', 'self_declared', 'read_failed'], 'type': 'string', 'description': "Where this answer came from. An honest_absence is missing data, never a judgment about the subject. A read_failed means Trooth could not read its own record at this moment and asserts nothing either way; retry rather than concluding. witnessed_reading: a published profile whose reading Trooth witnessed; the profile is not signed, and the one signed object is the reading's witness statement (see evidence.signed_artifact). connected_system_reads: read from systems the company connected. ledger_token_signatures: the result of checking a Trust Ledger Token's two signatures; the claims inside it stay the company's. witnessed_signed is DEPRECATED since 2026-09-26 and no longer returned; it meant any of the three above."}, 'answered_at': {'type': 'string', 'format': 'date-time', 'description': 'When this server produced this answer (UTC, ISO 8601). It is not the date of the facts: that is source.as_of.'}}, 'description': 'The typed form of every answer a tool completes. A call that fails partway answers isError: true with text only and no structured record.'}
Esquema de entrada
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 2048, 'description': 'Domain to read, e.g. example.com'}}}
Esquema de salida
{'type': 'object', 'required': ['status', 'provenance', 'subject', 'summary', 'answered_at', 'source'], 'properties': {'source': {'type': 'object', 'required': ['name', 'version', 'as_of'], 'properties': {'name': {'type': 'string', 'description': 'The source read: the published record contract on trooth.co, the Trooth Network directory, a live read of the domain, the Trust Ledger, the capability registry or the knowledge base.'}, 'as_of': {'type': ['string', 'null'], 'description': "The date the source carries for this answer: last witnessed, last read, the token's issue date, the entry's check date. Null when it carries none."}, 'version': {'type': ['string', 'null'], 'description': "The source's version: the record contract, the registry or corpus version, or null when the source has none."}}, 'description': 'What this answer was read from, which version of it, and the date that source itself carries. as_of is null when the source carries no date, never a guessed one.'}, 'status': {'enum': ['published', 'listed', 'unclaimed', 'private', 'observed', 'valid', 'invalid', 'expired', 'revoked', 'answered', 'out_of_scope', 'bad_input', 'unavailable'], 'type': 'string', 'description': 'Machine-branchable outcome for this lookup.'}, 'subject': {'type': 'string', 'maxLength': 2048, 'description': 'The company, domain or token this answer is about.'}, 'summary': {'type': 'string', 'maxLength': 8000, 'description': 'The same answer as the text content, for display. Bounded; a longer answer is cut and says where the rest is.'}, 'evidence': {'type': 'object', 'properties': {'counts': {'type': ['object', 'null'], 'properties': {'read': {'type': 'integer'}, 'source': {'enum': ['witness_statement', 'result_tally'], 'type': 'string'}, 'not_read': {'type': ['integer', 'null']}, 'in_reading': {'type': ['integer', 'null']}, 'as_expected': {'type': 'integer'}}, 'description': "The reading's counts, from the source named. witness_statement: read, as expected and not read in this reading. result_tally: an older reading's own tally, not a count of checks read."}, 'schema': {'type': 'string'}, 'omitted': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What the summary leaves out. Every item is in full_record.'}, 'full_record': {'type': 'string', 'description': 'The canonical record as JSON, contract 2, with every typed fact, its provenance and its date where known.'}, 'last_witnessed': {'type': ['string', 'null']}, 'profile_signed': {'type': 'boolean', 'description': 'Always false. The profile is not signed.'}, 'facts_published': {'type': ['integer', 'null']}, 'signed_artifact': {'type': ['object', 'null'], 'properties': {'type': {'type': 'string'}, 'covers': {'type': 'string'}, 'key_id': {'type': 'string'}, 'verify': {'type': 'string'}, 'read_at': {'type': ['string', 'null']}}, 'description': 'The one signed object behind this answer, or null when the reading carries none. It is served, byte for byte as signed, in the witnessStatement field of full_record.'}}, 'description': 'Present on a published profile. What this answer is built from, what it leaves out, and where to get the rest. The summary is a summary: the typed facts with their provenance are in the record at full_record.'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'checked'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'string'}, 'checked': {'type': 'string'}}}, 'description': 'trooth_ask only: the entries the answer was taken from, each with where it comes from and the date it was last checked or changed.'}, 'claim_url': {'type': 'string', 'description': 'Present when the subject has no published record (unclaimed or private).'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'domain', 'select'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'domain': {'type': ['string', 'null']}, 'select': {'type': 'string'}}}, 'description': "trooth_public_trust_profile only, with status bad_input: a name several published companies share. No company was chosen; each entry's select is the exact identifier that reads that one company."}, 'provenance': {'enum': ['witnessed_reading', 'connected_system_reads', 'ledger_token_signatures', 'witnessed_signed', 'signed_scan', 'live_observation', 'honest_absence', 'withheld_by_owner', 'knowledge_base', 'input_error', 'self_declared', 'read_failed'], 'type': 'string', 'description': "Where this answer came from. An honest_absence is missing data, never a judgment about the subject. A read_failed means Trooth could not read its own record at this moment and asserts nothing either way; retry rather than concluding. witnessed_reading: a published profile whose reading Trooth witnessed; the profile is not signed, and the one signed object is the reading's witness statement (see evidence.signed_artifact). connected_system_reads: read from systems the company connected. ledger_token_signatures: the result of checking a Trust Ledger Token's two signatures; the claims inside it stay the company's. witnessed_signed is DEPRECATED since 2026-09-26 and no longer returned; it meant any of the three above."}, 'answered_at': {'type': 'string', 'format': 'date-time', 'description': 'When this server produced this answer (UTC, ISO 8601). It is not the date of the facts: that is source.as_of.'}}, 'description': 'The typed form of every answer a tool completes. A call that fails partway answers isError: true with text only and no structured record.'}
Esquema de entrada
{'type': 'object', 'required': ['company'], 'properties': {'company': {'type': 'string', 'maxLength': 2048, 'description': 'Company domain (e.g. acme.com) or Trooth slug'}}}
Esquema de salida
{'type': 'object', 'required': ['status', 'provenance', 'subject', 'summary', 'answered_at', 'source'], 'properties': {'source': {'type': 'object', 'required': ['name', 'version', 'as_of'], 'properties': {'name': {'type': 'string', 'description': 'The source read: the published record contract on trooth.co, the Trooth Network directory, a live read of the domain, the Trust Ledger, the capability registry or the knowledge base.'}, 'as_of': {'type': ['string', 'null'], 'description': "The date the source carries for this answer: last witnessed, last read, the token's issue date, the entry's check date. Null when it carries none."}, 'version': {'type': ['string', 'null'], 'description': "The source's version: the record contract, the registry or corpus version, or null when the source has none."}}, 'description': 'What this answer was read from, which version of it, and the date that source itself carries. as_of is null when the source carries no date, never a guessed one.'}, 'status': {'enum': ['published', 'listed', 'unclaimed', 'private', 'observed', 'valid', 'invalid', 'expired', 'revoked', 'answered', 'out_of_scope', 'bad_input', 'unavailable'], 'type': 'string', 'description': 'Machine-branchable outcome for this lookup.'}, 'subject': {'type': 'string', 'maxLength': 2048, 'description': 'The company, domain or token this answer is about.'}, 'summary': {'type': 'string', 'maxLength': 8000, 'description': 'The same answer as the text content, for display. Bounded; a longer answer is cut and says where the rest is.'}, 'evidence': {'type': 'object', 'properties': {'counts': {'type': ['object', 'null'], 'properties': {'read': {'type': 'integer'}, 'source': {'enum': ['witness_statement', 'result_tally'], 'type': 'string'}, 'not_read': {'type': ['integer', 'null']}, 'in_reading': {'type': ['integer', 'null']}, 'as_expected': {'type': 'integer'}}, 'description': "The reading's counts, from the source named. witness_statement: read, as expected and not read in this reading. result_tally: an older reading's own tally, not a count of checks read."}, 'schema': {'type': 'string'}, 'omitted': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What the summary leaves out. Every item is in full_record.'}, 'full_record': {'type': 'string', 'description': 'The canonical record as JSON, contract 2, with every typed fact, its provenance and its date where known.'}, 'last_witnessed': {'type': ['string', 'null']}, 'profile_signed': {'type': 'boolean', 'description': 'Always false. The profile is not signed.'}, 'facts_published': {'type': ['integer', 'null']}, 'signed_artifact': {'type': ['object', 'null'], 'properties': {'type': {'type': 'string'}, 'covers': {'type': 'string'}, 'key_id': {'type': 'string'}, 'verify': {'type': 'string'}, 'read_at': {'type': ['string', 'null']}}, 'description': 'The one signed object behind this answer, or null when the reading carries none. It is served, byte for byte as signed, in the witnessStatement field of full_record.'}}, 'description': 'Present on a published profile. What this answer is built from, what it leaves out, and where to get the rest. The summary is a summary: the typed facts with their provenance are in the record at full_record.'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'checked'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'string'}, 'checked': {'type': 'string'}}}, 'description': 'trooth_ask only: the entries the answer was taken from, each with where it comes from and the date it was last checked or changed.'}, 'claim_url': {'type': 'string', 'description': 'Present when the subject has no published record (unclaimed or private).'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'domain', 'select'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'domain': {'type': ['string', 'null']}, 'select': {'type': 'string'}}}, 'description': "trooth_public_trust_profile only, with status bad_input: a name several published companies share. No company was chosen; each entry's select is the exact identifier that reads that one company."}, 'provenance': {'enum': ['witnessed_reading', 'connected_system_reads', 'ledger_token_signatures', 'witnessed_signed', 'signed_scan', 'live_observation', 'honest_absence', 'withheld_by_owner', 'knowledge_base', 'input_error', 'self_declared', 'read_failed'], 'type': 'string', 'description': "Where this answer came from. An honest_absence is missing data, never a judgment about the subject. A read_failed means Trooth could not read its own record at this moment and asserts nothing either way; retry rather than concluding. witnessed_reading: a published profile whose reading Trooth witnessed; the profile is not signed, and the one signed object is the reading's witness statement (see evidence.signed_artifact). connected_system_reads: read from systems the company connected. ledger_token_signatures: the result of checking a Trust Ledger Token's two signatures; the claims inside it stay the company's. witnessed_signed is DEPRECATED since 2026-09-26 and no longer returned; it meant any of the three above."}, 'answered_at': {'type': 'string', 'format': 'date-time', 'description': 'When this server produced this answer (UTC, ISO 8601). It is not the date of the facts: that is source.as_of.'}}, 'description': 'The typed form of every answer a tool completes. A call that fails partway answers isError: true with text only and no structured record.'}
Esquema de entrada
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'maxLength': 16384, 'description': 'A Trust Ledger Token (tlt2. or tlt. form) or its JTI'}}}
Esquema de salida
{'type': 'object', 'required': ['status', 'provenance', 'subject', 'summary', 'answered_at', 'source'], 'properties': {'source': {'type': 'object', 'required': ['name', 'version', 'as_of'], 'properties': {'name': {'type': 'string', 'description': 'The source read: the published record contract on trooth.co, the Trooth Network directory, a live read of the domain, the Trust Ledger, the capability registry or the knowledge base.'}, 'as_of': {'type': ['string', 'null'], 'description': "The date the source carries for this answer: last witnessed, last read, the token's issue date, the entry's check date. Null when it carries none."}, 'version': {'type': ['string', 'null'], 'description': "The source's version: the record contract, the registry or corpus version, or null when the source has none."}}, 'description': 'What this answer was read from, which version of it, and the date that source itself carries. as_of is null when the source carries no date, never a guessed one.'}, 'status': {'enum': ['published', 'listed', 'unclaimed', 'private', 'observed', 'valid', 'invalid', 'expired', 'revoked', 'answered', 'out_of_scope', 'bad_input', 'unavailable'], 'type': 'string', 'description': 'Machine-branchable outcome for this lookup.'}, 'subject': {'type': 'string', 'maxLength': 2048, 'description': 'The company, domain or token this answer is about.'}, 'summary': {'type': 'string', 'maxLength': 8000, 'description': 'The same answer as the text content, for display. Bounded; a longer answer is cut and says where the rest is.'}, 'evidence': {'type': 'object', 'properties': {'counts': {'type': ['object', 'null'], 'properties': {'read': {'type': 'integer'}, 'source': {'enum': ['witness_statement', 'result_tally'], 'type': 'string'}, 'not_read': {'type': ['integer', 'null']}, 'in_reading': {'type': ['integer', 'null']}, 'as_expected': {'type': 'integer'}}, 'description': "The reading's counts, from the source named. witness_statement: read, as expected and not read in this reading. result_tally: an older reading's own tally, not a count of checks read."}, 'schema': {'type': 'string'}, 'omitted': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What the summary leaves out. Every item is in full_record.'}, 'full_record': {'type': 'string', 'description': 'The canonical record as JSON, contract 2, with every typed fact, its provenance and its date where known.'}, 'last_witnessed': {'type': ['string', 'null']}, 'profile_signed': {'type': 'boolean', 'description': 'Always false. The profile is not signed.'}, 'facts_published': {'type': ['integer', 'null']}, 'signed_artifact': {'type': ['object', 'null'], 'properties': {'type': {'type': 'string'}, 'covers': {'type': 'string'}, 'key_id': {'type': 'string'}, 'verify': {'type': 'string'}, 'read_at': {'type': ['string', 'null']}}, 'description': 'The one signed object behind this answer, or null when the reading carries none. It is served, byte for byte as signed, in the witnessStatement field of full_record.'}}, 'description': 'Present on a published profile. What this answer is built from, what it leaves out, and where to get the rest. The summary is a summary: the typed facts with their provenance are in the record at full_record.'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'checked'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'string'}, 'checked': {'type': 'string'}}}, 'description': 'trooth_ask only: the entries the answer was taken from, each with where it comes from and the date it was last checked or changed.'}, 'claim_url': {'type': 'string', 'description': 'Present when the subject has no published record (unclaimed or private).'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'domain', 'select'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'domain': {'type': ['string', 'null']}, 'select': {'type': 'string'}}}, 'description': "trooth_public_trust_profile only, with status bad_input: a name several published companies share. No company was chosen; each entry's select is the exact identifier that reads that one company."}, 'provenance': {'enum': ['witnessed_reading', 'connected_system_reads', 'ledger_token_signatures', 'witnessed_signed', 'signed_scan', 'live_observation', 'honest_absence', 'withheld_by_owner', 'knowledge_base', 'input_error', 'self_declared', 'read_failed'], 'type': 'string', 'description': "Where this answer came from. An honest_absence is missing data, never a judgment about the subject. A read_failed means Trooth could not read its own record at this moment and asserts nothing either way; retry rather than concluding. witnessed_reading: a published profile whose reading Trooth witnessed; the profile is not signed, and the one signed object is the reading's witness statement (see evidence.signed_artifact). connected_system_reads: read from systems the company connected. ledger_token_signatures: the result of checking a Trust Ledger Token's two signatures; the claims inside it stay the company's. witnessed_signed is DEPRECATED since 2026-09-26 and no longer returned; it meant any of the three above."}, 'answered_at': {'type': 'string', 'format': 'date-time', 'description': 'When this server produced this answer (UTC, ISO 8601). It is not the date of the facts: that is source.as_of.'}}, 'description': 'The typed form of every answer a tool completes. A call that fails partway answers isError: true with text only and no structured record.'}
Cambios recientes en herramientas
Servidores MCP similares
osint-terminal
Provides keyless OSINT and reconnaissance tools for domains, DNS, IPs, breach exposure, threat intelligence, and related lookups.
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
BorealHost
Provides web hosting and infrastructure management, including site deployment, DNS, domains, containers, compute, backups, cachin…
Proof Holdings
Provides domain verification, identity and delegation proofs, human approval workflows, trusted-contact challenges, and controlle…
GoCreative Agent API
Offers pay-per-call LLM completions and data services for company intelligence, KYB, sanctions screening, threat intelligence, co…
Japan Public Ledgers MCP
Provides agent identity, memory, audit, trust, proxy, temporary email, webhook, CAPTCHA, and alerting capabilities alongside publ…