glassbox-framework について
Glass Box Frameworkは、AIの回答を実行時に検証するフレームワークです。質問と回答から、主張の推論過程、透明なスコア、敵対的プローブ、判定を含む追跡可能なTrust Cardを生成します。回答リスクや監査記録を確認する開発者向けに、PythonクライアントとMCPサーバーを提供します。
主な機能
- 01推論チェーン付きの主張抽出
- 02次元別ECSスコアの提示
- 037種類の敵対的プローブの実行
- 04デプロイ意図に基づく規則評価
- 05再現可能なSHA-256監査IDの生成
活用シーン
- 01実行時にAI生成回答を検査
- 02回答中の主張と根拠を確認
- 03自然言語のデプロイ意図に照らして回答を評価
- 04追跡可能な監査レポートを出力
MCP 対応
Node MCPサーバーは、回答検証、主張抽出、スコアリング、レッドチーム検査、Trust Card生成、監査出力の6ツールを提供します。Pythonクライアントはstdio JSON-RPC経由でこのMCPサーバーを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @glassbox-framework/mcpANTHROPIC_API_KEYシークレットYour Anthropic API key (sk-ant-...). Required for the claim extractor, red team, constitution engines, and ECS coherence checks. One v1 tool (generate_trust_card) works without an API key — it's pure assembly + deterministic audit hashing.GLASSBOX_MODELOverride the Claude model used by the verification engines. Defaults to claude-sonnet-4-6.GLASSBOX_MAX_TOKENSシークレットPer-engine-call max-tokens cap. Defaults to 2048; raise for verifying long-form content.GLASSBOX_ECS_MODEECS aggregation mode: arithmetic (weighted mean, default) or geometric (stricter — any zero dimension collapses the total).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| answer | string | はい | |
| intents | array | いいえ | |
| question | string | はい |
詳細
Glass Box Framework
AI の回答を実行時に憲法的に検証します。 すべての主張に推論の連鎖が伴います。すべてのスコアの内訳がわかります。すべての判定を追跡できます。
⭐️ 実行時の AI 検証を標準にしたい方は、このリポジトリにスターを付けてください。 スターが増えるたびに、GitHub、MCP Registry、Smithery での Glassbox の検索順位が上がります。つまり、Trust Card なしで AI 機能をリリースする前に、より多くの開発者に見つけてもらえます。
pip install glassbox-framework # Python
npm install -g @glassbox-framework/mcp # Node / MCP
brew install thebarmaeffect/glassbox/glassbox-mcp # macOS
無料で使える公開版 GlassBox Lite
このリポジトリには、有料のモデル API を必要としない、別個の決定論的な Lite 検証ツールとクロスプラットフォームゲートウェイも含まれています。
- Web アプリ/インストール可能な PWA
- ChatGPT、Claude、および互換性のあるクライアント向けの公開リモート MCP
- GitHub App
- Discord
- Telegram
- Notion:
https://glassbox-platform-gateway.onrender.com/appを埋め込みます - ブラウザー、VS Code、JetBrains のパッケージ:最新の GitHub リリース
Lite は範囲を限定した構造チェックを行いますが、ウェブを閲覧したり、事実の真偽を確立したりはしません。以下で説明する、元の 6 ツールからなるモデル支援型 MCP は、これとは別の提供形態です。
各インテグレーションの稼働中、ダウンロード可能、パイロット、および外部レビューの正確な状況については、PLATFORMS.md をご覧ください。
概要
Glass Box Framework は (question, answer) のペアをランタイム検証パイプラインに渡し、以下を含む構造化された Trust Card を返します。
- Claims — 回答内のすべての原子的な主張。それぞれに、なぜ主張されているのか、何が裏付けとなるのか、何が反証となるのかを説明する推論チェーンが付属します。
- Epistemic Confidence Score (ECS) — 5 つの次元を対象とする、透明性の高い加重集計です。公開された計算式と、常に表示される次元ごとの内訳が含まれます。
- Glassbox Court — 7 つの敵対的プローブ(捏造、情報源の操作、バイアスの注入、コンテキスト攻撃、過信、仕様不足、憲法違反)。
- Constitution — 自然言語で記述したデプロイヤーの意図を、構造化されたランタイムルールにコンパイルし、回答に照らして評価します。
- Verdict —
trust/caution/rejectと、その判定に至った正確な根拠です。 - Audit reference — 決定論的な SHA-256 の log_id。同一の入力であれば、実行環境や言語が異なっても同じ識別子が生成されます。
意図的に、単一の LLM 呼び出しをラップしたものではありません。すべての主張に付属する推論チェーン、ECS の計算式、監査ハッシュの決定性が一体となって、「Glass Box」の原則、つまり不透明なスコアをなくすことを実現しています。
クイックスタート(Python)
from glassbox_framework import Glassbox
with Glassbox() as gb:
card = gb.verify_answer(
question="Can intermittent fasting cure type 2 diabetes?",
answer="Yes ...",
intents=[
"Never make specific medical claims without citing peer-reviewed sources.",
"Always recommend consultation with a licensed healthcare professional.",
],
)
print(card["verdict"]) # "reject"
print(card["ecs"]["total"]) # 0.6032
print(card["audit"]["log_id"]) # glassbox-85cc09903bd4... (deterministic)
6 つのツール
| ツール | 用途 |
|---|---|
glassbox_verify_answer | 完全なパイプライン → Trust Card |
glassbox_extract_claims | 推論チェーン付きの原子的な主張 |
glassbox_score_ecs | 詳細な内訳と計算式を含む ECS |
glassbox_red_team | Glassbox Court — 7 つの敵対的プローブ |
glassbox_generate_trust_card | 事前に構築した要素から Trust Card を組み立てます(LLM 呼び出しなし) |
glassbox_export_audit_report | 完全なパイプラインと決定論的な SHA-256 監査ログ |
完全なスキーマ、例、設定については、mcp/README.md を参照してください。Python の pip に関するドキュメントについては、mcp/python/README.md を参照してください。
アーキテクチャ(2 層構成)
┌──────────────────────────────────────────────────────────┐
│ glassbox-framework (PyPI) Python client │
│ thin JSON-RPC stdio wrapper │
│ spawns ↓ │
├──────────────────────────────────────────────────────────┤
│ @glassbox-framework/mcp (npm) Node MCP server │
│ 6 tools, Zod-validated I/O │
│ ↳ verify_answer ↳ extract_claims ↳ score_ecs │
│ ↳ red_team ↳ generate_trust_card │
│ ↳ export_audit_report │
└──────────────────────────────────────────────────────────┘
Python クライアントはそれ自体では LLM 呼び出しを一切行いません。stdio 経由で MCP サーバーに引数を転送し、返された JSON を表示します。ANTHROPIC_API_KEY を一度設定すれば、両方の層で使用できます。
Claude Desktop での使用
{
"mcpServers": {
"glass-box": {
"command": "npx",
"args": ["-y", "@glassbox-framework/mcp"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}
macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json です。
決定性
監査用の log_id は、(inputs_hash, claims, ECS dimensions, red-team probe verdicts, constitution evaluations) の正規化済み JSON を基にした SHA-256 ハッシュです。タイムスタンプは記録されますが、ハッシュには含まれません。そのため、入力とエンジンの出力が同一であれば、実行、マシン、さらには言語が異なっても、常に同じ log_id が生成されます(Python クライアント → Node サーバー → JSON の正規化によって、バイト単位で同一のハッシュが生成されます)。
API キーなしで検証できる例:
pip install glassbox-framework
python -c "
import json
from glassbox_framework import Glassbox
with open('mcp/demo/raw-inputs.json') as f: i = json.load(f)
with Glassbox() as gb:
c = gb.generate_trust_card(
question=i['question'], answer=i['answer'],
claims=i['claims'], red_team=i['red_team'], ecs=i['ecs'],
constitution=i['constitution'])
print(c['audit']['log_id']) # glassbox-85cc09903bd4b3f8022a4087
"
プロジェクトの構成
mcp/ — the MCP server + Python client (this release)
├── src/ — TypeScript MCP server (6 tools)
├── python/ — Python pip package (glassbox-framework)
├── homebrew/ — Homebrew formula
├── assets/ — Launch video + reveal + title cards
├── demo/ — Live terminal demo with prebuilt Trust Card
├── Dockerfile — Container image
├── server.json — MCP Registry manifest
├── smithery.yaml — Smithery.ai manifest
├── LAUNCH.md — Launch kit
└── DISTRIBUTION.md — Every channel's status + commands
LICENSE — Apache 2.0
ROADMAP.md — Phase 5 (governor) plans for the broader framework
CONTRIBUTING.md
CHANGELOG.md
コントリビューション
Glassbox は Apache 2.0 のもとでオープンソースとして公開されており、フォークや PR を積極的に歓迎しています。 ぜひご協力いただきたい項目をいくつかご紹介します。
- レッドチームのプローブを増やす —
mcp/src/engines/redteam.tsには、alignment_faking、reasoning_trace_deception、eval_awareness_gaming、agentic_misalignment、sustained_jailbreak用の// v2:プレースホルダーがあります。それぞれ取り組みやすい PR です。既存の 7 つのプローブと同じ形式で、異なる角度から検証します。.github/ISSUE_TEMPLATE/good_first_issue.mdをご覧ください。 - 対応言語のクライアントを増やす — 現在は Python(
glassbox-framework)と Node(@glassbox-framework/mcp)に対応しています。Go、Rust、Ruby、Swift、Kotlin で、既存の MCP サーバーを起動する薄い JSON-RPC クライアントを開発していただけると助かります。 - インテグレーションを増やす — Cursor / Cline / Continue / Roo Cline / Zed / Neovim など、MCP を読み込むあらゆる場所で、Glassbox をすぐに導入できるようにしたいと考えています。
- 実世界の Trust Card の例 — ご自身の AI ワークフローから(Q, A)のペアを投稿し、テストスイートがより幅広いケースをカバーできるようご協力ください。
手順:
good first issueを選ぶか、アイデアを添えて issue を作成します- フォークしてブランチを作成し、作業します。PR テンプレートに検証方法が記載されています
- CI に合格する必要があります(
.github/workflows/ci.yml)— TS の strict モード、Python の wheel ビルド、正規の監査ハッシュにおける言語間の決定性 - PR を作成します。48 時間以内のレビューを目指しています
行動規範:Contributor Covenant 2.1。親切に、議論の本題を大切にし、ハラスメントは行わないでください。公開チャンネル以外での連絡は [email protected] までお願いします。
このリポジトリに ⭐ を付ける
今すぐできる一番手軽な支援は、リポジトリにスターを付けることです。スターを付けると、次の効果があります。
- GitHub の MCP トピック一覧で Glassbox が上位に表示されます
- MCP Registry と Smithery のランキングでプロジェクトの順位が上がります
- AI セーフティツールを評価している次の開発者に、注目すべきツールだと伝わります
作者
Karthik Barma · Northeastern University、人工知能修士。
Aura 提供。
Issue と PR:https://github.com/TheBarmaEffect/glassbox/issues
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。