Skip to main content
Glama

bernstein-mcp

Server Details

Verifies Bernstein run receipts and hash chains; lists the shipped presets and adapters. Read-only.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
sipyourdrink-ltd/bernstein-mcp
GitHub Stars
0
Server Listing
bernstein-mcp

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation4/5

All tools target distinct resources or actions, but verify_chain and verify_receipt share a similar verification purpose, and explain_receipt also performs verification while adding narration. The descriptions are detailed enough to avoid misselection, though a slight overlap exists.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., explain_receipt, verify_chain, list_presets). No deviations or mixed conventions.

Tool Count5/5

Seven tools is well within the ideal 3-15 range. Each tool serves a distinct purpose (explanation, listing, verification, metadata) and none feel redundant or extraneous.

Completeness5/5

The server is focused on reading and verifying bernstein compliance data, and the surface covers all core operations: listing presets and adapters, fetching a preset, verifying chains and receipts, explaining receipts, and server info. No obvious gaps for the stated domain.

Available Tools

7 tools
explain_receiptExplain a run receiptBInspect

Verify a run receipt and narrate the result in plain language: what the run recorded, which chains recomputed, where the first divergence is, and what an auditor can and cannot conclude without the producing install's keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
receiptYesThe run receipt: pass the file contents as a string for byte-exact verification, or the parsed object.

Output Schema

ParametersJSON Schema
NameRequiredDescription
verdictYes
explanationYes
receipt_sha256Yes

TDQS

B3.4/5.0
Behavior3/5

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 transparently explains the tool's verification action and the inherent limitation that conclusions depend on not having the producing install's keys, which is valuable context. However, it does not explicitly state whether the operation is read-only, whether it can fail or throw errors, or what happens if the receipt is invalid – though these may be partially covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core action ('Verify a run receipt and narrate the result') and then enumerates the key things the narration covers. It is dense but not bloated; every phrase adds relevant detail. The list format within the sentence makes it scannable, though it is slightly longer than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameterley documented, an output schema, and a clear description of what the tool produces. The main gap is that, in the presence of sibling verify_receipt and verify_chain, the description does not clarify the decision between explanation and raw verification. For an agent, this missing routing guidance makes the definition adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the single parameter with a detailed description, saying it can be a string for byte-exact verification or a parsed object. Since schema description coverage is 100%, the baseline of 3 applies. The tool description itself adds no extra parameter semantics, but the parameter is simple and well documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Verify') and resource ('a run receipt') and adds a distinctive outcome: narrating the result in plain language, including what the run recorded, which chains recomputed, and where the first divergence is. This clearly differentiates it from sibling verify_receipt, which likely only verifies without the narrative layer. It doesn't explicitly name any sibling, but the behavioral detail supplies enough distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need a plain-language explanation of a run receipt, including auditor-relevant conclusions. However, it never explicitly states 'use verify_receipt for a structured/machine-readable result' or any exclusion criteria. The guidance is present but not explicit enough to fully prevent ambiguous tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_presetGet a compliance presetBInspect

Every field of one compliance preset as bernstein v3.19.2 resolves it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
configYes
bernstein_versionYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It adds one meaningful behavioral trait: the result is based on bernstein v3.19.2 resolution semantics, implying version-specific output. However, it does not disclose side effects, error conditions, or what happens if an unknown preset name is requested, though the 'get' semantics make mutation unlikely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with no filler, and leads with the most important fact: 'Every field of one compliance preset.' The second phrase adds a version qualifier, but it is slightly awkwardly phrased, which prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has only one enum-based parameter, and has an output schema, so the missing return-value documentation is acceptable. However, the description lacks guidance about how to use the name parameter and does not relate this tool to list_presets, leaving a small but real completeness gap for an agent selecting among siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the name parameter or explain how to select the preset. The schema's property name and enum make the parameter somewhat self-explanatory, but the description does not add meaning beyond the schema and does not compensate for the missing per-parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: one compliance preset, and states the returned content is every field of that preset as resolved by a specific bernstein version. It distinguishes itself from a list-style sibling like list_presets by emphasizing a single preset's complete resolved view, though the sentence is grammatically a fragment and 'as bernstein v3.19.2 resolves it' is somewhat awkward.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit statement about when to use this tool versus alternatives such as list_presets or explain_receipt. The purpose implies use cases, but the description does not provide context, prerequisites, or exclusions, leaving the agent to infer routing entirely from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_adaptersList agent adaptersAInspect

