mcpField
S
SchemaPin 🧷

SchemaPin 🧷

Local
schemapin.orgSecurity16Updated 3w ago

About SchemaPin 🧷

SchemaPin is a schema-signing and verification toolkit for AI agent and MCP tool developers. It uses ECDSA signatures, key discovery and pinning, revocation, and offline trust bundles to help detect tampering.

Key features

  1. 01ECDSA schema signatures
  2. 02Public-key discovery
  3. 03TOFU key pinning
  4. 04Key revocation and trust bundles
  5. 05AgentSkills folder signing
  6. 06Python, JavaScript, Go, and Rust support

Use cases

  1. 01Verify tool schemas before agent use
  2. 02Sign and distribute skill folders
  3. 03Check signatures in offline environments

MCP support

SchemaPin provides cryptographic signing and verification for tool schemas used by AI agents and MCP servers. It helps MCP clients detect schema tampering and substitution.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

SchemaPin

Cryptographic tool schema verification for AI agents and MCP servers. Prevent "MCP Rug Pull" attacks with ECDSA signatures, DNS-anchored trust, and TOFU key pinning.

Read the Documentation →

What It Does

SchemaPin lets tool developers sign their schemas and skill folders with ECDSA P-256 keys, and lets AI agents verify that schemas haven't been tampered with. Public keys are discoverable via .well-known/schemapin.json (RFC 8615), and Trust-On-First-Use pinning protects against future key substitution.

  • ECDSA P-256 + SHA-256 cryptographic signatures
  • .well-known discovery for public keys (RFC 8615)
  • TOFU key pinning to prevent key substitution attacks
  • Key revocation with standalone signed revocation documents and structured reasons
  • Trust bundles for offline and air-gapped verification
  • Pluggable resolvers — .well-known, local file, trust bundle, or chain
  • Skill folder signing for AgentSkills (SKILL.md + file manifests)
  • Cross-language — Python, JavaScript, Go, and Rust implementations

v1.4.0-alpha.2 (all four languages): three additive optional features — signature expiration (expires_at) with fail-closed verification (allow_expired opt-out), DNS TXT cross-verification at _schemapin.{domain} for second-channel trust, and schema version binding (schema_version + previous_hash) for opt-in lineage chain enforcement that defends against rug-pull substitutions. v1.3 verifiers ignore the new fields; v1.4 verifiers handle both. The remaining v1.4 items (canonicalization id, A2A context, A2A trust bundles, scan-aware sigs, cross-agent schema cache) ship in subsequent alphas before stable v1.4.0.

Quick Start

from schemapin.crypto import KeyManager
from schemapin.utils import SchemaSigningWorkflow, SchemaVerificationWorkflow

# Sign a schema
private_key, public_key = KeyManager.generate_keypair()
signer = SchemaSigningWorkflow(KeyManager.export_private_key_pem(private_key))
signature = signer.sign_schema({"name": "my_tool", "parameters": {...}})

# Verify a schema
verifier = SchemaVerificationWorkflow()
result = verifier.verify_schema(schema, signature, "example.com/my_tool", "example.com")

Getting Started Guide →

Installation

Python

The upcoming security release requires Python 3.10 or later.

pip install schemapin
JavaScript
npm install schemapin
Go
go install github.com/ThirdKeyAi/schemapin/go/cmd/...@latest
Rust

The upcoming security release requires Rust 1.89 or later.

[dependencies]
schemapin = "1.3.0"
# v1.4.0-alpha.2 is also published — opt in for signature expiration,
# DNS TXT cross-verification, and schema version binding:
# schemapin = { version = "1.4.0-alpha.2", features = ["dns"] }

Documentation

TopicLink
Getting Starteddocs.schemapin.org/getting-started
API Referencedocs.schemapin.org/api-reference
Skill Signingdocs.schemapin.org/skill-signing
Trust Bundlesdocs.schemapin.org/trust-bundles
Revocationdocs.schemapin.org/revocation
Signature Expiration (v1.4-alpha, all 4 langs)docs.schemapin.org/signature-expiration
DNS TXT Cross-Verification (v1.4-alpha, all 4 langs)docs.schemapin.org/dns-txt
Schema Version Binding (v1.4-alpha, all 4 langs)docs.schemapin.org/schema-version-binding
Deploymentdocs.schemapin.org/deployment
Troubleshootingdocs.schemapin.org/troubleshooting
Technical SpecificationTECHNICAL_SPECIFICATION.md

Project Structure

python/        # Python SDK (PyPI: schemapin)
javascript/    # JavaScript SDK (npm: schemapin)
go/            # Go SDK
rust/          # Rust SDK (crates.io: schemapin)
server/        # Production .well-known endpoint server

License

MIT — Jascha Wanger / ThirdKey.ai

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.