Open source · Go · Built for AI agents

mcpshim
MCP as local commands

Turn remote MCP servers into simple shell commands. mcpshim keeps sessions in a daemon, discovers tools once, and avoids loading endless metadata into model context.

Built for command-native MCP workflows

The daemon does discovery, auth, and capability management. The CLI stays thin and predictable.

Persistent daemon, local socket

mcpshimd keeps remote MCP connections alive and exposes one local Unix socket for fast, repeatable command execution.

Dynamic tool discovery

The daemon discovers server capabilities and tools on your behalf, then the CLI calls them without manual wrapper code.

Flags become MCP args

CLI flags are translated on the fly into MCP tool parameters so calls feel like native shell commands.

Config-driven registration

Config is the source of truth for server registration. Add servers by URL, set auth headers, reload, and keep everything deterministic.

SQLite-backed runtime state

Call history and OAuth tokens are persisted in a local SQLite database for reliable agent context and repeatable sessions.

Agent-ready and composable

Avoid context pollution from huge MCP tool definitions: register capabilities as simple local commands and invoke only what an agent needs.

How it works

mcpshim sits between your agent and remote MCP servers. The daemon holds connections; the CLI translates flags into tool calls.

01

Define your MCP servers

Add remote servers by URL in a YAML config. Set auth headers, aliases, and environment variables.

02

Start the daemon

Run mcpshimd to connect to all servers and expose a single Unix socket for the CLI.

03

Call tools from the shell

Use mcpshim call or generated wrapper scripts — flags become MCP arguments automatically.

terminal
$mcpshimd &
▸ daemon listening on mcpshim.sock
$mcpshim servers
✓ notion (4 tools) · github (12 tools) · linear (8 tools)
$mcpshim call --server notion --tool search --query "roadmap"
▸ 3 results (42ms)
$mcpshim history --limit 5
▸ 5 calls (notion:search, github:create_issue, ...)

What agents can do with mcpshim

From tool orchestration to context-budget control, mcpshim gives your AI the MCP infrastructure it needs to operate efficiently.

Agent tool orchestration

Let your AI agent discover and call remote MCP tools through thin local commands instead of embedding entire server SDKs.

Context pollution elimination

Stop loading hundreds of MCP tool definitions into model context. Register capabilities once, invoke only what you need per session.

MCP gateway consolidation

Route multiple remote MCP servers through one daemon with unified auth, history, and config — one socket to rule them all.

Universal compatibility

Works with every AI agent

Copilot, Claude, Gemini, Codex — it doesn't matter. If your agent can run a command, it can use any MCP server.

GitHub Copilot

Give Copilot access to remote MCP tools as local commands so it can call APIs, search knowledge bases, and trigger workflows.

Claude

Let Claude invoke remote MCP tools through thin shell commands — no SDK bloat in context, just call what it needs.

Gemini

Connect Gemini to your MCP servers so it can discover tools, run queries, and chain actions across services.

Codex

Equip Codex with MCP-backed commands to fetch data, run operations, and report results without context overhead.

Any Agent

mcpshim is agent-agnostic. Any AI that can run a shell command or read from a Unix socket gets instant MCP access.

mcpshim exposes MCP tools as composable CLI commands. Any AI agent that supports tool-use, function calling, or shell execution can pick them up instantly — zero custom integration code.

Get started in seconds

Let your AI agent set things up, or install manually with Go.

1. Install binaries

Tell your agent to run the Go install commands to get the daemon and CLI.

go install github.com/mcpshim/mcpshim/cmd/mcpshimd@latest
go install github.com/mcpshim/mcpshim/cmd/mcpshim@latest

2. Ask your agent to configure and start

Paste something like this into your agent's chat:

“Create a mcpshim config at ~/.config/mcpshim/config.yaml with the servers I need, start mcpshimd, and verify with mcpshim status.”

Your agent will create the config, start the daemon, and verify everything is working — autonomously.

Daemon + socket architecture

One socket for every MCP server

Your agent doesn't need to manage connections, auth tokens, or capability schemas. mcpshim normalizes everything behind a single local protocol so the agent can focus on reasoning.

  • Persistent connections to all configured MCP servers
  • SQLite-backed call history and OAuth token storage
  • Config-driven server registration with hot reload
  • JSON IPC protocol over Unix domain socket
  • Wrapper scripts for short aliases (mcpshim script --install)
Companion project

Give your agent a voice too

mcpshim gives your agent tools. Pantalk gives it a voice — letting AI agents send, receive, and stream messages across Slack, Discord, Telegram, and 7 more platforms. Together they form a complete agent infrastructure stack.

Build with us

mcpshim is open source. Follow development on GitHub, report issues, or contribute improvements.