The agent adapters bundled with bernstein v3.19.2: adapter name, the binary it drives, the module that implements it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
adaptersYes
bernstein_versionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It conveys that this is a static enumeration of bundled adapters and lists the output fields, which implies a read-only operation. However, it does not explicitly state side-effect-free behavior, determinism, environment assumptions, or any error/edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence, front-loaded with the core function and free of filler. The version pinning and output fields are conveyed efficiently without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list with an output schema present, the description covers the essentials: what is listed and what details are included. It is slightly incomplete because it does not signal when to prefer this over sibling tools or clarify whether 'bundled' means only a fixed built-in set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the description has nothing to compensate for; the baseline of 4 applies. It introduces no parameter ambiguity and the absence of parameter documentation is not a gap here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource ('agent adapters bundled with bernstein v3.19.2') and the fields returned (adapter name, binary, module). It is unambiguous about what the tool lists, though it does not explicitly differentiate itself from sibling tools like list_presets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The intended usage is only implied by the name and content description; nothing tells an agent when list_adapters is the right choice over other listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_presetsList compliance presetsAInspect

The compliance presets bernstein v3.19.2 ships, with the switches each one turns on.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
presetsYes
bernstein_versionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It clearly communicates a read-only listing operation and discloses the content scope: presets and their switches. It does not mention side effects, but the verb 'list' and the zero-parameter schema make non-read behavior highly unlikely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the main purpose and includes only the most relevant additional detail: the exact version and the switches covered. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with an output schema available, the description is fully sufficient. It states what is listed, the version scope, and what information about each preset is included, leaving no critical gap for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already fully documents this with an empty properties object, so there is no parameter burden for the description to carry. The baseline of 4 applies because no parameter semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (list) and resource (compliance presets shipped with bernstein v3.19.2), and adds specificity by stating the switches each preset enables. This differentiates it from sibling tools like get_preset (single preset) and list_adapters (different resource type).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: call this when you need to know which compliance presets bernstein ships with and what switches they enable. However, it does not explicitly contrast it with get_preset or mention when not to use this tool, leaving some routing inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_infoServer infoAInspect

Identity, version, and request limits for this MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
limitsYes
versionYes
keys_urlYes
verdict_keyYesPublic Ed25519 JWK this deployment signs verdicts with; also at keys_url.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It accurately signals a read-only introspection operation by naming the informational fields returned, and 'request limits' adds useful context about server constraints that the agent should be aware of.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that names all key output categories in order. Every word adds value, and there is no unnecessary repetition or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a very simple, zero-parameter tool with an output schema available. The description covers the essential information an agent needs to decide when to call it and what to expect, so nothing meaningful is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so no parameter documentation is needed. The input schema is empty, and the description sufficiently communicates what the tool reports without needing to explain any parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: returning identity, version, and request limits for the MCP server. This distinguishes it from the receipt, preset, and verification tools listed as siblings, and is far more specific than a mere restatement of the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for this MCP server' establishes the context: call this when the agent needs server-level metadata. While no explicit alternatives or exclusions are mentioned, none of the sibling tools serve the same purpose, so the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_chainVerify a hash chainAInspect

Walk bernstein chain rows and recompute every link: journal rows (event_hash), lineage spine entries (entry_hash) or audit events (prev_hmac linkage). The row kind is detected from the fields, or pass kind explicitly. Reports the first divergent index. Pass entries as the file text (a JSON array or one row per line, as journal.jsonl is written) for byte-exact hashing; a parsed array also works, but then a float spelled 1.0 or -0.0 in the file cannot be told apart from an integer.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
entriesYesRows in chain order, oldest first: a JSON array, or the raw text of the file.

Output Schema

