Tool Filter MCP
tool-filter-mcp
MCP-Proxy-Server, der Tools von Upstream-MCP-Servern über eine Regex-basierte Sperrliste filtert.
Gewartet: ✅ Ja (Frühjahr/Sommer 26)
Warum sollte man dies verwenden?
Für effektives Kontext-Engineering möchten wir nutzlose Tokens minimieren. Die meisten großen Agenten derzeit (z. B. Claude Code) entfernen keine Tool-Beschreibungen aus dem Kontext. Obwohl das Tool vollständig verweigert und nicht verwendet wird, erhält das Modell dennoch die gesamte Beschreibung und versucht weiterhin, das Tool aufzurufen (und erhält Fehlermeldungen). Bei großen MCPs wie GitHub, Supabase, JetBrains IDE oder Atlassian ist dies katastrophal für den Kontext und führt zu einer Kontextverschmutzung durch 40-60k nutzlose Tokens. Wollten Sie, dass Ihr Agent Jira-Ticket-Beschreibungen sehen kann? Bitte nehmen Sie auch diese 44 nutzlosen Tools zum Bearbeiten von Bearbeitern auf Confluence-Seiten dazu.
Dieses MCP löst das Problem vollständig, ohne Overhead zu verursachen. Beiträge sind willkommen!
Related MCP server: mcp-tool-filter
Installation
# For HTTP/SSE MCP servers
npx @respawn-app/tool-filter-mcp --upstream <url> --deny <patterns>
# For stdio MCP servers
npx @respawn-app/tool-filter-mcp --upstream-stdio --deny <patterns> -- <command> [args...]Verwendung
Grundlegendes Beispiel (HTTP/SSE)
Filtern von Tools, die dem Muster .*_file$ entsprechen, von einem HTTP-MCP-Server:
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--deny ".*_file$"Grundlegendes Beispiel (stdio)
Filtern von Tools von einem lokalen stdio-MCP-Server:
npx @respawn-app/tool-filter-mcp \
--upstream-stdio \
--deny "dangerous_.*" \
-- npx my-mcp-serverMit Umgebungsvariablen (stdio)
Übergeben von Umgebungsvariablen an den Upstream-stdio-Server:
npx @respawn-app/tool-filter-mcp \
--upstream-stdio \
--env "API_KEY=secret123" \
--env "DEBUG=true" \
--deny "admin_.*" \
-- npx my-mcp-serverMehrere Muster
Verwenden Sie durch Kommas getrennte Muster:
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--deny "get_file_text,create_new_file,replace_text"Mit Authentifizierungs-Headern
Hinzufügen benutzerdefinierter Header für die Authentifizierung:
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--header "Authorization: Bearer your-token-here" \
--header "X-API-Key: your-api-key"Header unterstützen die Erweiterung von Umgebungsvariablen (falls noch nicht von Ihrer App erweitert):
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--header "Authorization: Bearer $AUTH_TOKEN"Verfügbare Tools auflisten
Entdecken Sie, welche Tools verfügbar sind, bevor Sie Filter einrichten:
# Default table format
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--list-tools
# Get comma-separated names for copy-paste
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--list-tools --format=names
# Get full JSON with schemas
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--list-tools --format=json
# Preview filtered results
npx @respawn-app/tool-filter-mcp \
--upstream http://localhost:3000/sse \
--deny ".*_file$" \
--list-tools --format=namesMit Claude Code
HTTP/SSE Upstream-Server
Fügen Sie dies zu Ihrer .mcp.json hinzu:
{
"mcpServers": {
"filtered-http-server": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream",
"http://localhost:3000/sse",
"--deny",
"dangerous_tool_1,dangerous_tool_2"
],
"type": "stdio"
}
}
}Mit Authentifizierungs-Headern (unterstützt die Erweiterung von Umgebungsvariablen):
{
"mcpServers": {
"filtered-http-server": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream",
"http://localhost:3000/sse",
"--header",
"Authorization: Bearer ${API_TOKEN}",
"--header",
"X-Custom-Header: $CUSTOM_VALUE",
"--deny",
"sensitive_.*"
],
"type": "stdio"
}
}
}Stdio Upstream-Server
{
"mcpServers": {
"filtered-zen": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream-stdio",
"--deny",
"dangerous_.*,sensitive_.*",
"--",
"npx",
"my-mcp-server"
],
"type": "stdio"
}
}
}Mit mehreren Argumenten für den Upstream-Server:
{
"mcpServers": {
"filtered-stdio-server": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream-stdio",
"--deny",
"admin_.*",
"--",
"node",
"my-mcp-server.js",
"--config=config.json",
"--verbose"
],
"type": "stdio"
}
}
}Mit Argumenten, die mit Bindestrichen beginnen (wie uvx):
{
"mcpServers": {
"filtered-uvx-server": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream-stdio",
"--deny",
"test_.*",
"--",
"uvx",
"--from",
"git+https://github.com/BeehiveInnovations/zen-mcp-server.git",
"zen-mcp-server"
],
"type": "stdio"
}
}
}Mit Umgebungsvariablen für den Upstream-stdio-Server:
{
"mcpServers": {
"filtered-server-with-env": {
"command": "npx",
"args": [
"@respawn-app/tool-filter-mcp",
"--upstream-stdio",
"--env",
"API_KEY=${MY_API_KEY}",
"--env",
"DEBUG=true",
"--deny",
"admin_.*",
"--",
"npx",
"my-mcp-server"
],
"type": "stdio"
}
}
}CLI-Optionen
Tool-Liste
Drucken Sie die Liste der verfügbaren Tools, ohne einen Proxy-Server zu starten
--list-tools: Verfügbare Tools vom Upstream auflisten und beenden--format <type>: Ausgabeformat für--list-tools(Standard:table)table: Menschenlesbare Tabelle mit Beschreibungen (gekürzt auf 100 Zeichen)json: Vollständige JSON-Ausgabe mit vollständigen Schemasnames: Durch Kommas getrennte Tool-Namen für einfaches Kopieren und Einfügen
Verbindungsmodus (schließen sich gegenseitig aus)
Um den Proxy-Server zu starten, müssen Sie genau eines der folgenden angeben:
--upstream <url>: Verbindung zum Upstream-HTTP/SSE-MCP-Server herstellen--upstream-stdio: Upstream-stdio-MCP-Server starten und verbindenErfordert Befehl und Argumente nach dem
---TrennzeichenBeispiel:
--upstream-stdio -- npx zen-mcp-server
Allgemeine Optionen
--deny <patterns>: Durch Kommas getrennte Regex-Muster für zu filternde Tools
HTTP/SSE-Modus-Optionen
Nur anwendbar mit --upstream:
--header <name:value>: Benutzerdefinierter HTTP-Header, der an den Upstream-Server übergeben werden soll (kann für mehrere Header wiederholt werden)Format:
--header "Header-Name: value"Unterstützt die Erweiterung von Umgebungsvariablen:
$VARoder${VAR}Beispiel:
--header "Authorization: Bearer $TOKEN"
Stdio-Modus-Optionen
Nur anwendbar mit --upstream-stdio:
--env <KEY=value>: Umgebungsvariable, die an den Upstream-stdio-Server übergeben werden soll (kann für mehrere Variablen wiederholt werden)Format:
--env "KEY=value"Beispiel:
--env "API_KEY=secret" --env "DEBUG=true"
Geben Sie nach dem
---Trennzeichen den Befehl und alle seine Argumente anAlles nach
--wird an den Upstream-Server weitergeleitetUnterstützt Argumente, die mit Bindestrichen beginnen (wie
--from,--configusw.)Beispiel:
--upstream-stdio -- uvx --from git+https://... package-name
Anforderungen
Node.js >= 20.0.0
Upstream-MCP-Server mit:
SSE oder Streamable HTTP-Transport (für
--upstream), ODERstdio-Transport (für
--upstream-stdio)
Lizenz
MIT
Copyright (c) 2026 Respawn LLC
This server cannot be deployed
Maintenance
Related MCP Connectors
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA configurable proxy that filters GitHub MCP server tools via YAML whitelist, reducing context consumption from 100+ tools to only the ones you need while providing meta-tools to discover available functionality.MIT
- AlicenseNot gradedqualityDmaintenanceA generic MCP proxy that filters which tools are exposed from a remote MCP server, reducing context window token usage by only loading the tools you actually need.7 npm1MIT
- AlicenseNot gradedqualityCmaintenanceReduces AI token consumption by optimizing MCP tool definitions and responses, with a probe for measurement and a gate for filtered tool exposure and cost reduction.MIT
- AlicenseNot gradedqualityBmaintenanceReduces token costs from MCP tool schemas by analyzing bloat, compressing descriptions, and selecting only relevant tools for AI agents.MIT