mcpField
R
rail-score

rail-score

リモート
responsibleailabs.aiセキュリティ018 週間前に更新
リポジトリ公式サイト

rail-score について

rail-score は、コンテンツ評価、安全ガードレール、インドの DPDP 法対応ツールをエージェントに提供するホスト型リモート MCP サーバーです。既存の REST API を中継し、ポリシー閾値、インジェクション検出、PII スキャン、ツール呼び出し判定に対応します。

主な機能

  1. 01RAIL の各次元でポリシー付きコンテンツ評価
  2. 02複数の規制への準拠状況の確認
  3. 03プロンプトインジェクションとツール呼び出しのリスク検出
  4. 04PII とインジェクション内容のスキャン・マスキング
  5. 05インドの DPDP スキャンと処理ゲート
  6. 06無料の読み取り専用フレームワークリソース

活用シーン

  1. 01エージェントが処理する前の未信頼入力の検査
  2. 02ツール実行前の呼び出し許可・警告・ブロック
  3. 03ツール結果のスキャンと機密情報のマスキング
  4. 04インドでの DPDP 処理フローの確認

MCP 対応

単一の HTTP エンドポイントを通じて、9 個のツールと 3 個の読み取り専用リソースを MCP クライアントに提供します。接続には RAIL API キーが必要で、セルフホストも可能です。

設定

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

エンドポイントhttps://mcp.responsibleailabs.ai/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

RAIL Score MCP サーバー

1つのURLで、あらゆるエージェントに責任あるAIのセーフティレイヤーを追加できます。

リモートホスト型のModel Context Protocolサーバーです。RAIL Score の評価、エージェントのガードレール、インドの DPDP コンプライアンス機能を、Claude、ChatGPT、Cursor、Copilot、Replit Agent、LangGraph、CrewAI、またはカスタムスタックなど、あらゆる MCP クライアントに SDK 統合なしで提供します。

https://mcp.responsibleailabs.ai/mcp

このサーバーは、既存の REST API api.responsibleailabs.ai/railscore/v1/ の前段にある、堅牢化された薄いゲートウェイです。スコアリングロジックは再実装せず、呼び出し元を検証し、エージェントが使いやすいようにリクエストとレスポンスを整形して、エンジンに転送します。MCP と REST のどちらを利用しても、クレジット、テナント管理、レート制限は同一です。

クイックスタート

ダッシュボードから RAIL API キー(rail_...)を取得してください。

Claude Code

claude mcp add --transport http rail https://mcp.responsibleailabs.ai/mcp \
  --header "Authorization: Bearer ${RAIL_API_KEY}"

Cursor / Windsurf(.cursor/mcp.json)

{
  "mcpServers": {
    "rail": {
      "url": "https://mcp.responsibleailabs.ai/mcp",
      "headers": { "Authorization": "Bearer rail_YOUR_KEY" }
    }
  }
}

Claude.ai / Desktop — Settings → Connectors → Add custom connector → URL に https://mcp.responsibleailabs.ai/mcp を入力し、rail_ キーを貼り付けます。

その他のクライアント(OpenAI Responses API、LangGraph、Replit)の設定は docs.responsibleailabs.ai/mcpに記載されています。

ツール

9つのツールはすべて rail_ で始まります。エージェントは説明だけを基にツールを選択するため、説明にはコスト、レイテンシ、ツールを使用すべきでない場合が記載されています。

ツール目的クレジット
rail_evaluate8つの RAIL 次元でコンテンツをスコアリングします(任意で policy を適用)基本 1.0 /詳細 3.0
rail_check_compliancegdpr、ccpa、hipaa、eu_ai_act、india_dpdp、india_ai_gov に照らして確認します5~10
rail_detect_injection信頼できないテキスト内のプロンプトインジェクションを検出します0.5
rail_evaluate_tool_callツール呼び出しを実行する前に、許可/警告/ブロックします1.5~3.0
rail_scan_tool_resultツールの出力を PII とインジェクションについてスキャンし、墨消し済みのテキストを返します0.5~1.0
rail_safe_regenerate合格するまでコンテンツを反復再生成します(低速)1~9
rail_dpdp_scanDPDP Act 2023 に基づき、インドの個人データをスキャンします0.5
rail_dpdp_gateDPDP 処理のリアルタイムゲート(allow/block/require_action)0.3
rail_dpdp_complianceDPDP ワークフロー:emit、require、evidence、session、timers変動

読み取り専用のリソースが3つあります(無料、クレジット消費なし):rail://framework/dimensions、 rail://account/capabilities、および rail://framework/policy-schema(policy パラメーター用の JSON Schema)。

ポリシーの適用

rail_evaluate は、次元ごとのしきい値ルールを指定する任意の policy を受け付け、policy_outcome を返します。次元のスコアがしきい値を下回るとルールが発動します。action は発動したアクションのうち最も重大なもの(block > flag > warn > allow)で、rail-score-sdk の Policy/Rule の形式に準拠します。

{ "rules": [
  { "dimension": "safety",   "threshold": 7.0, "action": "block" },
  { "dimension": "fairness", "threshold": 6.0, "action": "flag" }
] }

優先順位:API キーのアプリケーションでダッシュボードポリシーが適用されている場合は、それが優先されます(policy_outcome.source: "application")。そうでない場合は、リクエストの policy がゲートウェイ内で適用されます(source: "request")。追加のクレジットはかかりません。

ガード付きエージェントループ

