# mcp-funnel

mcp-funnel brings multiple MCP servers behind one proxy and lets you filter and customize their tools. Use it to manage tools from several servers through a single connection.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 158
- Author: chris-schra
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/chris-schra/mcp-funnel/tree/HEAD/packages/mcp
- Updated: 2025-11-24
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-funnel

## What it does

mcp-funnel acts as a proxy for multiple MCP servers. It lets you filter and customize the tools they expose, bringing those tools under one interface.

To add it to Claude Code, run `claude mcp add mcp-funnel -- npx -y mcp-funnel`. A separate command supports a configuration value through `MCP_FUNNEL_CONFIG`; replace `<MCP_FUNNEL_CONFIG>` with that value. The configuration command needs the value to be supplied.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `MCP_FUNNEL_CONFIG` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MCP_FUNNEL_CONFIG=<MCP_FUNNEL_CONFIG> --transport stdio mcp -- npx -y mcp-funnel
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add mcp --env MCP_FUNNEL_CONFIG=<MCP_FUNNEL_CONFIG> -- npx -y mcp-funnel
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-funnel"
            ],
            "env": {
                "MCP_FUNNEL_CONFIG": "<MCP_FUNNEL_CONFIG>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-funnel"
            ],
            "env": {
                "MCP_FUNNEL_CONFIG": "<MCP_FUNNEL_CONFIG>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MCP_FUNNEL_CONFIG=<MCP_FUNNEL_CONFIG> mcp npx -y mcp-funnel
```
Replace <…> with your own values

## When to use it
- combine several MCP servers behind one proxy
- filter which server tools an agent can access
- customize tools exposed by multiple MCP servers

## Example prompts
- Use the tools from the connected MCP servers through mcp-funnel.
- Filter the MCP server tools available for this task.
- Route access to several MCP servers' tools through mcp-funnel.

## Similar
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107423
- [openshorts](https://affpapa.org/en/nevibecode/mcp/openshorts.md) — MCP server · ★ 7049
- [OpenScreen](https://affpapa.org/en/nevibecode/mcp/openscreen.md) — MCP server · ★ 4863
- [Usertour MCP Server](https://affpapa.org/en/nevibecode/mcp/usertour-mcp-server.md) — MCP server · ★ 2326
- [Appllama](https://affpapa.org/en/nevibecode/mcp/appllama.md) — MCP server · ★ 3046
- [obsei](https://affpapa.org/en/nevibecode/mcp/obsei.md) — MCP server · ★ 1441

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
