mcpstore: an MCP service manager built with Rust

mcpstore

A Rust manager that brings MCP services under one daemon: a CLI, a web UI, an HTTP API and SDKs for Python and Rust

  • 432 ★ on the repository
  • Last commit
  • MIT
CLI

Extended access

Why this level

  • The manager starts a service with a launch command as a process on your machine, so add only trusted commands
  • The HTTP API from `mcpstore api` manages services and exposes their tools to anyone who can reach the port
All reasons and checks

ip2a/mcpstore

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/mcpstore

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The manager starts a service with a launch command as a process on your machine, so add only trusted commands
  • The HTTP API from `mcpstore api` manages services and exposes their tools to anyone who can reach the port

This is third-party code. Review the repository files before installing.

What it does

mcpstore connects MCP services, tracks their state and hands their tools to agents and applications. One daemon keeps the configuration, telemetry, gateway and plugins in `~/.mcpstore`, and the CLI, the desktop app and the HTTP API work as shells over it. The architecture resembles the control and data planes of Kubernetes: the control plane orchestrates services and the data plane handles invocations. From the terminal a service is added with `mcpstore add wiki https://example.com/mcp`, then inspected with `mcpstore list`, attached with `mcpstore connect wiki` and removed with `mcpstore remove wiki`. `mcpstore config show` prints the local configuration, `mcpstore web` opens the web UI and `mcpstore api --host 127.0.0.1 --port 1820` starts the HTTP API. On a weak machine you can attach only the data plane and call already shared MCP services without local maintenance. The Python SDK (`pip install mcpstore`) and the Rust library (`cargo add mcpstore`) embed the manager in an application. Tools can be fetched in the form for LangChain, LangGraph, OpenAI, AutoGen, CrewAI and LlamaIndex, and `for_agent(agent_id)` creates an independent service space per agent. The desktop app, in beta, shows services, their tools and parameters and offers trial calls.

Who it is for. Agent developers and platform teams with many MCP services who need to manage them from one place.

Good fit when

  • There are many MCP services and their list, state and restarts have to be handled with `list`, `connect` and `remove`
  • Each agent needs its own set of services, as with `for_agent(agent_id)` in the Python SDK
  • An agent on LangChain or CrewAI gets MCP tools through ready adapters
  • A weak machine needs only the data plane while the services run on another node
  • An HTTP API for managing services from other programs is needed

Not a fit when

  • You only need to attach one server to Claude Code: an entry in the client settings is enough
  • A catalog for finding and installing MCP servers is needed: mcpstore manages services you have already chosen
  • Neither the npm package nor a binary release exists for your platform: ready builds cover macOS on arm64, Linux x64 and arm64 and Windows x64

Example request

Add a wiki service at https://example.com/mcp to mcpstore, connect it and show the list of its tools

Limitations

The desktop app is marked beta. The README writes the installation as `npm install -g ip2a@mcpstore`, while `npm/packages/mcpstore/package.json` names the package `@ip2a/mcpstore`, so use the second name or the `install.sh` script.

When a service with a launch command is added, for example `npx -y @modelcontextprotocol/server-github`, the manager starts that process on your machine. For the HTTP API the README example uses the address `127.0.0.1` and port `1820`; the README says nothing about built-in API authorization.

How to disable. Remove services with `mcpstore remove`, stop the daemon and uninstall the package with `npm uninstall -g @ip2a/mcpstore`. The state lives in `~/.mcpstore`.

FAQ

How do I install mcpstore?

Run `npm install -g @ip2a/mcpstore` or `curl -fsSL https://raw.githubusercontent.com/ip2a/mcpstore/main/install.sh | bash`. The README says `ip2a@mcpstore`, but the npm package in the repository is named `@ip2a/mcpstore`.

Which commands matter most?

`mcpstore add`, `list`, `connect` and `remove` manage services, `config show` prints the configuration, `web` opens the web UI and `api --host 127.0.0.1 --port 1820` starts the HTTP API.

Can mcpstore be used from Python?

Yes, through the SDK: `pip install mcpstore`, then `MCPStore.setup_store()` and `store.for_store().add_service(...)`. Tools are available in the form for LangChain, LangGraph, OpenAI, AutoGen, CrewAI and LlamaIndex.

Is there a desktop app?

Yes, in beta. It attaches to a running local daemon or starts the bundled binary and then loads its web UI. Builds for macOS, Windows and Linux are in GitHub Releases.

How do I separate services between agents?

With `store.for_agent("agent1")`: each agent gets its own space of services and tools. The shared space stays in `store.for_store()`.

Discussion

No questions or reviews yet.

CLI tools

A universal MCP CLI client from Apify: persistent sessions, OAuth, JSON output for scripts and shell access to any MCP server for agents

CLIBroad access1.1KRepository stars

A mail server for agents sharing one repository: messages, threads, file reservations and a 16-screen TUI

MCP serverExtended access234Repository stars

A CLI for any MCP server: list and call tools, resources and prompts, run mock and proxy modes, guard access and manage agent configs

CLIExtended access1.6KRepository stars

A CLI that turns any MCP server, OpenAPI spec or GraphQL endpoint into commands at runtime, with no codegen

CLIBroad access2.4KRepository stars

A zero-dependency Python CLI: one catalog of MCP servers and skills for every agent, with only a compact index in context

CLIBroad access422Repository stars

An MCP bridge: a single run_python tool runs code in a container and calls your MCP servers

MCP serverBroad access342Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
mcpstore: an MCP service manager built with Rust (this card)no432
MCPMno1,021an MCP package manager and registry that finds, adds and configures servers for clients; this one is a daemon with control and data planes, an HTTP API and SDKs for embedding
MCPorterno5,108calls MCP servers from a terminal and scripts; this one is a persistent daemon that keeps service state and hands tools to agents

README in short

The README briefly explains the architecture with control and data planes and gives installation commands, CLI examples, a description of the desktop app and detailed Python and Rust SDK examples with a table of common APIs. MIT license.

README badge

Report a problem

Foxx AImcpstore: an MCP service manager built with Rust
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.