標準的な使い方は、エージェントの推論を最初から最後までラップすることです。

  1. 信頼できない入力に対して、処理を行う前に rail_detect_injection を実行します
  2. ツール呼び出しを実行する前に rail_evaluate_tool_call を実行します(ブロックは即時停止)
  3. ツールの出力に対して rail_scan_tool_result を実行します(墨消し済みのテキストを推奨)
  4. 回答案に対して rail_evaluate(deep)を実行するか、rail_safe_regenerate で修正します
  5. インドでのデプロイメントでは、境界外へ出るすべてのデータに対して rail_dpdp_scan(mask)を実行します

セキュリティモデル

安全性を提供する製品そのものが安全でなければ、信頼性を損ないます。リリースを阻む要件(適用済みで、リグレッションテストによる検証も実施済み):

  • 判定結果は構造化データであり、エージェントが無視できる助言的な文章ではありません。
  • 分析対象の内容は一切反映しません。 ツールが返すのは判定結果、スコア、該当箇所、マスキング済みの抜粋のみで、分析対象の生テキストは返しません(二次的なインジェクションを防ぎます)。
  • 生の個人情報は返しません。 検出結果として返すのは、マスキング済みの値とオフセットのみです。
  • テナント分離は設計上確保されています。 ID は認証ミドルウェアで検証されたキーから取得し、ツールのパラメーターからは取得しません。
  • フェーズ 2 ではトークンを引き継ぎません。 クライアントのトークンは検証後に破棄し、下流への呼び出しにはゲートウェイのサービス認証情報を使用します。フェーズ 1 では、ベアラー rail_ キーが顧客の RAIL 認証情報そのものであるため、テナントごとのクレジットと分離を維持するために上流へ転送します。
  • 入力上限、タイムアウト、レート制限、監査ログを適用します(内容の本文は記録しません)。

tests/test_no_reflection.py と tests/test_pii_masking.py を参照してください。これらは CI の必須ゲートとして実行されます。

アーキテクチャ

  • トランスポート: Streamable HTTP のみを使用し、エンドポイントは /mcp の 1 つです(SSE は廃止予定です)。
  • 状態: stateless_http=True、json_response=True により、通常のロードバランサーの背後で水平スケーリングできます。また、MCP 2026-07-28 のステートレスコアに準拠しています。
  • 認証(フェーズ 1): Authorization: Bearer rail_... または X-API-Key: rail_...(後者は Bearer プレフィックスが不要で、ゲートウェイに適しています)による rail_ キーを、auth.RailKeyMiddleware が POST /verify に対して一度だけ検証します(結果は 5 分間キャッシュされます)。その後、リクエストコンテキストに紐付けます。
  • ディスカバリー: GET /.well-known/mcp/server-card.json(公開)により、認証壁の背後をスキャンするレジストリ(Smithery など)がキーなしでツールを列挙できます。
  • 認証(フェーズ 2): SDK の TokenVerifier を使用した OAuth 2.1 リソースサーバー(RFC 9728 メタデータ、RFC 8707 オーディエンスバインディング)。
rail_client.py   thin httpx client to api.responsibleailabs.ai (forwards key, propagates X-Request-ID)
auth.py          RailKeyMiddleware: validate rail_ keys, bind tenant
request_context.py  per-request ContextVars (key, tenant, request id)
server.py        FastMCP app: 9 tools + 3 resources + landing (/) + /health + server-card
server.json      official MCP registry manifest (ai.responsibleailabs/rail-score)

ローカル開発

python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
ruff check . && pytest          # unit + safety regression tests
RAIL_API_BASE=https://api.responsibleailabs.ai python server.py   # serves on :8080

起動中のサーバーに対するプロトコルのスモークテスト(有効なキーが必要です):

npx @modelcontextprotocol/inspector --cli \
  http://localhost:8080/mcp --method tools/list \
  --header "Authorization: Bearer ${RAIL_API_KEY}"
設定
環境変数デフォルト用途
RAIL_API_BASEhttps://api.responsibleailabs.ai上流の REST API
MCP_PORT8080バインドポート
RAIL_UPSTREAM_TIMEOUT60上流呼び出しのタイムアウト(秒)
RAIL_KEY_CACHE_TTL300検証済みキーのキャッシュ TTL(秒)

ホスティング

Responsible AI Labs はホスト型サーバー https://mcp.responsibleailabs.ai/mcp を運用しています。ほとんどの方は、この URL に接続するだけでよく、何も実行する必要はありません。

セルフホストするには、イメージをビルドして HTTP を提供する任意の環境で実行し、RAIL_API_BASE(デフォルト値)を使って公開 REST API に接続してください。シークレットは不要です。顧客の RAIL キーは各リクエストに含まれて送信されます。

docker build -t rail-score-mcp .
docker run -p 8080:8080 -e RAIL_API_BASE=https://api.responsibleailabs.ai rail-score-mcp

レジストリ

server.json と mcp-publisher CLI を使用し、公式 MCP レジストリに ai.responsibleailabs/rail-score として公開されています(DNS 認証済みの responsibleailabs.ai 名前空間)。タグ付きの GitHub リリースにより、publish-registry ジョブが自動実行されます。

サードパーティのディレクトリ(Smithery、Glama、PulseMCP、mcp.so)は、リポジトリと公式レジストリをそれぞれ独立してインデックス化します。各ディレクトリで個別に登録申請し、更新する必要があり、自動同期されないため、掲載内容の更新がリリースより遅れることがあります。

コメント

MCP は初めてですか?

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

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