mcpField
O
openglass-mcp

openglass-mcp

リモート
openglass.glassAI・エージェント12 週間前に更新
リポジトリ公式サイト

openglass-mcp について

OpenGlassは、AIエージェント間のやり取りを記録し、検証する中立的なレイヤーです。エージェントの登録、操作の証明、封印されたセッションを必要とするチーム向けに、ベンダー中立のリスクポリシーとフレームワーク連携を備えています。

主な機能

  1. 01エージェントの登録と利用権取得
  2. 02操作の証明と立会いセッション
  3. 03セッション記録の独立検証
  4. 04バージョン管理されたベンダー中立のリスクポリシー
  5. 05OpenTelemetryおよびLangChain連携

活用シーン

  1. 01エージェント間の交渉を記録
  2. 02セッション記録を独立して検証
  3. 03証明前に操作リスクを分類
  4. 04OpenTelemetryまたはLangChainの呼び出しを証明

MCP 対応

OpenGlassは`/mcp`でMCPエンドポイントを提供します。MCPツールを通じて、クライアントはエージェント登録、操作の証明、立会いセッション機能を利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.openglass.glass/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

14
パラメーター型必須説明
authobjectはい
auth.kidstringはい署名鍵 ID(key_...)、または register_agent 用のリテラル "new"。
auth.sigstringはいOpenGlass SPEC §4.1 に準拠する base64url Ed25519 署名です。sha256(JCS({method, path, timestamp, nonce, bodySha256})) に対してローカルで計算します。このサーバーは代わりに計算できません。秘密鍵を保持または生成することはありません。
auth.noncestringはい新しいランダム値(base64url を推奨)。リクエストごとに一意である必要があります。
auth.agentIdstringいいえ自分の agent ID(agt_...)。register_agent の自己署名呼び出しの場合のみ省略します。
auth.timestampstringはい署名時の RFC3339 UTC タイムスタンプ。例:new Date().toISOString()。
metaobjectいいえ
meta.homepagestringいいえ
meta.softwarestringいいえ
namestringはいこの agent の人間が読める名前です。
publicKeystringはいEd25519 公開鍵。base64url でエンコードします(43 文字、パディングなし)。
descriptionstringはいこのエージェントの機能。公開プロフィールに表示されます。

詳細

OpenGlass

エージェント間のやり取りを中立的に見届けます。docs/SPEC.md と CLAUDE.md をご覧ください。

ローカルで実行する

docker compose up --build -d --wait
curl -k https://localhost/health     # {"status":"ok","checks":{"mongo":"ok","s3":"ok"}}

Caddy は内部 CA の証明書を使用して https://localhost を配信します。-k は証明書の検証をスキップします。代わりに CA を信頼するには、次のようにします。

docker compose cp caddy:/data/caddy/pki/authorities/local/root.crt ./caddy-root.crt
curl --cacert caddy-root.crt https://localhost/health
サービスURL備考
webhttps://localhost/Next.js
apihttps://localhost/health, /v1/*Fastify。起動のたびに migrate を実行します。
mcphttps://localhost/mcp
mongomongodb://localhost:27017/openglass?directConnection=truemongo:7、単一ノードのレプリカセット rs0
miniohttp://localhost:9001(コンソール)バケット openglass-records、Object Lock は有効です。ユーザー openglass / openglass-dev-secret。
mailpithttp://localhost:8025送信メールをすべて受信します

MinIO は公式イメージを公開しなくなったため、compose ではリリースに固定した、メンテナンスされているコミュニティビルド pgsty/minio を使用します。

動作を見る

examples/witnessed-negotiation は、実行可能なエンドツーエンドのデモです。2 つのエージェントが登録し、割り当てを受け、見届けられたセッションで発注書について交渉し、セッションを終了して、作成された記録をそれぞれ独立して検証します。モックではなく、実際の API を使用します。examples/README.md をご覧ください。

リスクポリシー

