article
README
🚀 选择器AI快速上下文协议(Selector AI FastMCP)
此仓库提供了Selector AI的Model Context Protocol(MCP)的完整实现。它包含一个支持实时流式传输的服务器,以及一个基于Docker的交互式客户端,客户端通过stdin/stdout进行通信,为用户提供便捷的交互体验。
🚀 快速开始
先决条件
- Python 3.8及以上版本
- Docker
- Selector AI API密钥
- Selector API URL
安装
- 克隆仓库:
git clone https://github.com/automateyournetwork/selector-mcp-server
cd selector-ai-mcp
- 安装Python依赖项:
pip install -r requirements.txt
- 设置环境变量:创建一个.env文件:
SELECTOR_URL=https://your-selector-api-url
SELECTOR_AI_API_KEY=your-api-key
🐳 Dockerfile
服务器运行在一个轻量级容器中,使用以下Dockerfile:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "-u", "mcp_server.py"]
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \
CMD python -c "import socket; s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM); s.connect('/tmp/mcp.sock'); s.send(b'{\"tool_name\": \"ready\"}\\n'); data = s.recv(1024); s.close(); import json; result = json.loads(data); exit(0 if result.get('status') == 'ready' else 1)" || exit 1
🧠 使用客户端
启动客户端:
python mcp_client.py
示例CLI会话
You> What is AIOps?
Selector> AIOps指的是将AI应用于IT运维...
程序化访问
from selector_client import call_tool, spawn_server
proc = spawn_server()
call_tool(proc, "ready")
response = call_tool(proc, "ask_selector", {"content": "What is AIOps?"})
print(response)
🖥️ 与Claude Desktop集成
运行服务器:
python mcp_server.py
在Claude Desktop中配置本地端点。确保消息格式如下:
{
"method": "tools/call",
"tool_name": "ask_selector",
"content": "What can you tell me about device S6?"
}
🛠️ 自定义构建
- 叉取或克隆此仓库
- 修改
selector_fastmcp_server.py以集成您首选的模型或路由逻辑 - 重建Docker镜像:
docker build -t your-image-name .
- 配置客户端设置,例如在
.env文件中指定API密钥和URL
✨ 主要特性
✅ 服务器
- FastMCP兼容且基于Python构建
- 实时SSE流式传输支持
- 与Selector AI的交互式AI聊天
- 最小化样板代码
- 内置健康检查,适用于容器编排
- 请求/响应日志记录和重试功能
✅ 客户端
- Python客户端通过Docker启动服务器
- 支持CLI和程序化访问
- 通过stdin和stdout读写
- 使用.env文件配置环境变量
📚 详细文档
📁 项目结构
selector_fastmcp_server.py: 主服务器逻辑selector_client.py: 客户端功能实现requirements.txt: Python依赖项列表.env.example: 环境变量示例
✅ 要求
- 必须安装Python 3.8或更高版本
- 需要Docker用于容器化部署
📄 许可证
本项目使用Apache 2.0许可证。
Scan to contact