ParametersJSON Schema
NameRequiredDescription
headYes
kindYes
detailYes
intactYes
entriesYes
divergent_indexYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden itself. It discloses the recomputation behavior, the first-divergent-index report, field-based kind detection, and important byte-exactness and float-vs-integer caveats. It could say what happens when all links match, but the output schema likely covers return details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core algorithm and target rows, immediately followed by detection behavior, output, and the most important input nuance. Every sentence earns its place; nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters, one required, and an output schema available, the description covers purpose, row-kind selection, input format options, and a subtle fidelity caveat. No essential information for invoking the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, and the description substantially compensates. It explains the three `kind` values, the detection behavior when omitted, and adds crucial semantics for `entries`: raw text enables byte-exact hashing while parsed arrays lose float formatting distinctions. This goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('Walk bernstein chain rows and recompute every link') and enumerates the exact row kinds it applies to, making the tool's scope unambiguous. It is clearly distinct from the sibling verify_receipt despite the similar prefix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains when the row kind is auto-detected versus when to pass `kind` explicitly, and gives concrete guidance on choosing raw text vs a parsed array. It does not explicitly name alternative tools or exclusion conditions, but the operational context is clear enough for correct use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_receiptVerify a run receiptAInspect

Recompute every hash chain a bernstein run receipt embeds (journal, lineage spine, optional audit range), rebuild the signed subject from the recomputed heads, and check the Ed25519 signature with the key the receipt carries. Needs no secret and reads nothing but the receipt. Returns the verdict, the first failing check, one line per check, and the same verdict as a DSSE envelope signed by this verifier's Ed25519 key (public key at keys_url) so the outcome can be kept and re-checked offline.

ParametersJSON Schema
NameRequiredDescriptionDefault
receiptYesThe run receipt: pass the file contents as a string for byte-exact verification, or the parsed object.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
checksYes
summaryYes
verdictYes
keys_urlYes
verify_urlYes
failing_checkYes
divergent_stepYes
receipt_sha256Yes
signed_verdictYesDSSE envelope over the verdict statement (JCS JSON in payload), Ed25519 over the DSSE PAE.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does so well: it discloses that no secret is required, that nothing but the receipt is read, and that the verifier signs the verdict with its own Ed25519 key. This gives agents a clear safety and side-effect profile even without 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but every sentence earns its place: the first explains the verification algorithm, the second states the safety model, and the third explains the signed output. It is front-loaded with the action verb and contains no filler or marketing language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the cryptographic complexity, a single well-documented parameter, and the presence of an output schema, the description is complete enough for correct invocation. It covers inputs, algorithm, safety, and return behavior without requiring the agent to guess about secrets, external reads, or output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already explains the receipt parameter, including the important byte-exact string vs parsed object distinction. The description does not add significant parameter-level detail beyond that, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('verify'), a specific resource ('bernstein run receipt'), and a precise mechanism: recompute hash chains, rebuild the signed subject, and check Ed25519. It is clearly distinguishable from siblings like explain_receipt or verify_chain by focusing on full receipt verification rather than explanation or a single chain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context: it needs no secret, reads nothing but the receipt, and returns an offline-recheckable DSSE-signed verdict. However, it never explicitly says when to choose this tool over siblings such as explain_receipt or verify_chain, nor does it state any exclusion conditions, so usage guidance is mostly implied rather than explicit.

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. 7 tool updates
    • First observedexplain_receipt
    • First observedget_preset
    • First observedlist_adapters
    • First observedlist_presets
    • First observedserver_info
    • First observedverify_chain
    • First observedverify_receipt

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides read-only access to CWI's trust infrastructure, enabling Gear Ledger provenance queries, agent trust scoring via the Verdict Engine, and NEEDLE DROP ledger hash-chain verification over stdio.
    7
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only verification of Foster Rx certificates against the public Ed25519 trust anchor, returning verdicts such as verified, signature_invalid, not_found, or tool_fault, and also allows retrieval of certificate records and trust anchor material.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables defining and verifying evidence contracts for claims in READMEs, releases, or product pages using constrained verifiers and generating hash-chained receipts and reports.
    6 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.