/spec/openglass-policy は、エージェントのアクションを low/medium/high リスクに分類するための、バージョン管理された小規模なベンダー中立 YAML 形式です。アクションに見届けられた記録を残す価値がある「タイミング」を判断するものであり、アテステーションの仕組み自体とは分離されています(docs/SPEC.md §12)。リファレンス評価器は core-js(@openglass/core)と core-py(openglass-core)です。共通のテストベクトルセットを使って同期を保っています。ガイドについては docs/POLICY.md をご覧ください。

インテグレーション

otel-js/otel-py(openglass-otel)は、すでに OpenTelemetry で計装されているエージェントに組み込めます。SpanProcessor が GenAI スパンを読み取り、それぞれを openglass-policy に照らして分類し、リスクのあるものについてアテステーションを開始します。エージェント自体に OpenGlass 固有のコードは必要ありません。実行可能なデモについては examples/otel-integration をご覧ください。langchain-py(openglass-langchain)も、BaseCallbackHandler を介して LangChain のツール呼び出しに同じ仕組みを提供します。詳しくは examples/langchain-integration をご覧ください。/integrations/_template は、各インテグレーションが必ず合格しなければならない適合性テストを含む、フレームワーク固有の新しいインテグレーションを始めるためのテンプレートです。

公開されている /integrations ページは、リクエストを募る場です。各フレームワークのカード(静的カタログ apps/api/data/integrations.yaml を参照)、投票とリクエストフォーム(GitHub OAuth ではなく既存のオーナーログインで制限されています。その理由については、これを追加した PR をご覧ください)、およびステータスを更新する /integrations/admin の管理者ビューがあります。管理者アクセスには ADMIN_EMAILS 環境変数(オーナーのメールアドレスをカンマ区切りで指定)が必要です。設定されるまでは、誰も管理者ではありません。

scripts/adoption-review.ts は、この掲示板の最新データを使ってレポートを生成する実行可能なスクリプトです(投票ランキング、次に優先すべき 3 つのフレームワーク、新しいリクエスト)。無人で定期実行するのではなく、必要に応じて自分で実行するか、独自の cron から実行してください。

node --experimental-strip-types scripts/adoption-review.ts
# optionally: OG_ADMIN_SESSION_COOKIE="og_session=..." to include the request queue (admin-only)

開発とテスト

corepack enable
pnpm install
pnpm -r build
pnpm -r typecheck
pnpm -r test          # starts a throwaway mongo:7 container (needs Docker)
同じテストを異なる MongoDB で実行する

データベースは MONGODB_URI のみで設定します。MONGODB_URI が未設定の場合、テストでは使い捨ての mongo:7 コンテナを起動します。設定されている場合は、そのサーバーに対して実行します。各テストファイルでは専用の og_test_<random> データベースを使用し、実行後にコレクションを削除します。

# the local compose Mongo
MONGODB_URI='mongodb://localhost:27017/openglass?directConnection=true' pnpm -r test

# an Atlas free-tier cluster: only the URI changes
MONGODB_URI='mongodb+srv://<user>:<password>@<cluster>.mongodb.net/openglass?retryWrites=true&w=majority' pnpm -r test

Atlas で実行する場合:

  • データベースユーザーには readWriteAnyDatabase と dbAdminAnyDatabase が必要です。テストではファイルごとにデータベースを作成し、migrate で collMod を実行してバリデーターを設定します。
  • お使いの IP アドレスをクラスターのアクセスリストに登録する必要があります。

本番アプリのユーザーに必要なのは、openglass データベースに対する readWrite と dbAdmin のみです。

スキーマの変更
  • コレクションは packages/db/src/models で定義します。それぞれに Zod モデル、そのモデルから生成される $jsonSchema バリデーター、名前付きインデックスがあります。migrate は API の起動時にロックを取得し、すべてをべき等に適用します。
  • データの変更は、バージョン管理されたスクリプトに記述します。pnpm --filter @openglass/db migration:create <name> を実行すると、packages/db/migrations にスクリプトが作成されます。

デプロイ

main は .github/workflows/deploy.yml によってビルドされ、ECR にプッシュされた後、単一の EC2 インスタンスにデプロイされます。AWS リソースと初回セットアップについては infra/README.md をご覧ください。

コメント

MCP は初めてですか?

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

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