# io.github.srbryant86/mcp-server (npm · @certnode/mcp-server)

Sign AI output for EU AI Act + FRE 902 compliance, verify content authenticity provenance

- Trust score: 59/100 (low)
- Change this week: −13
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@certnode/mcp-server`: 59/100 (this document), [markdown](https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server.md), [page](https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@certnode/mcp-server`
- Version: `1.2.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 97 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1103 tokens (~110/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add srbryant86-mcp-server -- npx -y @certnode/mcp-server
```

### Codex

```bash
codex mcp add srbryant86-mcp-server -- npx -y @certnode/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "srbryant86-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@certnode/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add srbryant86-mcp-server --command npx --arg -y --arg @certnode/mcp-server
```

### Hermes

```yaml
mcp_servers:
  srbryant86-mcp-server:
    command: "npx"
    args: ["-y", "@certnode/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "srbryant86-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@certnode/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 59, +15)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-01 (score 44, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-07-31 (score 29, −4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 33, +14)

- [security regression] Malware scan: pass → unverified
- [functional regression] Dependency health: partial → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 19, −53)

- [security regression] Known CVEs: partial → unverified
- [security regression] Provenance: fail → unverified
- [security regression] Install scripts: pass → unverified
- [functional regression] License: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Maintenance: pass → unverified
- [functional] Licence: MIT

### 2026-07-27 (score 72, +53)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: good
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] Licence: MIT

### 2026-07-26 (score 19)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (10)

### `verify_content` (~99 tokens)

Verify the authenticity of content by URL or SHA-256 hash. Returns verification status, trust score, and proof details if the content has been registered with CertNode.

Input parameters:

- `hash` (string): SHA-256 hash of the content (with or without sha256: prefix)
- `mode` (string): Verification mode. "quick" for basic check, "full" for complete details
- `url` (string): URL of the content to verify

### `search_registry` (~91 tokens)

Search the CertNode public content registry for proofs. Search by title, organization, creator, or content hash.

Input parameters:

- `limit` (number): Maximum number of results (default 10, max 50)
- `query` (string, required): Search query (title, organization, creator, or partial hash)
- `type` (string): Filter by proof type (e.g., "receipt", "content", "contract")

### `get_proof` (~57 tokens)

Get detailed information about a specific proof by its ID. Returns full proof details including timestamps, signatures, and verification chain.

Input parameters:

- `proof_id` (string, required): The proof ID (e.g., prf_abc123xyz or receipt ID)

### `get_trust_score` (~67 tokens)

Calculate the trust score for a piece of content. Returns a score from 0-100 and a trust level (unverified, basic, verified, certified).

Input parameters:

- `hash` (string): SHA-256 hash of the content
- `url` (string): URL of the content

### `proof_session_start` (~111 tokens)

Start a tracked development session for AI code accountability. This creates a cryptographic proof chain for all AI-assisted code changes during the session.

Input parameters:

- `ai_tools` (array): AI tools being used (e.g., ["claude", "copilot"])
- `branch` (string): Git branch name (optional)
- `developer_email` (string, required): Email of the developer starting the session
- `ide` (string): IDE being used for development
- `repo_url` (string): Git repository URL (optional)

### `proof_session_end` (~48 tokens)

End the current development session. This finalizes the proof chain and generates a session summary.

Input parameters:

- `session_id` (string): Session ID to end. If not provided, ends the active session.

### `proof_log_generation` (~167 tokens)

Log an AI code generation event. Call this after any AI-generated code is written to create a cryptographic receipt.

Input parameters:

- `file_path` (string, required): Path to the file containing generated code
- `lines_changed` (number, required): Number of lines of code generated
- `model` (string): AI model used (e.g., "claude-3-opus", "gpt-4")
- `output_hash` (string, required): SHA-256 hash of the generated output
- `prompt_hash` (string): SHA-256 hash of the prompt (optional, for privacy)
- `session_id` (string): Session ID. If not provided, uses the active session.
- `tool` (string, required): AI tool that generated the code (e.g., "claude", "copilot")

### `proof_approve` (~111 tokens)

Log human approval of AI-generated code. Call this when the developer reviews and accepts code.

Input parameters:

- `approval_type` (string, required): Type of approval
- `comment` (string): Optional comment about the approval
- `file_path` (string, required): Path to the file being approved
- `line_end` (number): Ending line number of approved code
- `line_start` (number): Starting line number of approved code
- `session_id` (string): Session ID. If not provided, uses the active session.

### `proof_verify` (~47 tokens)

Verify the integrity of a session's receipt chain. Returns verification status and any issues found.

Input parameters:

- `session_id` (string): Session ID to verify. If not provided, verifies the active session.

### `sign_ai_output` (~305 tokens)

Sign AI-generated content with a cryptographic receipt that proves when it was created, by which model, on whose behalf, with what prompt hash. Returns a signed token + public verification URL. Anyone can verify the signature later via /api/v1/provenance/verify without contacting CertNode. Designed for EU AI Act Article 50 compliance and FRE 902(13)/(14) court admissibility — not for creator badging (use Adobe Content Credentials for that).

Input parameters:

- `content` (string, required): The content to sign. Raw text for ai_output / document / json. Base64 for binary (image).
- `content_type` (string): How the content field should be interpreted. Use "ai_output" for AI-generated text. Use "image" for base64-encoded images. Use "document" for documents. Use "json" for structured data.
- `model` (string): Optional AI model identifier (e.g. "claude-opus-4-7", "gpt-4-turbo", "gemini-2.5"). Embedded in the receipt for downstream verification.
- `prompt_hash` (string): Optional SHA-256 hex digest of the prompt that generated this content. Privacy-preserving audit signal — proves the prompt existed without revealing it. 64 hex chars.
- `provider` (string): Optional AI provider name (e.g. "anthropic", "openai", "google", "mistral"). Embedded in the receipt.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server#diagnostics

## Score history

- 2026-08-03: 59
- 2026-08-02: 59
- 2026-08-01: 44
- 2026-07-31: 29
- 2026-07-30: 33
- 2026-07-28: 19
- 2026-07-27: 72
- 2026-07-26: 19

## Links

- npm package: https://www.npmjs.com/package/@certnode/mcp-server
- Socket report: https://socket.dev/npm/package/@certnode/mcp-server
- Website: https://certnode.io/ai-provenance
- Changelog RSS feed: https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/srbryant86-mcp-server/certnode-mcp-server
