MCPico
Facilitates interaction with GitHub's MCP server, enabling management of repositories, issues, pull requests, and other GitHub resources via a proxy that groups tools into subcommands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCPicoshow available groups"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 mcpicoConfigure
Create mcpico.json:
{
"servers": [
{
"name": "filesystem",
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
]
}Run
mcpicoConnect your MCP client
Add MCPico as a server in your MCP client config:
{
"mcpServers": {
"mcpico": {
"command": "mcpico",
"args": ["--config", "/path/to/mcpico.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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/mcpico'
If you have feedback or need assistance with the MCP directory API, please join our Discord server