Responsible-AI guardrails for agents: scoring, prompt-injection & PII detection, DPDP compliance.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Inspect callable tools, capabilities, and parameters exposed to AI agents by Rail Score.
rail_evaluateScore content across the 8 RAIL dimensions (optional `policy` enforcement)
rail_check_complianceCheck against gdpr, ccpa, hipaa, eu_ai_act, india_dpdp, india_ai_gov
rail_detect_injectionDetect prompt injection in untrusted text
rail_evaluate_tool_callAllow/warn/block a tool call before it runs
rail_scan_tool_resultScan a tool's output for PII + injection, return redacted text
rail_safe_regenerateIteratively regenerate content until it passes (slow)
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.
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.
Nine tools, all rail_-prefixed. Descriptions state cost, latency, and when not
to use a tool, because agents select tools from descriptions alone.
| Tool | Purpose | Credits |
|---|---|---|
rail_evaluate | Score content across the 8 RAIL dimensions (optional policy enforcement) | 1.0 basic / 3.0 deep |
rail_check_compliance | Check against gdpr, ccpa, hipaa, eu_ai_act, india_dpdp, india_ai_gov | 5β10 |
rail_detect_injection | Detect prompt injection in untrusted text | 0.5 |
rail_evaluate_tool_call | Allow/warn/block a tool call before it runs | 1.5β3.0 |
rail_scan_tool_result | Scan a tool's output for PII + injection, return redacted text | 0.5β1.0 |
rail_safe_regenerate | Iteratively regenerate content until it passes (slow) | 1β9 |
rail_dpdp_scan | Scan for Indian personal data under the DPDP Act 2023 | 0.5 |
rail_dpdp_gate | Real-time DPDP processing gate (allow/block/require_action) | 0.3 |
rail_dpdp_compliance | DPDP workflow: emit, require, evidence, session, timers | varies |
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).
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 canonical use is to wrap an agent's reasoning end to end:
rail_detect_injection on untrusted input before acting on itrail_evaluate_tool_call before executing any tool call (block = hard stop)rail_scan_tool_result on the tool's output (prefer the redacted text)rail_evaluate (deep) on the draft answer, or rail_safe_regenerate to fix itrail_dpdp_scan (mask) on anything leaving the boundary in India deploymentsA safety product that is itself unsafe is a credibility failure. The launch blockers (enforced and regression-tested):
rail_ key is the customer's RAIL credential, so it is forwarded upstream to
preserve per-tenant credits and isolation.See tests/test_no_reflection.py and tests/test_pii_masking.py β these run as
a hard CI gate.
/mcp endpoint (SSE is sunset).stateless_http=True, json_response=True β scales horizontally
behind a normal load balancer; aligns with the MCP 2026-07-28 stateless core.rail_ key via Authorization: Bearer rail_... or
X-API-Key: rail_... (the latter is gateway-friendly β no Bearer prefix),
validated once against POST /verify (cached 5 min) by
auth.RailKeyMiddleware, then bound to the request context.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.TokenVerifier.Protocol smoke test against a running server (needs a real key):
| Env var | Default | Purpose |
|---|---|---|
RAIL_API_BASE | https://api.responsibleailabs.ai | Upstream REST API |
MCP_PORT | 8080 | Bind port |
RAIL_UPSTREAM_TIMEOUT | 60 | Upstream call timeout (s) |
RAIL_KEY_CACHE_TTL | 300 | Validated-key cache TTL (s) |
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.
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.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/rail-score)<a href="https://allmcps.com/mcp/rail-score"><img src="https://allmcps.com/api/badge/rail-score?style=directory" alt="Rail Score on AllMCPs" /></a>