LaunchKit · 2026
Back to Skills

schemapin

**Purpose**: This guide helps AI assistants quickly integrate SchemaPin into applications for cryptographic tool.

0
419 downloads
by @jaschadub

Setup & Installation

openclaw skills install @jaschadub/schemapin

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install schemapin

What This Skill Does

SchemaPin prevents "MCP Rug Pull" attacks by letting developers cryptographically sign tool schemas with ECDSA P-256 and clients verify those signatures haven't been tampered with. It uses Trust-On-First-Use key pinning and RFC 8615 `.well-known` endpoints for public key discovery. Available in Python, JavaScript, Go, and Rust.

Cross-language ECDSA P-256 compatibility means a schema signed in Python can be verified in Go or Rust without any format conversion.

When to use it

  • Signing MCP tool schemas before publishing to a public registry
  • Verifying tool schemas haven't been modified at agent startup
  • Validating skill directories offline in air-gapped CI/CD pipelines
  • Detecting modified, added, or removed files in a signed skill folder
  • Revoking a compromised signing key and propagating that revocation to clients

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Sign my tool schema and publish my public key so clients can verify it

AGENT
  1. 1Generate an ECDSA P-256 keypair with KeyManager.generate_keypair()
  2. 2Canonicalize the schema with SchemaPinCore().canonicalize_schema(schema_dict)
  3. 3Sign the canonical schema with SignatureManager.sign_schema(private_key, canonical)
  4. 4Publish the public key at /.well-known/schemapin.json using create_well_known_response()
  5. 5Distribute the base64 signature alongside the schema for client verification
OUTPUT

A signed schema with a live .well-known endpoint; clients verify the signature and pin the key fingerprint on first contact, rejecting any future key substitution for that domain