
Shadowgate Mcp
This is a security layer that sits between your MCP host and external MCP servers, scanning tool calls and responses for prompt injection, leaked secrets, and dangerous commands before they execute. It exposes tools like gate_mcp_tool_call, gate_mcp_response, and review_mcp_manifest that return allow, block, redact, or warn decisions. You maintain a trust registry (trusted, monitor, blocked) for known servers and get manifest drift detection when a server's capabilities change. Useful if you're chaining multiple MCP servers together and want guardrails before an agent shells out or accesses the filesystem through an untrusted tool. The hosted demo runs on Railway with API key auth, or run it locally as a Python service.
- tools
- 26
- transport
- HTTP
- last updated
- May 14, 2026
Tools
26 toolsPublic tool metadata for what this MCP can expose to an agent.
health_checkReturn ShadowGate MCP health, version, and active policy.
Return ShadowGate MCP health, version, and active policy.
No parameter schema in public metadata yet.
scan_textScan arbitrary text for leaked secrets, prompt injection, risky commands, and sensitive file paths.2 params
Scan arbitrary text for leaked secrets, prompt injection, risky commands, and sensitive file paths.
client_keystringtextstringanalyze_textProfessional public text-analysis tool. This merges the practical outputs of: - scan_text - redact_secrets - get_risk_score - decide_policy - simulate_policy_modes Use this as the main public text safety tool.2 params
Professional public text-analysis tool. This merges the practical outputs of: - scan_text - redact_secrets - get_risk_score - decide_policy - simulate_policy_modes Use this as the main public text safety tool.
client_keystringtextstringredact_secretsReturn the text with detected secrets and sensitive path snippets redacted.2 params
Return the text with detected secrets and sensitive path snippets redacted.
client_keystringtextstringget_risk_scoreReturn a 0-100 risk score for a text payload.2 params
Return a 0-100 risk score for a text payload.
client_keystringtextstringdecide_policyReturn the policy decision for a payload: allow, redact, or block.3 params
Return the policy decision for a payload: allow, redact, or block.
client_keystringstrictbooleantextstringinspect_mcp_responseScan a response returned by another MCP server before the agent trusts it.4 params
Scan a response returned by another MCP server before the agent trusts it.
client_keystringresponse_textstringserver_namestringtool_namestringinspect_mcp_tool_callScan an outgoing MCP tool call before execution.4 params
Scan an outgoing MCP tool call before execution.
arguments_jsonstringclient_keystringserver_namestringtool_namestringgate_mcp_tool_callGateway decision for an outgoing MCP tool call.4 params
Gateway decision for an outgoing MCP tool call.
arguments_jsonstringclient_keystringserver_namestringtool_namestringgate_mcp_responseGateway decision for an MCP response.4 params
Gateway decision for an MCP response.
client_keystringresponse_textstringserver_namestringtool_namestringevaluate_mcp_transactionEvaluate both sides of an MCP interaction: 1. outgoing tool call arguments 2. incoming MCP response5 params
Evaluate both sides of an MCP interaction: 1. outgoing tool call arguments 2. incoming MCP response
arguments_jsonstringclient_keystringresponse_textstringserver_namestringtool_namestringinspect_tool_schemaScan an MCP tool schema/description before allowing agents to use it.4 params
Scan an MCP tool schema/description before allowing agents to use it.
client_keystringschema_jsonstringserver_namestringtool_namestringreview_mcp_manifestReview a simplified MCP server manifest. This is now protected by client_key when SHADOWGATE_CLIENT_KEY is set.4 params
Review a simplified MCP server manifest. This is now protected by client_key when SHADOWGATE_CLIENT_KEY is set.
admin_keystringclient_keystringmanifest_jsonstringserver_namestringscan_batchScan multiple text items in one call. This is now protected by client_key when SHADOWGATE_CLIENT_KEY is set.2 params
Scan multiple text items in one call. This is now protected by client_key when SHADOWGATE_CLIENT_KEY is set.
client_keystringitemsarraysimulate_policy_modesShow how the same text would be handled under monitor, balanced, and strict modes.2 params
Show how the same text would be handled under monitor, balanced, and strict modes.
client_keystringtextstringget_policyReturn the active ShadowGate policy configuration.
Return the active ShadowGate policy configuration.
No parameter schema in public metadata yet.
set_policy_modeChange ShadowGate policy mode: monitor, balanced, or strict.2 params
Change ShadowGate policy mode: monitor, balanced, or strict.
admin_keystringmodestringget_recent_audit_eventsReturn recent ShadowGate audit events. Raw scanned text is never stored.2 params
Return recent ShadowGate audit events. Raw scanned text is never stored.
admin_keystringlimitintegerget_audit_summaryReturn a summary of ShadowGate audit decisions, actions, categories, and severities.1 params
Return a summary of ShadowGate audit decisions, actions, categories, and severities.
admin_keystringcreate_security_reportCreate a compact security report from recent audit events.2 params
Create a compact security report from recent audit events.
admin_keystringlimitintegerget_server_registryReturn the ShadowGate MCP server trust registry.1 params
Return the ShadowGate MCP server trust registry.
admin_keystringget_mcp_server_trustReturn trust status for a specific MCP server.1 params
Return trust status for a specific MCP server.
server_namestringset_mcp_server_trustSet trust level for an MCP server. Allowed trust levels: - trusted - untrusted - monitor - blocked4 params
Set trust level for an MCP server. Allowed trust levels: - trusted - untrusted - monitor - blocked
admin_keystringreasonstringserver_namestringtrust_levelstringapprove_mcp_manifest_identityAdmin tool to approve and persist a manifest trust identity baseline.5 params
Admin tool to approve and persist a manifest trust identity baseline.
admin_keystringmanifest_jsonstringreasonstringserver_namestringtrust_levelstringget_data_pathsReturn ShadowGate data directory paths for policy, registry, and audit logs.
Return ShadowGate data directory paths for policy, registry, and audit logs.
No parameter schema in public metadata yet.
get_security_configReturn ShadowGate admin-auth security configuration without exposing the raw key.
Return ShadowGate admin-auth security configuration without exposing the raw key.
No parameter schema in public metadata yet.
Sponsors
Readme
ShadowGate MCP
Smithery listing: https://smithery.ai/servers/josephibrahim/shadowgate-mcp ShadowGate MCP is a defensive gateway and firewall for AI agents that use MCP servers.
Current version: 0.4.0-hardened
Architecture
AI agent or MCP host -> ShadowGate MCP -> risk decision -> external MCP server/tool
ShadowGate checks:
- MCP tool calls before execution
- MCP responses before delivery to the agent
- MCP tool schemas and server manifests
- prompt injection attempts
- leaked secret paths
- dangerous shell commands
- suspicious filesystem, browser, network, database, credential, and billing capabilities
- manifest identity, approval baseline, and drift
- unknown, trusted, monitored, and blocked MCP servers
Possible decisions:
- allow
- allow_with_warning
- redact
- block
Hosted Demo
Live Railway deployment:
https://web-production-62b0d.up.railway.app/mcp
Details
- Repository
- github.com/josephibra/shadowgate-mcp
- Category
- Security & Pentesting
- Transport
- HTTP
- Registry
- MCP registry, active