MCPico
Proxies the GitHub MCP server, bundling GitHub-related tools into grouped subcommands for streamlined access and reduced context overhead.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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, getFeatures
Tool bundling — Groups tools by prefix (configurable separator), collapsing flat tool lists
Auto-generated help — Each group's
helpsubcommand is built from upstream tool schemasMulti-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 mcplicoConfigure
Create mcplico.json:
{
"servers": [
{
"name": "filesystem",
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
]
}Run
mcplicoConnect 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
Connect to upstream MCP servers
Discover their tools (
tools/list)Group tools by prefix (configurable separator, default
_)filesystem_read_file,filesystem_write_file→ groupfilesystem
Register each group as a single MCP tool with a
commandstring argumentForward tool calls by parsing
<subcommand> {"key":"value"}and proxying to upstreamGenerate help dynamically from original tool schemas
Command format
<subcommand> {"arg1":"val1","arg2":"val2"}Examples:
help— see all subcommands and their parametersread_file {"path":"/tmp/hello.txt"}— call a specific toolwrite_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 |
|
| required | Upstream MCP servers to proxy |
|
|
| Separator for prefix-based tool grouping |
|
|
| Explicit group overrides ( |
ServerConfig
Field | Type | Required | Description |
|
| yes | Friendly name / group namespace |
|
| yes | How to connect to the upstream server |
|
| no | Connection timeout in ms (default: 30000) |
TransportConfig (stdio)
Field | Type | Required | Description |
|
| yes | Transport type |
|
| yes | Executable to spawn |
|
| no | Command-line arguments |
|
| no | Environment variables |
|
| no | Working directory |
TransportConfig (SSE / Streamable HTTP)
Field | Type | Required | Description |
|
| yes | Transport type |
|
| 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 tsxLicense
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Search, vet & assemble MCP servers from your agent: verified tools, risk labels, and trust scores.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceActs 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.5GPL 3.0
- AlicenseNot gradedqualityAmaintenanceA 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.142Apache 2.0
- AlicenseNot gradedqualityDmaintenanceReduces 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.MIT
- AlicenseNot gradedqualityBmaintenanceAggregates 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.174 PyPI3Apache 2.0