A composable, ready-to-use MCP toolkit for agents and rapid integration.
Project description
McpStore
One-stop open-source high-quality MCP service management tool, making it easy for AI Agents to use various tools
English | 简体中文
🚀 Live Demo | 📖 Documentation | 🎯 Quick Start
Quick Start
Installation
Basic Installation
pip install mcpstore
Optional Features
# Monitoring features (file monitoring + system resource monitoring)
pip install mcpstore[monitor]
# Redis support
pip install mcpstore[redis]
# LangChain integration
pip install mcpstore[langchain]
# All features (monitor + redis + langchain)
pip install mcpstore[all]
# Other AI frameworks
pip install mcpstore[llamaindex]
pip install mcpstore[autogen]
pip install mcpstore[semantic-kernel]
Combined Installation
pip install mcpstore[monitor,redis,langchain]
Online Experience
Open-source Vue frontend interface, supporting intuitive MCP service management through SDK or API
Quick start backend service:
from mcpstore import MCPStore
prod_store = MCPStore.setup_store()
prod_store.start_api_server(host='0.0.0.0', port=18200)
Intuitive Usage
store = MCPStore.setup_store()
store.for_store().add_service({"name":"mcpstore-wiki","url":"https://mcpstore.wiki/mcp"})
tools = store.for_store().list_tools()
# store.for_store().use_tool(tools[0].name, {"query":'hi!'})
Unified setup_store signature (new)
- Only 4 parameters:
- debug: False=OFF, True=DEBUG, or string level ("INFO"/"WARNING"/"ERROR"/"CRITICAL")
- mcp_json: path to mcp.json
- external_db: modular dict for external databases (currently cache.redis)
- static_config: modular dict for monitoring/network/features/local_service; injection only, no auto-start
Example:
from mcpstore import MCPStore
# Minimal
store = MCPStore.setup_store(debug=False)
# With mcp.json and Redis cache backend
store = MCPStore.setup_store(
mcp_json="./workspace/mcp.json",
debug="INFO",
external_db={
"cache": {
"type": "redis",
"url": "redis://127.0.0.1:6379/0",
"namespace": "prod",
"dataspace": "auto",
"socket_timeout": 2.0,
"healthcheck_interval": 30,
}
},
static_config={
"features": {"preload_cache": False},
"network": {"http_timeout_seconds": 30},
},
)
# Retrieve the immutable setup snapshot later
cfg = store.for_store().setup_config()
LangChain Integration Example
Simple integration of mcpstore tools into LangChain Agent, here's a ready-to-run code:
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from mcpstore import MCPStore
# ===
store = MCPStore.setup_store()
store.for_store().add_service({"name":"mcpstore-wiki","url":"https://mcpstore.wiki/mcp"})
tools = store.for_store().for_langchain().list_tools()
# ===
llm = ChatOpenAI(
temperature=0, model="deepseek-chat",
openai_api_key="****",
openai_api_base="https://api.deepseek.com"
)
prompt = ChatPromptTemplate.from_messages([
("system", "You are an assistant, respond with emojis"),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# ===
query = "What's the weather like in Beijing?"
print(f"\n 🤔: {query}")
response = agent_executor.invoke({"input": query})
print(f" 🤖 : {response['output']}")
Chain Call Design
MCPStore adopts chain call design, providing clear context isolation:
store.for_store()- Global store spacestore.for_agent("agent_id")- Create isolated space for specified Agent
Multi-Agent Isolation
Assign dedicated toolsets for different functional Agents, actively supporting A2A protocol and quick agent card generation.
# Initialize Store
store = MCPStore.setup_store()
# Assign dedicated Wiki tools for "Knowledge Management Agent"
# This operation is performed in the private context of "knowledge" agent
agent_id1 = "my-knowledge-agent"
knowledge_agent_context = store.for_agent(agent_id1).add_service(
{"name": "mcpstore-wiki", "url": "http://mcpstore.wiki/mcp"}
)
# Assign dedicated development tools for "Development Support Agent"
# This operation is performed in the private context of "development" agent
agent_id2 = "my-development-agent"
dev_agent_context = store.for_agent(agent_id2).add_service(
{"name": "mcpstore-demo", "url": "http://mcpstore.wiki/mcp"}
)
# Each Agent's toolset is completely isolated without interference
knowledge_tools = store.for_agent(agent_id1).list_tools()
dev_tools = store.for_agent(agent_id2).list_tools()
Intuitively, you can use almost all functions through store.for_store() and store.for_agent("agent_id") ✨
API Interface
Provides complete RESTful API, start web service with one command:
pip install mcpstore
mcpstore run api
Main API Endpoints
# Service Management
POST /for_store/add_service # Add service
GET /for_store/list_services # Get service list
POST /for_store/delete_service # Delete service
# Tool Operations
GET /for_store/list_tools # Get tool list
POST /for_store/use_tool # Execute tool
# Monitoring & Statistics
GET /for_store/get_stats # System statistics
GET /for_store/health # Health check
Contributing
Welcome community contributions:
- ⭐ Star the project
- 🐛 Submit Issues to report problems
- 🔧 Submit Pull Requests to contribute code
- 💬 Share usage experiences and best practices
Star History
McpStore is a project under frequent updates, we humbly ask for your stars and guidance
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcpstore-1.4.2981.tar.gz.
File metadata
- Download URL: mcpstore-1.4.2981.tar.gz
- Upload date:
- Size: 648.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
339fbd1f6ad5dd9c907d6d4a5a2b233be726072b66aa00b430fdc73dda49eea2
|
|
| MD5 |
f6fcec55e304810ad109897ddaa1ddb5
|
|
| BLAKE2b-256 |
d5dc404c70acf8af66a2e5484d65349eac2f7b378bf992925ac30f96c03fe727
|
File details
Details for the file mcpstore-1.4.2981-py3-none-any.whl.
File metadata
- Download URL: mcpstore-1.4.2981-py3-none-any.whl
- Upload date:
- Size: 740.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8185b542294a9119276e521912f8126f10cd5026255c0331cc74ccbeab7bfdf
|
|
| MD5 |
0baaf261c11e13b60c1f948ea0b37735
|
|
| BLAKE2b-256 |
306429b6f7312dd016c90f303a2fab51bf1dc8b317a572f39352b362f7f592ee
|