使用说明
SimpleMCP
一种轻量级的类似MCP的替代(模型上下文协议)服务器,可以让你在不接触核心的情况下安装工具“套件”。放下一个新 _kit.py 归档 kits/,拍打 @tool 函数上的装饰器,服务器会自动拾取它们。无需手动导入,无需配置文件,无需大惊小怪。
运作原理
- 服务器 (
server.py):三种操作模式(见下文)。自动在启动时发现所有套件。 - 套件 (
kits/):每个工具包都是一个Python文件@tool-装饰功能。这kits/__init__.pyauto在启动时发现并导入每个工具包。 - 注册表 (
utils/registry.py):The@tool装饰器将函数注册到全局字典中。extract_parameters抓取类型提示,为工具的I/O构建JSON模式。 - 配置 (
config.py):MCP_MODE标志(默认False).集MCP_MODE=true通过env-var或直接编辑文件。 - 客户端 (
client.py):Streamlit前端,与服务器对话,并通过Groq路由工具调用。
包括套件
- sqlite_kit --列出SQLite数据库中的表、列、预览行。
- web_kit -通过Tavily API进行Web搜索、页面提取、抓取和映射。
添加新套件
- 在中创建文件
kits/例如。kits/my_kit.py - 导入装饰器:
from utils import tool - 使用类型提示和文档字符串编写函数:
from utils import tool
@tool
def do_something(query: str, limit: int = 10):
"""Does something cool with a query."""
# your logic here
return {"result": "stuff"}
- 就是这样。重新启动服务器,它就上线了。
设置
python -m venv .venv
source .venv/bin/activate
pip install fastapi uvicorn tavily streamlit requests groq
设置API密钥:
export TAVILY_API_KEY="your-tavily-key"
export GROQ_API_KEY="your-groq-key"
运行服务器:
HTTP模式 (用于Streamlit客户端/浏览器调试):
uvicorn server:app --host 0.0.0.0 --port 8000
MCP HTTP模式 (HTTP上的标准MCP端点——适用于任何兼容MCP的HTTP客户端):
MCP_MODE=true uvicorn server:app --host 0.0.0.0 --port 8000
在以下位置显示单个MCP端点 /mcp:
POST /mcp--JSON-RPC 2.0调度(initialize,tools/list,tools/call);根据客户端的不同,响应为SSE或JSONAccept头球GET /mcp--服务器发起的消息的SSE流/keepalive
MCP标准模式 (适用于Claude Desktop和任何兼容MCP的主机):
python server.py
运行客户端:
streamlit run client.py
连接到克劳德桌面
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"SimpleMCP": {
"command": "/absolute/path/to/SimpleMCP/venv/python.exe",
"args": ["/absolute/path/to/server.py"],
"env": {"TAVILY_API_KEY": "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"}
}
}
}
Claude Desktop将生成 server.py 作为子进程,使用MCP JSON-RPC 2.0通过stdin/stdout进行通信。
