Selector AI MCP服务
一种模型上下文协议(MCP)服务器,通过支持流式的服务器和基于Docker的客户端(通过标准输入/输出进行通信),实现与Selector AI的实时交互式AI聊天。
服务介绍
Selector AI FastMCP
本仓库提供了Selector AI的Model Context Protocol (MCP)的完整实现。它包括一个支持流式处理的服务器和一个基于Docker的交互式客户端,该客户端通过stdin/stdout进行通信。
✨ 特性
✅ 服务器
- 与FastMCP兼容并基于Python构建
- 支持实时SSE流
- 与Selector AI的交互式AI聊天
- 最小化的样板代码
- 内置健康检查以支持容器编排
- 请求/响应日志记录及重试机制
✅ 客户端
- Python客户端通过Docker启动服务器
- 同时支持CLI和编程访问
- 通过stdin和stdout读写
- 使用.env文件配置环境变量
🚀 快速开始
前提条件
- Python 3.8+
- Docker
- Selector AI API密钥
- Selector API URL
⚙️ 安装
克隆仓库
git clone [https://github.com/automateyournetwork/selector-mcp-server](https://link.0)
cd selector-ai-mcp
安装Python依赖
pip install -r requirements.txt
设置环境变量 创建一个.env文件:
SELECTOR_URL=[https://your-selector-api-url](https://link.1)
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
构建Docker镜像
docker build -t selector-mcp .
🧠 使用客户端
启动客户端
这将启动Docker容器并打开一个交互式shell。
python mcp_client.py
示例CLI会话
You> What is AIOps?
Selector> AIOps refers to the application of AI to IT operations...
编程访问
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一起使用
如果您正在与Claude Desktop集成,可以运行此服务器并在本地暴露一个socket或HTTP端点:
使用Docker或原生方式运行服务器:
python mcp_server.py
从Claude Desktop的外部工具配置中连接到socket或HTTP端点。
确保您的消息格式如下:
{
"method": "tools/call",
"tool_name": "ask_selector",
"content": "What can you tell me about device S6?"
}
Claude Desktop将通过stdout接收AI的结构化响应。
🛠️ 构建您自己的容器
要自定义此设置:
-
Fork或克隆此仓库
-
修改
selector_fastmcp_server.py以集成您首选的模型或路由逻辑 -
重建Docker镜像:
docker build -t my-custom-mcp . -
更新客户端以启动
my-custom-mcp而不是默认镜像:"docker", "run", "-i", "--rm", "my-custom-mcp"
📁 项目结构
selector-ai-mcp/
├── selector_fastmcp_server.py # Server: MCP + Selector AI integration
├── selector_client.py # Client: Docker + stdin/stdout CLI
├── Dockerfile # Container config
├── requirements.txt # Python deps
├── .env # Environment secrets
└── README.md # You are here
✅ 要求
requirements.txt 中的依赖项:
requests
python-dotenv
📜 许可证
Apache License 2.0