josephibra avatar

Shadowgate Mcp

josephibra/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 tools

Public 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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
analyze_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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
redact_secretsReturn the text with detected secrets and sensitive path snippets redacted.2 params

Return the text with detected secrets and sensitive path snippets redacted.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
get_risk_scoreReturn a 0-100 risk score for a text payload.2 params

Return a 0-100 risk score for a text payload.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
decide_policyReturn the policy decision for a payload: allow, redact, or block.3 params

Return the policy decision for a payload: allow, redact, or block.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
strictboolean
Whether to evaluate using strict policy thresholds.default: true
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
inspect_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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
response_textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
inspect_mcp_tool_callScan an outgoing MCP tool call before execution.4 params

Scan an outgoing MCP tool call before execution.

Parameters* required
arguments_jsonstring
JSON string containing the outgoing MCP tool arguments to inspect before execution.
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
gate_mcp_tool_callGateway decision for an outgoing MCP tool call.4 params

Gateway decision for an outgoing MCP tool call.

Parameters* required
arguments_jsonstring
JSON string containing the outgoing MCP tool arguments to inspect before execution.
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
gate_mcp_responseGateway decision for an MCP response.4 params

Gateway decision for an MCP response.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
response_textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
evaluate_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

Parameters* required
arguments_jsonstring
JSON string containing the outgoing MCP tool arguments to inspect before execution.
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
response_textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
inspect_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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
schema_jsonstring
JSON string containing an MCP tool schema or input schema to inspect for risky capabilities.
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
tool_namestring
Name of the MCP tool being inspected, gated, or reviewed.
review_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.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
manifest_jsonstring
JSON string containing an MCP server manifest to review before onboarding or trusting the server.
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
scan_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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
itemsarray
List of text payloads or item objects to scan in one batch.
simulate_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.

Parameters* required
client_keystring
Client key required for protected scan/gateway tools when SHADOWGATE_CLIENT_KEY is configured.default:
textstring
Text payload to scan for leaked secrets, prompt injection, risky commands, or sensitive file paths.
get_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.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
modestring
Policy mode to apply. Expected values are monitor, balanced, or strict.
get_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.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
limitinteger
Maximum number of audit, registry, or result records to return.default: 20
get_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.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
create_security_reportCreate a compact security report from recent audit events.2 params

Create a compact security report from recent audit events.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
limitinteger
Maximum number of audit, registry, or result records to return.default: 50
get_server_registryReturn the ShadowGate MCP server trust registry.1 params

Return the ShadowGate MCP server trust registry.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
get_mcp_server_trustReturn trust status for a specific MCP server.1 params

Return trust status for a specific MCP server.

Parameters* required
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
set_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

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
reasonstring
Human-readable reason for a trust, policy, approval, or registry change.default:
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
trust_levelstring
Trust level for an MCP server. Expected values are trusted, monitor, untrusted, or blocked.
approve_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.

Parameters* required
admin_keystring
Admin key required for protected administrative tools when SHADOWGATE_ADMIN_KEY is configured.default:
manifest_jsonstring
JSON string containing an MCP server manifest to review before onboarding or trusting the server.
reasonstring
Human-readable reason for a trust, policy, approval, or registry change.default:
server_namestring
Name of the external MCP server or agent being inspected, gated, trusted, or reviewed.
trust_levelstring
Trust level for an MCP server. Expected values are trusted, monitor, untrusted, or blocked.default: trusted
get_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

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

View the full README on GitHub

Details

Repository
github.com/josephibra/shadowgate-mcp
Category
Security & Pentesting
Transport
HTTP
Registry
MCP registry, active

Related Security & Pentesting MCP servers

View all
1middlebrick avatarMcp Servermiddlebrick/mcp-serverScan APIs for OWASP Top 10, LLM, and GraphQL security vulnerabilities.0stars
2securityscan-api avatarSecurityScansecurityscan-api/securityscan-apiScan GitHub-hosted AI skills for vulnerabilities: prompt injection, malware, OWASP LLM Top 10.0stars
3behrensd avatarmcpwallbehrensd/mcp-firewalliptables for MCP — blocks dangerous tool calls, scans for secrets, logs everything.0stars
4corporatelad avatarPromptScancorporatelad/prompt-injection-firewallPrompt injection detection API for AI agents. Scan untrusted text before passing it to an LLM.0stars
5richardhan avatarMicrosoft SQL Serverrichardhan/mssql_mcp_serverProvides MCP access to Microsoft SQL Server databases with multi-method authentication and SQL operations via Claude Desktop.345stars
6burtthecoder avatarShodanburtthecoder/mcp-shodanMCP server for Shodan API — device search, IP lookup, DNS, and CVE/CPE queries.135stars