mcpField
S
sdk

sdk

ローカル
github.com/bolyraセキュリティ04 日前に更新

sdk について

@bolyra/sdk は、人間と AI エージェント間のゼロ知識証明による相互認証を実装する TypeScript SDK です。IDや認証情報の作成、ハンドシェイクと委任の検証、暗号プリミティブを備えています。

主な機能

  1. 01人間の ID とエージェント認証情報の作成
  2. 02認証ハンドシェイクの証明と検証
  3. 03権限の委任と検証
  4. 04権限ビットマスクの符号化と検証
  5. 05Poseidon ハッシュと BabyJubjub EdDSA プリミティブ

活用シーン

  1. 01人間と AI エージェント間の相互認証の構築
  2. 02委任されたエージェント認証情報の作成と確認
  3. 03公開プリミティブを使った外部検証器の構築

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"bolyra-sdk": {
"command": "npx",
"args": [
"-y",
"@bolyra/sdk"
]
}
}
}
起動コマンドnpx -y @bolyra/sdk

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@bolyra/sdk0.5.2

ツール

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

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

詳細

@bolyra/sdk

Bolyra 用の TypeScript SDK — 人間と AI エージェントのための相互 ZKP 認証です。

初めての方へ。 npm install からオンチェーン検証までを説明する5分間のクイックスタートから始めてください。

インストール

npm install @bolyra/sdk

クイックスタート

import {
  createHumanIdentity,
  createAgentCredential,
  Permission,
  proveHandshake,
  verifyHandshake,
} from '@bolyra/sdk';

// 1. Create identities
const human = await createHumanIdentity(123456789n);
const agent = await createAgentCredential(
  12345n,
  operatorPrivateKey,
  [Permission.READ_DATA, Permission.WRITE_DATA],
  BigInt(Math.floor(Date.now() / 1000) + 86400),
);

// 2. Generate mutual handshake proofs (parallel, ~16s)
const { humanProof, agentProof, nonce } = await proveHandshake(human, agent);

// 3. Verify locally
const result = await verifyHandshake(humanProof, agentProof, nonce);
console.log('Verified:', result.verified); // true
console.log('Human nullifier:', result.humanNullifier);
console.log('Agent scope commitment:', result.scopeCommitment);

// 4. Submit to chain (via ethers.js)
// await registry.verifyHandshake(humanProof, agentProof, nonce);

低レベルプリミティブ(v0.6.0+)

高度な用途(外部検証器の構築や、クレデンシャル/スコープのコミットメントの再計算など)向けに、この SDK は Poseidon ハッシュと BabyJubjub EdDSA プリミティブをエクスポートします。

import { poseidon5, eddsaSign, eddsaVerify, derivePublicKey } from '@bolyra/sdk';

const pub = await derivePublicKey(operatorPrivateKey);   // { x, y }
const sig = await eddsaSign(operatorPrivateKey, message); // { R8: { x, y }, S }
const ok  = await eddsaVerify(pub, message, sig);         // boolean
const h   = await poseidon5(a, b, c, d, e);               // bigint

eddsaVerify は、不正な形式の入力に対して例外をスローせず、false を返します。外部検証器の完全なリファレンスについては、@bolyra/cli の bolyra verify を参照してください。

権限

権限には累積ビットエンコーディングを使用します。上位の権限には下位の権限が含まれます。

ビット権限備考
0READ_DATA
1WRITE_DATA
2FINANCIAL_SMALL< $100
3FINANCIAL_MEDIUM< $10,000(ビット 2 を含む)
4FINANCIAL_UNLIMITED無制限(ビット 2、3 を含む)
5SIGN_ON_BEHALF
6SUB_DELEGATE
7ACCESS_PII

API のステータス

関数ステータス
createHumanIdentity()v0.1
createAgentCredential()v0.1
permissionsToBitmask()v0.1
validateCumulativeBitEncoding()v0.1
proveHandshake()v0.2
verifyHandshake()v0.2
delegate()v0.3
verifyDelegation()v0.3

ライセンス

Apache-2.0 — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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