Feonix Insight MCP KB Server
使用说明(Markdown 格式):
- 项目简介 Feonix Insight 的 MCP 服务器实现,遵循 MCP 的核心职责:向 LLM 客户端提供上下文信息与功能,包括托管资源、注册与执行工具、定义与渲染提示模板,并通过 JSON-RPC 与客户端通信。服务器具备会话管理、能力声明、跨传输协议的扩展能力(如 TCP/STDIO/SSE/WebSocket 等在方案中被设计为可扩展)。
- 主要功能点
- 资源管理:提供知识库资源的读取与列举,便于 LLM 客户端获取知识上下文。
- 工具注册与执行:注册可调用的工具并实现调用,LLM 客户端可通过 MCP 请求执行外部功能。
- Prompts/模板:支持自定义提示模板和渲染能力,配合上下文信息与工具输出进行交互。
- JSON-RPC 通信:服务器端以标准的 JSON-RPC 2.0 进行请求/响应处理。
- 安全与可扩展性:通过 API Key 认证、健康检查以及可选的多传输协议支持(如网络访问、SSE、WebSocket 等的接口设计)。
- 健康与会话管理:暴露 health 接口,注册能力并维护会话状态。
- 安装与运行步骤
- 安装依赖
- 通过项目根目录的依赖清单安装所需依赖(如 requirements.txt)。
- 启动 MCP 服务器
- 运行 mcp_kb_server.py(Feonix Insight 的知识库 MCP 服务器实现)或 feonix_kb_server.py(Feonix Insight 的 MCP 服务变体)。
- 示例命令(按实际环境选择):
- python mcp_kb_server.py
- 或者 python feonix_kb_server.py
- 启动后,默认监听端口 8001(可通过 MCP_HOST/MCP_PORT 环境变量调整)。
- 环境变量(可选)
- MCP_API_KEY:用于 MCP 服务的 API key 认证,默认值为 dev-key-change-in-production(建议生产环境自定义)。
- 其他连接相关的后端服务如数据库、向量数据库等需按实际部署配置。
- 安装依赖
- 服务器配置(供 MCP 客户端使用的启动信息,JSON 格式,勿包含代码)
{
"server_name": "Feonix Insight MCP KB Server",
"command": "python",
"args": ["mcp_kb_server.py", "--host", "0.0.0.0", "--port", "8001"]
}
注释:
- server_name:表示 MCP 服务器的用途与名称,便于客户端区分不同的 MCP 服务。
- command:用于启动 MCP 服务器的执行命令(Python 准备好运行对应的脚本)。
- args:启动脚本及参数,括号内的参数与仓库实现的一致,默认监听 0.0.0.0:8001,实际可修改为 8001 及以上端口。
- MCP_API_KEY:如需安全认证,请在环境变量中设置,客户端连接时需在请求头中携带 Bearer token,具体请按客户端实现的要求配置。
- 基本使用方法
- 客户端通过 JSON-RPC 请求调用 MCP 服务器的相应端点(Initialize、Tools、Resources 等)。
- 客户端可以读取资源、调用工具、获取与渲染 Prompts,并获得标准化的 JSON-RPC 响应。
- 通过 health 端点检测 MCP 服务器健康状态,确保对外可用。
- 运行与测试要点
- 确保后端服务(如数据库、向量数据库、图数据库等)可用且可被 MCP 服务访问。
- 使用 API Key 进行认证测试,确保未授权请求被正确拒绝。
- 使用示例 JSON-RPC 请求对 Initialize、Tools/List、Tools/Call、Resources/List、Resources/Read 等端点进行测试,验证返回结构是否符合 MCP 规范。