verdigraph
Server Details
Verifiable cognition: any agent file to a deterministic content-addressed brain_id.
- Status
- Healthy
- Uptime
- 100.0% over 73 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jdhart81/viridis-agent-fleet
- GitHub Stars
- 0
- Server Listing
- viridis-agent-fleet
TDQS
Scored across 4 tools
Each tool occupies a distinct stage of a single pipeline: detect_format (pre-build inspection), build_brain (compile), verify_brain (recompute-and-compare), and describe_agent (capability discovery). No two tools could plausibly be swapped for the same task, and the descriptions explicitly state each one's role relative to the others.
All four names follow the same verb_noun snake_case pattern (build_brain, describe_agent, detect_format, verify_brain), with the object always being the brain/agent artifact. No stylistic deviations or mixed conventions.
Four tools is a tight, well-scoped set for a deterministic build-and-verify service, and each one earns its place. It is on the lean side, but nothing here looks like filler or an obvious omission within the stated purpose.
The build → verify lifecycle is fully covered, and build_brain's include_document flag avoids a dead end for graph retrieval. Minor gaps remain: no tool to fetch or list a previously built brain by brain_id, and no explicit query/inspection operation on an existing brain.
Available Tools
4 toolsbuild_brainAInspect
Compile an agent file into a deterministic, content-addressed brain. content = the file as a string; format = verdigraph_genome | claude_project_export | openai_assistant | prompt_list | auto. Returns brain_id, content_hash, node/edge counts, the 9-invariant firing report, and provenance. Identical bytes always produce the identical brain_id (VB1). include_document=true returns the full graph.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | auto | |
| content | Yes | ||
| request_id | No | ||
| include_document | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent operation; the description adds important context beyond that, notably the deterministic VB1 guarantee (identical bytes always produce the identical brain_id) and that include_document=true returns the full graph. It does not discuss cost, size limits, or whether repeated builds create new records, and the deterministic-output claim sits in mild tension with idempotentHint=false, though not as a direct contradiction.
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?
It is dense and front-loaded, leading with the core action, then parameters, then return values and the determinism guarantee. No sentence is wasted, though the mixed clause structure in the format enumeration is slightly harder to scan than a list would be.
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?
With an output schema present, the description need not enumerate return values, yet it helpfully previews brain_id, content_hash, counts, firing report, and provenance. Combined with the format enum and determinism guarantee, it is close to complete; the missing request_id semantics and any when-to-use guidance are the remaining 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?
Schema description coverage is 0%, so the description does the heavy lifting: it explains that content is the file as a string, enumerates the format values (verdigraph_genome, claude_project_export, openai_assistant, prompt_list, auto), and explains include_document. request_id is not mentioned at all, leaving one parameter undocumented.
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?
States a specific verb and resource: compiling an agent file into a deterministic, content-addressed brain, with the accepted input formats listed. It is functionally distinct from the siblings (describe_agent, detect_format, verify_brain), but it never names or contrasts them explicitly.
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 only implied by the purpose: you build a brain from a file. There is no explicit guidance on when to prefer build_brain over detect_format first, or over verify_brain for an existing brain, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_agentCRead-onlyIdempotentInspect
Return capabilities and input contract.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered externally. The description adds nothing beyond those annotations—no statement of what the output describes, whether it reflects static or runtime state, or any side considerations. With an output schema present the return shape is covered, but the description contributes no behavioral context of its own.
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 front-loaded sentence with no filler. It is perhaps too terse for the ambiguity involved, but as a matter of conciseness there is nothing to cut.
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?
Annotations and an output schema carry most of the load, and there are no parameters to explain, so the description is not dangerously incomplete. Still, for an introspection tool an agent would benefit from knowing it describes the calling agent and when to invoke it, which is missing.
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 takes zero parameters, so the baseline of 4 applies. The phrase 'input contract' loosely signals the payload describes inputs, which is consistent with the empty 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?
States a verb and a resource ('Return capabilities and input contract'), so the basic action is inferable. However, 'capabilities' and 'input contract' are abstract and it's never made explicit that this describes the calling agent itself or the server, leaving the object of the description ambiguous. Siblings (certify, green_route, etc.) are unrelated, so there is no differentiation burden, but the purpose is still only vaguely pinned down.
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?
There is no indication of when an agent should call this versus proceeding directly to the sibling tools, and no mention of prerequisites or typical triggers. The agent must guess that this is a discovery/introspection call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_formatBInspect
Detect which supported agent-file format the content is (verdigraph_genome, claude_project_export, openai_assistant, prompt_list) before building.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a pure detection/read operation, but the annotations set readOnlyHint=false, implying the tool is not read-only. That is a direct contradiction between the stated behavior and the structured safety annotation, and the description adds no other behavioral context to resolve it.
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 with no wasted words. The format list is compact and useful, and the timing cue 'before building' is placed where an agent will see it early.
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 and has an output schema, so the description need not explain return values. However, it does not compensate for the missing 'content' parameter description or address the annotation inconsistency, leaving some gaps for an agent deciding how to invoke it.
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 only parameter is 'content,' but the schema gives it 0% description coverage and the tool description does not explain what form the content should take. It only indirectly implies the content is the agent-file data to inspect, leaving format, size, and expected input representation unclear.
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 the specific verb 'Detect' and names the exact resource: the supported agent-file format of the given content. It enumerates the possible formats and adds the key sequencing context 'before building,' which clearly distinguishes it from build, describe, and verify operations.
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 phrase 'before building' gives clear usage timing relative to a build workflow, implying this should be called before build_brain. It does not state when not to use the tool or explicitly name alternatives, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_brainARead-onlyIdempotentInspect
Machine-check a cognition claim: recompute the brain from the submitted content and compare against the claimed brain_id and/or content_hash. valid=true iff every claimed identifier matches the deterministic recomputation (VB3).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | auto | |
| content | Yes | ||
| brain_id | No | ||
| content_hash | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, closed-world, non-destructive behavior. The description adds meaningful behavioral detail beyond that: it is deterministic, it recomputes the brain from content, and it defines valid=true as every claimed identifier matching the recomputation.
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 compact and front-loads the core operation before the validity rule. The unexplained 'VB3' reference is a minor distraction, but the text is otherwise efficient.
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?
An output schema exists, so return-value explanation is not required. However, for a verification tool with four parameters and zero schema coverage, the description should clarify the format parameter and what happens when neither brain_id nor content_hash is provided; it does not.
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 carry parameter meaning. It adds useful context for content, brain_id, and content_hash ('and/or' indicates optional comparison targets), but it never mentions the format parameter or its accepted/default behavior, leaving one of four parameters undocumented.
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 names a specific action (machine-check a cognition claim), the resource (brain), and the core operation (recompute from submitted content and compare claimed identifiers). It is clearly distinct from build_brain in intent, though it does not explicitly name the sibling tool.
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?
It implies usage when there is a claimed brain_id or content_hash to verify against submitted content, but it does not explicitly say when to use this instead of build_brain or what to do when no identifiers are supplied. The 'and/or' phrasing leaves the required claim context somewhat open.
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.
1 tool update
- Changed
build_brain1 field changed- added
Input schema / properties / request_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Request Id" +}
4 tool updates
- First observed
build_brain - First observed
describe_agent - First observed
detect_format - First observed
verify_brain
Related MCP Connectors
Local-first long-term memory for AI agents, with byte-recomputable signed verification receipts.
Bitcoin-anchored, tamper-evident audit-permanence layer for AI agents, FRE 902(13)/(14)-shaped.
Deterministic fact verification for AI agents — checksums & curated data, not guesses.
Machine-native utility network: verified evidence services for autonomous agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceTreats software units as content-addressed contracts, enabling efficient agent regeneration loops with cached verification and tiny context packets.31 PyPI2Apache 2.0

Orphographofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP hosts to anchor file hashes to Bitcoin via OpenTimestamps and verify proofs, ensuring files existed before a given time with privacy-preserving local hashing.MIT- FlicenseNot gradedqualityBmaintenanceEnables AI agents to keep append-only, hash-chained audit ledgers of their work — starting a ledger, appending steps, verifying each link and reporting the first broken line, and replaying entries in order — so users can confirm what an agent claims it did was never edited. Also replays game recordings through versioned deterministic kernels and reports whether their chain head is reproduced, not reproduced, or broken.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to capture and hash-register browser evidence, enforce cite-or-fail claim checks against registered bytes, and export Merkle-rooted evidence bundles that other agents can re-verify fully offline.10 npm-
Glama MCP Gateway
Add one secure layer between your agents and this server.