MCP Catalogs
Homemcpshim screenshot

mcpshim

by mcpshim·59·Score 46

MCPShim turns remote MCP servers into local CLI commands, handling auth and tool invocation in one daemon.

developer-toolsproductivityai-llm
7
Forks
1
Open issues
3 mo ago
Last commit
2d ago
Indexed

Overview

MCPShim is a lightweight Go-based solution consisting of a daemon (mcpshimd) and CLI client (mcpshim) that bridges remote MCP servers with local shell workflows. It handles MCP lifecycle concerns including session management, discovery, retries, and OAuth flows in one place, while exposing MCP tools as standard CLI commands with flag-to-parameter mapping and structured JSON output. This eliminates the need for custom per-server wiring in scripts or agents.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:LLM agents can call MCP tools through simple CLI commands without needing to handle auth or transport details
you:Script automation workflows can use any MCP server as native shell commands with automatic argument mapping
you:Development teams can centralize MCP server management and tool invocation across different agents
you:How does MCPShim handle authentication?
you:Can I use MCPShim with any MCP server?

When to choose this

Choose MCPShim when you need to integrate multiple MCP servers into shell workflows or AI agents without implementing custom authentication and session management for each one.

When NOT to choose this

Don't choose MCPShim if you need direct programmatic access to MCP servers without the CLI abstraction layer, or if you're building a tightly-coupled application where the overhead of the daemon isn't justified.

Tools this server exposes

12 tools extracted from the README
  • status

    Display MCPShim daemon status

  • servers

    List registered MCP servers

  • tools

    List tools for all or one server

  • inspect--server s --tool t

    Show detailed schema of a specific tool

  • call--server s --tool t --arg value

    Execute a tool call with arguments

  • add--name s --url ... [--alias a]

    Register a new MCP endpoint

  • set auth--server s --header K=V

    Set authentication headers for a server

  • remove--name s

    Remove a registered server

  • reload

    Reload daemon configuration

  • login--server s [--manual]

    Complete OAuth login flow for a server

  • history[--server s] [--tool t] [--limit n]

    Show persisted call history

  • script[--install] [--dir ~/.local/bin]

    Generate or install shell alias wrappers for tools

Comparable tools

shell-mcpnpx mcpdirect MCP client implementation

Installation

Installation

  1. Install from source:
go install github.com/mcpshim/mcpshim/cmd/mcpshimd@latest
go install github.com/mcpshim/mcpshim/cmd/mcpshim@latest
  1. Configure:
mkdir -p ~/.config/mcpshim
cp configs/mcpshim.example.yaml ~/.config/mcpshim/config.yaml
  1. Start daemon:
mcpshimd
  1. Use the CLI:
mcpshim servers
mcpshim tools --server notion
mcpshim call --server notion --tool search --query "projects"

For Claude Desktop, add to config.json:

{
  "mcpServers": {
    "mcpshim": {
      "command": "mcpshimd",
      "args": []
    }
  }
}

FAQ

How does MCPShim handle authentication?
MCPShim centralizes authentication through the daemon. It supports OAuth flows and can automatically initiate login when receiving 401 responses. Auth headers are stored in the SQLite database.
Can I use MCPShim with any MCP server?
Yes, MCPShim is designed to work with any MCP server regardless of transport (HTTP, WebSocket) or authentication method. It registers servers with their specific URLs and transport protocols.

Compare mcpshim with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.