viridisos
Server Details
ViridisOS — theorem-backed conservation certification + the unified trust root/mark/toll. Certify pa
- Status
- Healthy
- Uptime
- 100.0% over 83 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jdhart81/viridis-agent-fleet
- GitHub Stars
- 0
- Server Listing
- viridis-agent-fleet
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
Most tools target distinct actions: DID binding, module listing, toll computation, attestation, certification, and mark verification are clearly separated. The main overlap is between viridis_certify and viridis_certify_envelope, where the latter wraps the former, so an agent could occasionally hesitate over which certification flow to use.
All names share a consistent viridis_ prefix and snake_case structure, making the set predictable and readable. Minor deviations are that viridis_agent_attestation is noun-oriented while most others use verb_noun, and viridis_certify lacks a noun object.
Seven tools is well-scoped for a trust/certification server focused on identity, attestation, certification, verification, modules, and toll calculation. Each tool appears to earn its place without excessive surface area.
The set covers issuance, identity binding, module listing, toll calculation, and envelope verification, but lifecycle coverage is incomplete: there is no visible revocation, certificate lookup, or standalone certificate verification operation. These gaps could cause dead ends for agents managing certificates beyond initial issuance.
Available Tools
7 toolsviridis_agent_attestationViridis agent attestationCInspect
Issue a mark-stamped agent-attestation envelope under the shared trust root.
| Name | Required | Description | Default |
|---|---|---|---|
| event | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, closed-world write, so the safety profile is known. The description adds that the envelope is stamped with a mark and anchored to a shared trust root, which hints at a dependency on prior mark setup, but it never says whether repeated calls mint new attestations, what must pre-exist, or what the envelope contains.
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 or redundancy. It is efficient, though its brevity comes partly from omitting needed detail rather than from tight editing.
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 mutation tool taking an untyped nested object, this is under-specified: no event structure, no trust-root prerequisites, no note on non-idempotent re-issuance. The output schema means return values need not be described, which keeps the score off the floor.
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% and the sole parameter is a free-form nested object with additionalProperties=true and no field documentation. The description never mentions the "event" argument or its expected shape, so nothing compensates for the schema gap.
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 verb ("Issue") and a resource ("agent-attestation envelope"), so the general action is inferable. However, the modifiers "mark-stamped" and "under the shared trust root" are undefined jargon, and nothing distinguishes this from the sibling viridis_certify_envelope or viridis_certify, which plausibly do overlapping envelope work.
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 on when this tool should be chosen over viridis_certify, viridis_certify_envelope, or viridis_verify_mark. There are no stated prerequisites (a registered mark, a trust-root identity) and no exclusions, so the agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_bind_didViridis bind didBRead-onlyIdempotentInspect
Derive the canonical did:viridis identity for an agent (fleet R1 formula) under the shared root.
| Name | Required | Description | Default |
|---|---|---|---|
| pubkey | Yes | ||
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description usefully adds that the derivation is deterministic and root-scoped, which explains why idempotency holds. However, it does not clarify whether any binding is persisted/registered despite the 'bind' name, nor what happens if the agent is unknown or the pubkey mismatches.
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; the scope constraint ('under the shared root') arrives early. Density of unexplained internal terminology slightly reduces accessibility.
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 values need not be explained, and the annotations carry the safety semantics. Still, for a tool with two fully undocumented required parameters and no routing guidance among six siblings, the description leaves real 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%: neither agent_id nor pubkey has any documented format, encoding, or constraints. The description does not compensate at all — it never mentions the two required inputs, so an agent gets no guidance on pubkey encoding or agent_id shape.
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 ('derive') and names the exact resource ('the canonical did:viridis identity for an agent'), which distinguishes it from siblings such as viridis_agent_attestation or viridis_certify. It loses a point because 'fleet R1 formula' and 'shared root' are internal jargon that an unfamiliar agent cannot resolve, and no sibling is explicitly contrasted.
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 statement of when to call this versus the alternatives that also involve identities or marks (viridis_agent_attestation, viridis_verify_mark), nor any prerequisite such as needing the shared root established first. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_certifyViridis certifyAInspect
Certify a subject (parcel/portfolio) with a module -> a certificate. Errors if the module's backing theorem is not gate-passed (BLOCKED).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| subject | Yes | ||
| module_id | Yes |
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-idempotent, non-destructive, closed-world operation, so the safety bar is partly covered. The description usefully discloses the gate-passed failure mode (BLOCKED error), but says nothing about whether the certificate is persisted, where it lives, or whether repeat calls accumulate state despite idempotentHint=false.
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?
Two short sentences, front-loaded with the action and result, with no filler. The arrow notation is compact and readable, though the parenthetical example adds little the verb did not already convey.
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 values need no prose, and the description covers action, target, and failure mode. What is missing for a state-producing tool with an unstructured nested input object is guidance on what belongs in "inputs", though the existence of an output schema lowers the burden.
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% across three required parameters, so the description must carry the burden and only partly does: "subject (parcel/portfolio)" hints at the subject value domain. module_id and especially the nested free-form "inputs" object (additionalProperties: true) remain completely unexplained, leaving the most error-prone parameter opaque.
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 gives a specific verb ("Certify") and resource ("a subject (parcel/portfolio)") plus the product ("a certificate"), so an agent knows exactly what the tool produces. It does not, however, distinguish itself from the sibling viridis_certify_envelope, which an agent could easily confuse with this one.
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 certifying verb; there is no explicit when-to-use versus a sibling like viridis_certify_envelope or viridis_verify_mark. It does add one valuable precondition — the module's backing theorem must be gate-passed or the call errors as BLOCKED — which partly compensates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_certify_envelopeViridis certify envelopeCInspect
Certify then return a 'Certified by ViridisOS' mark envelope (profile conservation-claim).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| subject | Yes | ||
| module_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, closed-world, so the safety profile is covered elsewhere. The description adds only that a 'mark envelope' is returned; it does not say what side effects 'certify' has, whether it creates persistent state, or what 'profile conservation-claim' constrains.
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 a single front-loaded sentence with no padding, which is good, but the brevity is achieved through undefined terms rather than precision. It reads as an internal shorthand rather than an instruction an agent can act on.
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 values need not be spelled out, but three undocumented parameters, a nested free-form object, and an unexplained certification profile leave too much unresolved for a non-idempotent mutation.
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% across three required parameters, including a free-form nested 'inputs' object, and the description contributes nothing about module_id, subject, or what keys 'inputs' expects. This is the worst combination: full documentation burden with zero compensation.
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 verb ('Certify') and a result ('mark envelope'), so it is more than a restatement of the name. But 'profile conservation-claim' and 'envelope' are unexplained jargon, and with a sibling literally named viridis_certify the description never clarifies how this differs from the plain certify 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?
No when-to-use or when-not-to-use guidance is given. The presence of viridis_certify in the sibling list makes the missing routing information significant — an agent cannot tell whether this supersedes, wraps, or complements it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_compute_tollViridis compute tollBRead-onlyIdempotentInspect
Compute the unified Viridis protocol margin (the take) + pass-through card cost for a settlement.
| Name | Required | Description | Default |
|---|---|---|---|
| payee_tier | Yes | ||
| amount_minor | Yes |
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 the safety profile is fully covered. The description adds that the returned figure is composed of two components, the protocol margin and the pass-through card cost, which is real context. It says nothing about rounding, currency, precision, or how payee tier affects the take.
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; the core computation and its two components come first. Slightly parenthetical phrasing ("the take") costs a little clarity but no length.
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?
Placeholder.
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% and the description never mentions either parameter. It does not explain what minor units the amount is denominated in, nor what values payee_tier accepts (no enum), which is exactly the gap the description should close for a 2-parameter tool with an undocumented 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 specific verb ("Compute") and a specific output (protocol margin/take plus pass-through card cost) for a settlement. The Viridis jargon is dense but the computation is identifiable, and none of the siblings (attestation, DID binding, certify, list modules, verify mark) overlap with toll computation, so no explicit differentiation is needed.
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 guidance on when to call this versus anything else, no prerequisites (does a settlement need to exist first?), and no statement about whether the result is advisory or authoritative. The agent must infer the usage context entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_list_modulesViridis list modulesARead-onlyIdempotentInspect
List ViridisOS modules and their LIVE/BLOCKED state (A-1 against the live canon).
| 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 readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds only the note that results carry LIVE/BLOCKED state and are evaluated against a live canon; it says nothing about ordering, caching, staleness, or what a blocked module means.
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 the verb and scope first and the distinguishing output detail second. No padding or redundant restatement of the title.
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, return-value explanation is correctly omitted, and a zero-parameter list tool needs little more than what is given. The remaining gap is terminology: "A-1" and "live canon" are undefined domain shorthand that could matter for interpreting the LIVE/BLOCKED result.
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 there is nothing for the description to disambiguate; baseline 4 applies. The schema is trivially complete at 100% coverage.
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 ("List ViridisOS modules") plus the distinguishing payload (LIVE/BLOCKED state), which no sibling offers. It stops short of naming how it differs from sibling tools like viridis_certify or viridis_verify_mark, and the qualifier "A-1 against the live canon" is unexplained jargon rather than clarifying scope.
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 when-to-use or when-not-to-use guidance, and no alternative is named. An agent must infer from the name alone that this is the enumeration/discovery step that presumably precedes the certification and verification siblings, which is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
viridis_verify_markViridis verify markBRead-onlyIdempotentInspect
Verify a 'Certified by ViridisOS' envelope against the shared trust root.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | ||
| envelope | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only one piece of genuine behavioral context — that verification is against a 'shared trust root' rather than a caller-supplied key. It does not disclose failure behavior (does it throw or return a negative result?) or whether profile selection changes the trust evaluation.
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 or redundancy. It is efficient, though its brevity edges into under-specification rather than true economy.
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 gives a clear purpose and a trust-root context for a verification tool with a readOnly, idempotent, closed-world profile and a declared output schema. The gaps are in parameter semantics (undocumented `profile` and `envelope` structure) rather than in purpose or behavior, and the output schema covers return values.
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% and both parameters are undocumented: `profile` has only a default of empty string, and `envelope` is an open object with additionalProperties=true. The description only restates that the envelope is the artifact being verified and says nothing about what `profile` selects or what shape the envelope must have, so it does not compensate for the coverage gap.
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 pairs a specific verb ("Verify") with a specific resource (a 'Certified by ViridisOS' envelope) and names the trust anchor it checks against. That is clear enough to separate it from the certify-style siblings, but it never explicitly states the contrast with viridis_certify_envelope or viridis_certify, so it falls short of full sibling differentiation.
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 explicit when-to-use, when-not-to-use, or named alternative. The agent can infer that this is the check step after certification, but nothing in the text confirms that ordering, states prerequisites (e.g. needing a trust root configured), or says what to do when verification fails.
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.
7 tool updates
- First observed
viridis_agent_attestation - First observed
viridis_bind_did - First observed
viridis_certify - First observed
viridis_certify_envelope - First observed
viridis_compute_toll - First observed
viridis_list_modules - First observed
viridis_verify_mark
Related MCP Connectors
Verified conservation credits matched to agent compute emissions — the conservation flywheel of the
arifOS — a constitutional kernel for AI agents. 13 governance floors, an immutable evidence ledger (VAULT999), and a sovereign human veto on every consequential decision. Forged, not given.
Machine-native utility network: verified evidence services for autonomous agents.
Signed, Bitcoin-anchored observations of AI training-data disclosure; verifies silence proofs, seals
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGaia Protocol—a planetary DAO for global resource management using quantum-entangled ledgers and algorithmic governance.8MIT

emilia-mcp-serverofficial
AlicenseAqualityBmaintenanceThe accountability layer for AI agents — a named human's signed yes before an agent does anything irreversible (payment, record change, deploy), then an offline-verifiable Trust Receipt. Apache-2.0, formally verified.3603Apache 2.0
markovian-mcpofficial
AlicenseAqualityCmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseAqualityCmaintenanceAI agent provenance, trust, and auditability layer. VERITAS multi-gate scoring, Cortex approval gates, S.E.A.L. hash-chain audit ledger, and semantic RAG with cryptographic provenance tracking for every decision an agent makes.275MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.