
Rail Score
ai.responsibleailabsv1.1.1更新於 Oct 1, 2026
Responsible-AI guardrails for agents: scoring with policy, injection & PII detection, DPDP.
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Rail Score,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"rail-score": {
"type": "http",
"url": "https://mcp.responsibleailabs.ai/mcp"
}
}
}README
RAIL Score MCP Server
Add a responsible-AI safety layer to any agent in one URL.
A remote, hosted Model Context Protocol server that exposes RAIL Score's evaluation, agent-guardrail, and India DPDP compliance capabilities to any MCP client — Claude, ChatGPT, Cursor, Copilot, Replit Agent, LangGraph, CrewAI, or a custom stack — with zero SDK integration.
The server is a thin, hardened gateway in front of the existing REST API at
api.responsibleailabs.ai/railscore/v1/. It reimplements no scoring logic: it
validates the caller, shapes requests and responses for agent ergonomics, and
forwards to the engine. Credits, tenancy, and rate limits are identical via MCP
and REST.
Quickstart
You need a RAIL API key (rail_...) from the dashboard.
Claude Code
Cursor / Windsurf (.cursor/mcp.json)
Claude.ai / Desktop — Settings → Connectors → Add custom connector → URL
https://mcp.responsibleailabs.ai/mcp, then paste your rail_ key.
More clients (OpenAI Responses API, LangGraph, Replit) are documented at docs.responsibleailabs.ai/mcp.
Tools
Nine tools, all rail_-prefixed. Descriptions state cost, latency, and when not
to use a tool, because agents select tools from descriptions alone.
Three read-only resources (free, zero credits): rail://framework/dimensions,
rail://account/capabilities, and rail://framework/policy-schema (the JSON
Schema for the policy parameter).
Policy enforcement
rail_evaluate accepts an optional policy of per-dimension threshold rules and
returns a policy_outcome. A rule fires when a dimension scores below its
threshold; action is the most severe fired action (block > flag > warn >
allow), mirroring the rail-score-sdk Policy/Rule shape.
Precedence: if the API key's application has a dashboard policy enforced, that
takes precedence (policy_outcome.source: "application"); otherwise the request
policy is applied in-gateway (source: "request"). No extra credits.
The guarded agent loop
The canonical use is to wrap an agent's reasoning end to end:
rail_detect_injectionon untrusted input before acting on itrail_evaluate_tool_callbefore executing any tool call (block = hard stop)rail_scan_tool_resulton the tool's output (prefer the redacted text)rail_evaluate(deep) on the draft answer, orrail_safe_regenerateto fix itrail_dpdp_scan(mask) on anything leaving the boundary in India deployments
Security model
A safety product that is itself unsafe is a credibility failure. The launch blockers (enforced and regression-tested):
- Verdicts are structured data, never advisory prose an agent can ignore.
- No reflection of analyzed content. Tools return verdicts, scores, spans, and masked excerpts — never the raw analyzed text (second-order injection).
- No raw PII. Detection returns masked values and offsets only.
- Tenant isolation by construction. Identity comes from the validated key in the auth middleware, never from a tool parameter.
- No token passthrough in phase 2: client tokens are validated and dropped;
downstream calls use the gateway's service credential. In phase 1 the bearer
rail_key is the customer's RAIL credential, so it is forwarded upstream to preserve per-tenant credits and isolation. - Input caps, timeouts, rate limits, and audit logging (no content bodies).
See tests/test_no_reflection.py and tests/test_pii_masking.py — these run as
a hard CI gate.
Architecture
- Transport: Streamable HTTP only, single
/mcpendpoint (SSE is sunset). - State:
stateless_http=True,json_response=True— scales horizontally behind a normal load balancer; aligns with the MCP 2026-07-28 stateless core. - Auth (phase 1):
rail_key viaAuthorization: Bearer rail_...orX-API-Key: rail_...(the latter is gateway-friendly — no Bearer prefix), validated once againstPOST /verify(cached 5 min) byauth.RailKeyMiddleware, then bound to the request context. - Discovery:
GET /.well-known/mcp/server-card.json(public) lets registries that scan behind an auth wall (e.g. Smithery) enumerate the tools without a key. - Auth (phase 2): OAuth 2.1 resource server (RFC 9728 metadata, RFC 8707
audience binding) via the SDK's
TokenVerifier.
Local development
Protocol smoke test against a running server (needs a real key):
Configuration
Hosting
Responsible AI Labs operates the hosted server at
https://mcp.responsibleailabs.ai/mcp — for almost everyone, just connect to
that URL; you do not need to run anything.
To self-host, build the image and run it anywhere that serves HTTP; point it at
the public REST API with RAIL_API_BASE (its default). No secrets are required:
the customer's RAIL key arrives on each request.
Registry
Published to the official MCP registry as ai.responsibleailabs/rail-score via
server.json and the mcp-publisher CLI (DNS-authenticated responsibleailabs.ai
namespace); a tagged GitHub release runs the publish-registry job automatically.
Third-party directories (Smithery, Glama, PulseMCP, mcp.so) index the repository and the official registry independently. Each is claimed and refreshed separately rather than syncing automatically, so listings can lag a release.
來源:README.md,提交 b81bd90
工具
0版本歷史
1- v1.1.1最新Sep 16, 2026

