Skip to main content
Glama

MCPico

MCP proxy that bundles flat tool lists into hierarchical subcommand groups.

MCPico (MCP + "ico" = tiny) wraps upstream MCP servers, grouping their tools into discoverable subcommand-based tools. One tool per group, not one per tool. The help subcommand auto-generates rich documentation from upstream schemas.

The Problem

MCP servers expose tools as a flat list. Every tool costs context tokens. A filesystem server exposes 14+ separate tools — the model sees all of them, all the time, even when it only needs one.

Some clients add "tool search" as a workaround. But searching requires the model to proactively look for tools it doesn't know exist. No structural signal about which tools relate to each other.

Related MCP server: mcp-compressor

MCPico's Solution

Group related tools under a single entry point. The model sees 9 groups instead of 14 tools. Discovery is built-in via help:

→ filesystem tools:
  14 tools → 9 groups: read, write, edit, create, list, directory, move, search, get

Features

  • Tool bundling — Groups tools by prefix (configurable separator), collapsing flat tool lists

  • Auto-generated help — Each group's help subcommand is built from upstream tool schemas

  • Multi-server aggregation — Proxy multiple upstream MCP servers through one interface

  • Dual transport — Supports both stdio and Streamable HTTP (SSE) upstream servers

  • Configurable timeouts — Per-server connection timeout with sensible default (30s)

  • Resource & prompt passthrough — Namespaced to avoid collisions across servers

Usage

Install

npm install -g mcplico

Configure

Create mcplico.json:

{
  "servers": [
    {
      "name": "filesystem",
      "transport": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
      }
    }
  ]
}

Run

mcplico

Connect your MCP client

Add MCPico as a server in your MCP client config:

{
  "mcpServers": {
    "mcplico": {
      "command": "mcplico",
      "args": ["--config", "/path/to/mcplico.json"]
    }
  }
}

How it works

  1. Connect to upstream MCP servers

  2. Discover their tools (tools/list)

  3. Group tools by prefix (configurable separator, default _)

    • filesystem_read_file, filesystem_write_file → group filesystem

  4. Register each group as a single MCP tool with a command string argument

  5. Forward tool calls by parsing <subcommand> {"key":"value"} and proxying to upstream

  6. Generate help dynamically from original tool schemas

Command format

<subcommand> {"arg1":"val1","arg2":"val2"}

Examples:

  • help — see all subcommands and their parameters

  • read_file {"path":"/tmp/hello.txt"} — call a specific tool

  • write_file {"path":"/tmp/out.txt","content":"hello"} — with arguments

Multi-server aggregation

MCPico can proxy multiple upstream servers simultaneously:

{
  "servers": [
    {
      "name": "filesystem",
      "transport": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
      }
    },
    {
      "name": "github",
      "transport": {
        "type": "sse",
        "url": "https://mcp-github.example.com/mcp"
      }
    }
  ]
}

Groups from different servers are merged if they share a prefix. Otherwise each server's tools appear as separate groups.

Configuration

Field

Type

Default

Description

servers

ServerConfig[]

required

Upstream MCP servers to proxy

separator

string

"_"

Separator for prefix-based tool grouping

groups

object

{}

Explicit group overrides ({ "group": ["tool1","tool2"] })

ServerConfig

Field

Type

Required

Description

name

string

yes

Friendly name / group namespace

transport

TransportConfig

yes

How to connect to the upstream server

connectTimeoutMs

number

no

Connection timeout in ms (default: 30000)

TransportConfig (stdio)

Field

Type

Required

Description

type

"stdio"

yes

Transport type

command

string

yes

Executable to spawn

args

string[]

no

Command-line arguments

env

object

no

Environment variables

cwd

string

no

Working directory

TransportConfig (SSE / Streamable HTTP)

Field

Type

Required

Description

type

"sse"

yes

Transport type

url

string

yes

Full URL to MCP Streamable HTTP endpoint

Development

npm install
npm run build    # TypeScript compilation
npm test         # Run tests (77 tests, vitest)
npm run dev      # Run directly with tsx

License

MIT

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Acts as a proxy for multiple MCP servers, reducing context window usage from 15,000+ tokens to ~500 tokens by dynamically loading servers on-demand and exposing only 3 tools instead of all tool definitions.
    Last updated
    5
    GPL 3.0
  • A
    license
    -
    quality
    A
    maintenance
    A proxy server that wraps existing MCP servers to significantly reduce token consumption by compressing tool descriptions into a two-step interface. It enables users to integrate extensive toolsets without exceeding context limits or incurring high API costs.
    Last updated
    104
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    Reduces LLM context window overhead by proxying multiple MCP servers through a few efficient dispatch tools instead of registering hundreds of individual tool schemas. It supports multi-account routing and tool discovery for both CLI-based and persistent MCP server configurations.
    Last updated
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Aggregates tools from multiple upstream MCP servers and exposes them through 4 meta-tools, enabling LLMs to discover and use hundreds of tools without loading all schemas upfront.
    Last updated
    2
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lxg2it/mcplico'

If you have feedback or need assistance with the MCP directory API, please join our Discord server