1. Conduid
  2. Files
  3. Ded MCP Server
MCP server · Files

Ded MCP Server

MCP server for DED fingerprint services

37Low

Scored 6 months ago · breakdown

About Ded MCP Server

Ded MCP Server is an MCP server in the Files category: mCP server for DED fingerprint services.

Install

Claude Code
claude mcp add ded-mcp-server -- npx -y @constellation-network/ded-mcp-server
npx
npx -y @constellation-network/ded-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Ded MCP Server

Powered by Claude · Grounded in docs

I know everything about Ded MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Digital Evidence SDK

SDK for the Digital Evidence Depository (DED) on Constellation Network. Create, sign, and submit cryptographic fingerprints for document notarization.

Available in TypeScript (@constellation-network/digital-evidence-sdk) and Python (constellation-digital-evidence-sdk).

Architecture

digital-evidence-sdk/
├── packages/
│   ├── typescript/     # @constellation-network/digital-evidence-sdk (npm)
│   ├── mcp-server/     # @constellation-network/ded-mcp-server (npm)
│   └── python/         # constellation-digital-evidence-sdk (PyPI)
└── shared/
    └── test_vectors/   # Cross-language test vectors

Core module (default import) — pure crypto, no network dependencies. Works in browsers, Node.js, serverless.

Network module (separate import) — HTTP client for the DED Ingestion API. API-key authenticated endpoints for submission/search, plus public endpoints for lookup and proofs.

MCP server (@constellation-network/ded-mcp-server) — gives any MCP-compatible AI assistant (Claude, Cursor, Windsurf, VS Code, etc.) the ability to notarize documents, query fingerprints, and verify on-chain proofs. See the MCP server README for setup instructions.

MCP Server

npx @constellation-network/ded-mcp-server

Add to your MCP config (.mcp.json, .cursor/mcp.json, etc.):

{
  "mcpServers": {
    "ded": {
      "command": "npx",
      "args": ["-y", "@constellation-network/ded-mcp-server"],
      "env": {
        "DED_API_BASE_URL": "https://your-ded-api.example.com",
        "DED_API_KEY": "your-api-key",
        "DED_SIGNING_PRIVATE_KEY_FILE": "/path/to/private-key"
      }
    }
  }
}

TypeScript

Install

npm install @constellation-network/digital-evidence-sdk

Core — Generate and sign a fingerprint

import {
  generateFingerprint,
  generateKeyPair,
  hashDocument,
  validateSubmission,
} from '@constellation-network/digital-evidence-sdk';

// Generate a wallet (or use an existing private key)
const keyPair = generateKeyPair();

// Create a signed fingerprint submission
const submission = await generateFingerprint({
  orgId: '550e8400-e29b-41d4-a716-446655440000',
  tenantId: '123e4567-e89b-12d3-a456-426614174000',
  eventId: '7ca8c920-0ead-22e2-91c5-11d05fe540d9',
  documentId: 'contract-2024-001',
  documentContent: 'This is my document content',
  includeMetadata: true,
  tags: { department: 'legal' },
}, keyPair.privateKey);

// Validate before sending
validateSubmission(submission);

console.log(JSON.stringify(submission, null, 2));

Core — Step-by-step signing

import {
  createFingerprintValue,
  signFingerprint,
  hashDocument,
  getPublicKeyId,
} from '@constellation-network/digital-evidence-sdk';

// 1. Hash the document
const documentRef = hashDocument('my document content');

// 2. Create the fingerprint value
const value = createFingerprintValue({
  orgId: '550e8400-e29b-41d4-a716-446655440000',
  tenantId: '123e4567-e89b-12d3-a456-426614174000',
  eventId: '7ca8c920-0ead-22e2-91c5-11d05fe540d9',
  documentId: 'contract-2024-001',
  documentRef,
}, getPublicKeyId(privateKey));

// 3. Sign it
const signedFingerprint = await signFingerprint(value, privateKey);

// 4. Package as a submission
const submission = {
  attestation: signedFingerprint,
};

Network — Submit to the DED API

import { DedClient } from '@constellation-network/digital-evidence-sdk/network';

const client = new DedClient({
  baseUrl: 'http://localhost:8081',
  apiKey: 'your-api-key',
});

// Submit fingerprints
const results = await client.fingerprints.submit([submission]);

// Search fingerprints (authenticated)
const searchResults = await client.fingerprints.search({
  documentId: 'contract-2024-001',
  limit: 10,
});

// Public endpoints (no API key needed)
const detail = await client.fingerprints.getByHash(hash);
const proof = await client.fingerprints.getProof(hash);
const stats = await client.fingerprints.getStats();
const batch = await client.batches.get(batchId);

FingerprintGenerator — Reuse config across submissions

import { FingerprintGenerator } from '@constellation-network/digital-evidence-sdk';

const generator = new FingerprintGenerator({
  privateKey: 'your-private-key',
  orgId: '550e8400-e29b-41d4-a716-446655440000',
  tenantId: '123e4567-e89b-12d3-a456-426614174000',
});

const sub1 = await generator.generate({
  eventId: crypto.randomUUID(),
  documentId: 'doc-001',
  documentContent: 'First document',
});

const sub2 = await generator.generate({
  eventId: crypto.randomUUID(),
  documentId: 'doc-002',
  documentContent: 'Second document',
  tags: { priority: 'high' },
});

Python

Install

pip install constellation-digital-evidence-sdk
# For network module:
pip install constellation-digital-evidence-sdk[network]

Core — Generate and sign a fingerprint

from constellation_digital_evidence_sdk import generate_fingerprint, GenerateOptions
from constellation_sdk import generate_key_pair

key_pair = generate_key_pair()

submission = generate_fingerprint(
    GenerateOptions(
        org_id="550e8400-e29b-41d4-a716-446655440000",
        tenant_id="123e4567-e89b-12d3-a456-426614174000",
        event_id="7ca8c920-0ead-22e2-91c5-11d05fe540d9",
        document_id="contract-2024-001",
        document_content="This is my document content",
        include_metadata=True,
        tags={"department": "legal"},
    ),
    key_pair.private_key,
)

print(submission.to_dict())

Network — Submit to the DED API

from constellation_digital_evidence_sdk.network import DedClient, DedClientConfig

async with DedClient(DedClientConfig(
    base_url="http://localhost:8081",
    api_key="your-api-key",
)) as client:
    results = await client.fingerprints.submit([submission])
    detail = await client.fingerprints.get_by_hash(hash_value)
    stats = await client.fingerprints.get_stats()

Signature Protocol

The SDK implements SECP256K1_RFC8785_V1:

  1. Canonicalize JSON per RFC 8785
  2. SHA-256 hash the canonical bytes
  3. Convert hash to hex string, treat as UTF-8 bytes
  4. SHA-512 hash, truncate to 32 bytes
  5. Sign with SECP256K1 ECDSA

Development

git clone https://github.com/Constellation-Labs/digital-evidence-sdk.git
cd digital-evidence-sdk

# TypeScript
cd packages/typescript
npm install
npm test
npm run build

# Python
cd packages/python
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest tests/ -v

License

Apache-2.0

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Ded MCP Server

How do I install Ded MCP Server?

Run claude mcp add ded-mcp-server -- npx -y @constellation-network/ded-mcp-server, then add the server to your MCP client's configuration.

Is Ded MCP Server safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ded MCP Server still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.