Skip to content

Releases: respawn-llc/tool-filter-mcp

v0.4.3

Choose a tag to compare

@Nek-12 Nek-12 released this 06 Jan 19:57
v0.4.3
1ad6656

What's Changed

  • Fix NODE_ENV=test preventing MCP server startup by @Nek-12 in #17
  • Update deps and refresh 2026 maintenance by @Nek-12 in #19

Full Changelog: v0.4.1...v0.4.3

v0.4.2 - NODE_ENV Fix & Dependency Updates

Choose a tag to compare

@Nek-12 Nek-12 released this 09 Nov 15:49
v0.4.2
0e592e0

Bug Fixes

  • Fixed NODE_ENV=test preventing MCP server startup (#16, #17)
    • Restructured codebase to separate CLI entry point from library modules
    • Removed NODE_ENV check that caused failures when users spawned Claude programmatically with NODE_ENV=test
    • Tests no longer import from index.ts

Improvements

  • Updated dependencies to fix security vulnerabilities
    • Fixed moderate severity vulnerability in vite (7.1.0 → 7.1.11)
    • Updated all dependencies to latest compatible versions

Changes

  • Refactored code into separate modules:
    • src/cli-args.ts - CLI argument parsing
    • src/client.ts - Upstream client creation
    • src/config.ts - Proxy configuration
    • src/utils/env-parser.ts - Environment variable parsing
    • src/utils/tool-list-formatter.ts - Tool list formatting
  • Enhanced CI workflow with final status check job
  • Added .mcpregistry_* to .gitignore

Full Changelog: v0.4.1...v0.4.2

v0.4.0

Choose a tag to compare

@Nek-12 Nek-12 released this 26 Oct 13:36
v0.4.0
09ca2d3

Features

  • stdio transport support - Connect to MCP servers via stdio, not just HTTP (#12)

    • Use --upstream-stdio -- <command> [args...] to connect to stdio-based MCP servers
    • Support for environment variables via --env KEY=value
    • Example: tool-filter-mcp --upstream-stdio -- npx @modelcontextprotocol/server-memory
  • Tool listing - List available tools with --list-tools flag (#11)

    • Multiple output formats: --format table|json|compact
    • View upstream tools before filtering
    • Verify filters are working as expected
  • LICENSE.txt - Added MIT license file

Fixes

  • Fix leaking upstream subprocess
  • Fix CLI arg validation error
  • Remove unused imports in tests
  • Fix table format to truncate long descriptions

Contributors

v0.3.1

Choose a tag to compare

@Nek-12 Nek-12 released this 09 Oct 16:42
v0.3.1
f06e574

Fixes

  • Fixed proxy not starting when run via npx
  • Server now reports correct version from package.json

Full Changelog: v0.3.0...v0.3.1

v0.3.0 - Streamable HTTP Transport

Choose a tag to compare

@Nek-12 Nek-12 released this 09 Oct 11:42
v0.3.0
d2483ba

Features

Streamable HTTP Transport with SSE Fallback

  • Automatic transport fallback between Streamable HTTP (modern) and SSE (legacy)
  • Smart URL-based transport selection (/mcp → Streamable HTTP, /sse → SSE)
  • Enhanced 405 error handling with Allow header capture and upstream method probing
  • Proper session termination on disconnect

Testing & Quality

  • Comprehensive unit tests for transport selection and 405 handling
  • Integration tests for end-to-end transport verification
  • Added @types/express for test dependencies

Internal Improvements

  • Exported createUpstreamClient for better testability
  • Updated client version to match package version
  • Better resource management and cleanup

Full Changelog: v0.2.0...v0.3.0

v0.2.0 - HTTP Header Pass-Through

Choose a tag to compare

@Nek-12 Nek-12 released this 09 Oct 10:03
v0.2.0
783d9bc

🚀 Features

HTTP Header Pass-Through for Authentication

Add custom HTTP headers to upstream MCP server requests for authentication and authorization.

Key Features:

  • 🔐 Pass authentication headers to upstream servers
  • 🔁 Repeatable --header argument for multiple headers
  • 🌍 Environment variable expansion ($VAR and ${VAR} syntax)
  • ✅ Full validation (format, character set, duplicate detection)
  • 🎯 Headers sent to both SSE and message endpoints

Usage:

# Basic authentication
npx @respawn-app/tool-filter-mcp \
  --upstream http://localhost:3000/sse \
  --header "Authorization: Bearer your-token"

# Multiple headers with env vars
npx @respawn-app/tool-filter-mcp \
  --upstream http://localhost:3000/sse \
  --header "Authorization: Bearer $API_TOKEN" \
  --header "X-API-Key: $API_KEY"

In Claude Code .mcp.json:

{
  "mcpServers": {
    "filtered-server": {
      "command": "npx",
      "args": [
        "@respawn-app/tool-filter-mcp",
        "--upstream", "http://localhost:3000/sse",
        "--header", "Authorization: Bearer ${API_TOKEN}"
      ],
      "type": "stdio"
    }
  }
}

📦 Installation

npm install -g @respawn-app/tool-filter-mcp
# or
npx @respawn-app/tool-filter-mcp

Full Changelog: v0.1.0...v0.2.0

v0.1.0: Initial Release

Choose a tag to compare

@Nek-12 Nek-12 released this 01 Oct 12:36
v0.1.0
c03687a

🎉 Initial Release

MCP proxy server that filters tools from upstream MCP servers via regex-based deny list.

Why use this?

For effective context engineering, we want to minimize useless tokens. Most major agents (e.g. Claude Code) do NOT remove tool descriptions from the context. Even though the tool is completely denied and unused, the model will still get its entire description and still try to call the tool. For big MCPs (github, supabase, jetbrains IDE, atlassian), this leads to context pollution by 40-60k of useless tokens.

This MCP completely solves the issue without introducing any overhead.

Features

  • Tool Filtering: Block specific tools using regex patterns
  • Zero Latency: Cached tool list, minimal overhead
  • Fail-Fast: Immediate error on connection issues or invalid patterns
  • Transparent Proxying: Forwards allowed tool calls to upstream without modification

Installation

```bash
npx @respawn-app/tool-filter-mcp --upstream --deny
```

What's Included

  • ✅ Full MCP SDK integration (@modelcontextprotocol/sdk)
  • ✅ Upstream SSE connection with configurable timeouts
  • ✅ Comprehensive test suite (105 tests)
  • ✅ CLI interface with tool filtering
  • ✅ GitHub Actions CI for Node 20 and 24
  • ✅ ReDoS protection with safe-regex2

Full Changelog: https://github.com/respawn-app/tool-filter-mcp/commits/v0.1.0