mcpField
S
SchemaPin 🧷

SchemaPin 🧷

ローカル
schemapin.orgセキュリティ163 週間前に更新

SchemaPin 🧷 について

SchemaPinは、AIエージェントやMCPツールの開発者向けに、スキーマの署名と検証を行うツールキットです。ECDSA署名、鍵の発見と固定、失効、オフライン用の信頼バンドルで改ざん検知を支援します。

主な機能

  1. 01ECDSAスキーマ署名
  2. 02公開鍵の発見
  3. 03TOFU鍵固定
  4. 04鍵の失効と信頼バンドル
  5. 05AgentSkillsフォルダーの署名
  6. 06Python、JavaScript、Go、Rustに対応

活用シーン

  1. 01エージェント利用前のツールスキーマ検証
  2. 02スキルフォルダーの署名と配布
  3. 03オフライン環境での署名確認

MCP 対応

SchemaPinは、AIエージェントやMCPサーバーが使うツールスキーマの暗号署名と検証を提供します。MCPクライアントによるスキーマ改ざんや鍵の差し替えの検知を支援します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SchemaPin

AI エージェントと MCP サーバー向けの暗号技術によるツールスキーマ検証です。ECDSA 署名、DNS による信頼の固定、TOFU キーピンニングで「MCP Rug Pull」攻撃を防ぎます。

ドキュメントを読む →

機能

SchemaPin を使うと、ツール開発者は ECDSA P-256 キーでスキーマとスキルフォルダーに署名でき、AI エージェントはスキーマが改ざんされていないことを検証できます。公開鍵は .well-known/schemapin.json(RFC 8615)から検出でき、Trust-On-First-Use ピンニングにより、以降の鍵の差し替えを防ぎます。

  • ECDSA P-256 + SHA-256 暗号署名
  • 公開鍵の .well-known ディスカバリー(RFC 8615)
  • 鍵の差し替え攻撃を防ぐ TOFU キーピンニング
  • 署名付きの独立した失効ドキュメントと構造化された理由による 鍵の失効
  • オフラインおよびエアギャップ環境での検証向け トラストバンドル
  • プラグ可能なリゾルバー — .well-known、ローカルファイル、トラストバンドル、またはチェーン
  • AgentSkills 向け スキルフォルダーの署名(SKILL.md + ファイルマニフェスト)
  • 複数言語に対応 — Python、JavaScript、Go、Rust の実装

v1.4.0-alpha.2(4 言語すべて):追加のオプション機能が 3 つあります — フェイルクローズ検証(allow_expired でオプトアウト)を備えた署名の有効期限(expires_at)、第 2 チャネルで信頼を確保するための _schemapin.{domain} におけるDNS TXT クロス検証、および Rug Pull による差し替えを防ぐオプトインの系譜チェーン適用を実現するスキーマバージョンのバインディング(schema_version + previous_hash)です。v1.3 の検証機能は新しいフィールドを無視し、v1.4 の検証機能はどちらにも対応します。残りの v1.4 項目(正規化 ID、A2A コンテキスト、A2A トラストバンドル、スキャン対応署名、エージェント間スキーマキャッシュ)は、安定版 v1.4.0 の前に後続のアルファ版で提供されます。

クイックスタート

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")

スタートガイド →

インストール

Python

今後リリースされるセキュリティ版では、Python 3.10 以降が必要です。

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

今後リリースされるセキュリティ版では、Rust 1.89 以降が必要です。

[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"] }

ドキュメント

トピックリンク
スタートガイドdocs.schemapin.org/getting-started
API リファレンスdocs.schemapin.org/api-reference
スキル署名docs.schemapin.org/skill-signing
トラストバンドルdocs.schemapin.org/trust-bundles
失効docs.schemapin.org/revocation
署名の有効期限 (v1.4-alpha、4 言語すべて)docs.schemapin.org/signature-expiration
DNS TXT クロス検証 (v1.4-alpha、4 言語すべて)docs.schemapin.org/dns-txt
スキーマバージョンのバインディング (v1.4-alpha、4 言語すべて)docs.schemapin.org/schema-version-binding
デプロイdocs.schemapin.org/deployment
トラブルシューティングdocs.schemapin.org/troubleshooting
技術仕様TECHNICAL_SPECIFICATION.md

プロジェクト構成

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

ライセンス

MIT — Jascha Wanger / ThirdKey.ai

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。