Crovia — verifiable silence (TACET) and Crovia Seal
Server Details
Signed, Bitcoin-anchored observations of AI training-data disclosure; verifies silence proofs, seals
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- croviatrust/countersign
- GitHub Stars
- 0
TDQS
Scored across 8 tools
crovia_status and silence_report both return overlapping aggregate counts (epochs, anchors, snapshots, proofs), which could cause misselection. Similarly, lookup_model already returns a model's published silence proof, making get_silence_proof partially redundant. Other tools are more distinct.
Most tools use snake_case, but the naming pattern is mixed: two tools carry a crovia_ prefix (crovia_status, crovia_vs_causari), while others are bare verb_noun (get_silence_proof, lookup_model, verify_seal), one is a bare verb (explain), and one is a noun_noun compound (silence_report). This is readable but not a consistent scheme.
Eight tools is well-scoped for a specialized verification/observatory server. Each tool serves a distinct functional role: status, search, lookup, proof retrieval, verification, reporting, explanation, and disambiguation.
The server covers the core read and verify operations for models, proofs, and reports. A minor gap is the lack of a general list-all-models endpoint (search_models requires a substring), but the rest of the domain—status, report, proof, seal verification, and explanation—is well covered.
Available Tools
8 toolscrovia_statusLive TACET totalsAInspect
Live totals of Crovia's TACET log: epochs closed and anchored in Bitcoin, models on the map, negative snapshots, signed silence proofs, the longest verifiable silence and the latest weekly Silence Report. Every figure with its source URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose that figures are live and that every figure has a source URL, which is useful, but it does not disclose freshness, caching behavior, response format, or whether any call has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that moves from the core purpose to a compact list of included metrics. Every phrase adds information, and there is no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter status tool, the description gives enough content detail and even promises source URLs for every figure, making invocation straightforward. It does not explain each metric's semantics, but that is secondary for a read-only status summary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers the input contract. The description appropriately adds no parameter-specific detail because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a source of live aggregate totals for the TACET log and enumerates specific metrics, so an agent can tell it is an overview/dashboard. However, it does not explicitly contrast itself with close siblings like silence_report, which also covers reporting-related content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than explicit: an agent can infer this is for current high-level totals, but the description gives no when-to-use or when-not-to-use guidance. Since the tool mentions the latest weekly Silence Report and a sibling named silence_report exists, the lack of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crovia_vs_causariCrovia vs CausariBInspect
Disambiguate Crovia (AI training-data disclosure observatory) from Causari (code-provenance developer tool).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals only that the tool disambiguates the two terms, but it does not state whether the operation is read-only, what output is produced, how the disambiguation is presented, or any side effects. This is a minimal disclosure for a tool with no structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and subject, with parenthetical definitions that add value without clutter. There is no wasted wording or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description defines both entities and states the disambiguation intent, which is useful context for a no-parameter tool. However, it omits what the agent should expect from the call (e.g., a textual explanation, a classification result) and gives no usage guidance relative to sibling tools. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so per the rubric the baseline is 4. The description adds no parameter information, but none is needed; parameter semantics are not applicable here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Disambiguate') with two clearly named resources (Crovia and Causari), each briefly defined in parentheses. This distinguishes the tool from siblings even though the output form ('what does disambiguation return?') is not specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to call this tool versus any of the siblings (e.g., crovia_status, explain, lookup_model). The description simply states the tool's purpose without exclusions, alternatives, or trigger conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explainDefinitionsAInspect
Canonical definitions of Crovia terms: tacet, silence, lacuna, seal, epoch, pnx, predicate, canon. Without a term, returns all.
| Name | Required | Description | Default |
|---|---|---|---|
| term | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does state that omitting the term returns all definitions, which is a useful behavior. However, it does not mention read-only semantics, potential errors, or response format. For a simple lookup, this partial disclosure earns a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that leads with the core purpose and then lists the specific terms. There is no wasted wording, and the no-term behavior is clearly stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter, no output schema). The description covers the core behavior and term list but omits the return structure (e.g., whether it returns a list or map, how definitions are formatted). Since there is no output schema, this information should be in the description, so completeness is only partial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a generic 'term' string with no description or enums (0% coverage). The description compensates by listing the accepted term values and clarifying the optionality (returns all if omitted). This adds substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool provides canonical definitions for a specific list of Crovia terms (tacet, silence, lacuna, seal, epoch, pnx, predicate, canon) and that it returns all when no term is given. This is a clear verb-resource mapping and distinguishes it from sibling tools like crovia_status or verify_seal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus its siblings. It does not mention alternatives, exclusions, or the appropriate context for querying definitions. The usage is only implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_silence_proofGet a silence proofAInspect
The published TACET silence proof for a model (or the index of all proofs): silence_days, observed window, epochs, seal id, URL, and how to verify it in the browser, in Python, or with verify_seal. Set include_bundle=true to receive the full crovia.seal.v1 bundle.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| include_bundle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does a good job: it discloses the returned fields, the index-of-all-proofs behavior when no model is specified, the effect of include_bundle, and how verification can be performed. It stops short of covering edge cases like missing proofs or errors, but the core behavior is well described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the resource and then lists returned content, the optional bundle toggle, and verification methods. There is no filler, and every clause adds useful information, though the long sentence could be split for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two optional parameters and no output schema, the description covers the main input semantics, the return contents, and how to verify results. The only notable gap is what happens when no proof exists or the model is not found, but the overall guidance is sufficient for correct invocation in common cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clearly explains include_bundle=true and implies that model selects a specific model or the index of all proofs. However, it does not describe the expected format or valid values for the model parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title establish that this is a retrieval operation, and the description specifies the exact resource: the published TACET silence proof for a model, or the index of all proofs. It is clear and specific about the resource, though it does not explicitly differentiate it from sibling tools such as silence_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by describing what it returns, and it gives conditional guidance for include_bundle=true. It also mentions verify_seal as an alternative verification path, but does not explicitly state when to prefer this tool versus verify_seal or silence_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_modelLook up a modelAInspect
What Crovia has observed about one AI model (Hugging Face id, e.g. 'Qwen/Qwen3-32B'): latest verdict on the monitored surface, negative snapshots and how many are Bitcoin-anchored, the published silence proof if any, the 2026-archive silence, badge and record URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Hugging Face model id, org/name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It lists what data is returned (verdict, snapshots, proof, URLs), implying a read-only lookup, but does not disclose error behavior, permissions, or any side effects. It gives a solid overview but stops short of fully transparent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the purpose and lists the returned items. It is not overly verbose, though the run-on structure slightly hampers scannability. Every clause adds content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the returned data comprehensively. It lists all key output components, though it does not explain domain-specific terms like 'negative snapshots' or 'Bitcoin-anchored' – these may be understood from context or require additional tools. Overall adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds a concrete example ('Qwen/Qwen3-32B') and explains the format as 'Hugging Face id', reinforcing the schema's 'org/name' hint. This extra context nudges it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns observed data about a single AI model, specifying the exact data items (verdict, snapshots, proof, etc.). It distinguishes itself from siblings like search_models (which searches) and get_silence_proof (which retrieves a specific proof) by focusing on a single model's full observed profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: you have a model id and want its observed details. There is no explicit guidance on when to use this vs. alternatives, nor any when-not-to-use conditions. It could have mentioned that search_models is for finding models, but it doesn't. The context is clear enough to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_modelsSearch observed modelsBInspect
Find observed models by substring of their id (e.g. 'mistral'). Returns id, live status, last result and record URL.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose the return shape ('id, live status, last result and record URL'), which is useful and implies a read-only search operation. However, it does not mention pagination, limit behavior, authentication, or what happens when no matches are found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the core purpose, gives a concrete example, and then states the expected return fields. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool, the description is largely complete: it explains what to search, how to search, and what will be returned. Minor gaps remain around the limit parameter and empty-result behavior, but these are not critical for an agent to make a first correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does clarify that 'query' is a substring of the model id with an example, which adds meaning beyond the bare schema. However, 'limit' is left entirely to the schema's min/max constraints and its name, with no description of ordering, truncation, or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Find') and resource ('observed models') with a specific matching method: substring of the id, with an example ('mistral'). It also lists the return fields, which makes the tool's role easy to grasp. However, it does not explicitly differentiate itself from the sibling lookup_model, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus lookup_model or other siblings. The substring-search behavior implies one use case, but there are no stated exclusions, alternatives, or conditions that would help an agent choose between search_models and lookup_model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
silence_reportWeekly Silence ReportAInspect
Facts of the weekly Silence Report: models observed, epochs closed and anchored, negative snapshots, proofs, longest verifiable silences. Latest week by default, or a given ISO week like '2026-W38'.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose the default behavior (latest week), the accepted week format (ISO like '2026-W38'), and the kinds of facts returned. However, it does not describe the output shape, whether the report is empty for weeks with no data, or any limits. The disclosed behavior is adequate for a simple read-only report but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core facts of the report, then provides the parameter behavior and format. Every sentence contributes necessary information, and the ISO example is compact and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single optional string parameter, no output schema, and no annotations, this description is largely complete: it lists what is returned and how to specify the week parameter. The only gap is that it does not explicitly describe the response format or behavior for an unknown week, but the listed facts largely cover the expected content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only a bare 'week' string with no description and 0% schema coverage, so the description must compensate. It does explain the parameter's semantics well: the latest week is used by default, and a specific week can be supplied in ISO format with a concrete example ('2026-W38'). This adds meaningful guidance beyond the schema, though it never names the parameter explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns the facts contained in the weekly Silence Report and enumerates the specific contents: models observed, epochs closed, negative snapshots, proofs, and longest silences. It lacks an explicit verb like 'get' or 'list,' but the resource and scope are clear. It does not explicitly distinguish itself from sibling tools, though the report-level facts set it apart from more targeted tools like get_silence_proof.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the week parameter's behavior (latest by default, or a specific ISO week), but gives no guidance on when to use this tool versus siblings such as get_silence_proof, verify_seal, or explain. There are no exclusions, prerequisites, or alternative tool routing. The usage context is implied by the report contents rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_sealVerify a seal or proofAInspect
Verify a crovia.seal.v1 object or a wrapped TACET silence proof offline: signature, canonical bytes, bindings, per-epoch non-inclusion paths. Pass the object as 'seal' or a croviatrust.com URL as 'url'. check_anchors=true also checks the drand round and the Bitcoin anchors (network).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| seal | No | ||
| check_anchors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that verification is offline by default, and that check_anchors=true additionally checks the drand round and Bitcoin anchors (network), indicating a networked operation. It also lists the specific checks performed, giving the agent a clear picture of behavior. However, it does not mention side effects (likely none) or error handling, but for a verification tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence front-loads the core purpose and verification scope, while the second provides concise input and option details. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no output schema, and no annotations, the description covers the core functionality and parameter usage well. However, it does not describe the return value or format (e.g., success/failure, verification details), which an agent might need to know for downstream handling. This minor gap keeps it from a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage, so the description must compensate. It explains the purpose of each parameter: 'seal' for the object, 'url' for a croviatrust.com URL, and 'check_anchors' as a boolean to enable additional anchor checks. This adds meaningful semantics beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Verify a crovia.seal.v1 object or a wrapped TACET silence proof offline' and enumerates the verification aspects (signature, canonical bytes, bindings, non-inclusion paths). It distinguishes itself from siblings like get_silence_proof (which likely retrieves proofs) and silence_report (which may generate reports) by focusing on offline verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit input guidance ('Pass the object as 'seal' or a croviatrust.com URL as 'url'') and explains the optional check_anchors flag. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions (e.g., when not to use it). The usage context is implied but not explicitly contrasted with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- First observed
crovia_status - First observed
crovia_vs_causari - First observed
explain - First observed
get_silence_proof - First observed
lookup_model - First observed
search_models - First observed
silence_report - First observed
verify_seal
Related MCP Connectors
Bitcoin-anchored, tamper-evident audit-permanence layer for AI agents, FRE 902(13)/(14)-shaped.
Deterministic AI liability attribution with Bitcoin-anchored proof certificates.
Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.
Deterministic AI-liability attribution: signed, Bitcoin-anchored vendor/deployer/user fault split.
Related MCP Servers
AlicenseAqualityDmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseAqualityCmaintenanceProvides cryptographic truth infrastructure for AI agents, enabling them to seal content with SHA-256 and Ed25519, verify receipts, anchor them to Bitcoin via OpenTimestamps, generate citations, and audit chains of receipts.524 npm1MIT
- AlicenseAqualityAmaintenanceCryptographic receipts for AI outputs — signed, chain-anchored, $0.001/call675 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to certify their creations with verifiable, timestamped proof anchored to Bitcoin, and to verify certificates.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.