Tlamatini MCP 服务器
使用说明(简要要点,便于开发者快速理解与部署)
-
项目简介
- Tlamatini 提供一个基于 MCP 的服务器端能力框架,包含系统指标与资源暴露、工具执行、以及提示模板渲染等后端服务,面向 LLM 客户端以标准化方式提供上下文与能力。
-
主要功能点
- MCP 系统服务器(WebSocket): 通过 WebSocket 接受 JSON 请求,提供系统资源、上下文、以及会话相关的服务;实现会话管理、资源查询、以及系统级工具调用等能力。
- MCP 文件检索服务器(gRPC): 提供文件检索能力,暴露 SearchFiles 与 ListAllowedDirs 等服务,供 MCP 客户端按需要检索本地文件与目录。
- 资源与工具的统一暴露:通过 MCP Agent/Chain 机制,LLM 客户端可按需读取资源、调用工具、获取提示模板等。
- 会话管理与多用户隔离:通过 Django + 全局状态管理实现会话与资源上下文在不同用户之间的隔离和持久性。
-
安装与运行步骤
- 依赖环境:Python 3.x、Node/前端构建若需、以及相关 LLM 服务(如 Ollama)按需要部署。
- 启动后端应用
- 使用 Django 启动方式运行整个应用(包含 MCP 系统服务器与文件检索服务器在应用启动时自动启动):
- manage.py migrate
- manage.py createsuperuser
- manage.py collectstatic
- manage.py runserver 0.0.0.0:8000(开发环境,或替换为生产部署所需的 ASGI/ Daphne 配置)
- 使用 Django 启动方式运行整个应用(包含 MCP 系统服务器与文件检索服务器在应用启动时自动启动):
- standalone MCP 服务器启动(可用于独立测试)
- MCP 系统指标 WebSocket 服务器:
- 启动命令示例(含路径示意,具体根据部署环境调整):python Tlamatini/agent/mcp_system_server.py
- 监听 WebSocket:ws://127.0.0.1:8765
- MCP 文件检索 gRPC 服务器:
- 启动命令示例:python Tlamatini/agent/mcp_files_search_server.py
- 监听 gRPC:localhost:50051
- MCP 系统指标 WebSocket 服务器:
-
服务器配置(MCP 客户端连接所需信息)
- JSON 配置示例(用于 MCP 客户端连接,不包含客户端实现代码,便于理解服务器端暴露的配置要点)
- System Metrics MCP(WebSocket)配置 { "server_name": "SystemMetricsMCP", "command": "python", "args": ["Tlamatini/agent/mcp_system_server.py"], "host": "127.0.0.1", "port": 8765 }
- File Search MCP(gRPC)配置 { "server_name": "FileSearchMCP", "command": "python", "args": ["Tlamatini/agent/mcp_files_search_server.py"], "host": "127.0.0.1", "port": 50051 }
-
基本使用方法(简便入门)
- 客户端应分别连接上述两类 MCP 服务:
- System Metrics MCP 通过 WebSocket 进行请求/通知,JSON-RPC 风格的数据在 WebSocket 消息中传输。
- File Search MCP 通过 gRPC 提供 SearchFiles 与 ListAllowedDirs 等服务调用。
- 客户端需先了解 MCP 的资源、工具、Prompts 的暴露位置,再通过 MCP 服务器获取信息、执行工具、或渲染 Prompt,以获得统一的上下文服务能力。
- 运行过程中可通过 Django 管理界面/后台日志监控 MCP 服务的健康状态、会话状态与资源暴露情况。
- 客户端应分别连接上述两类 MCP 服务:
-
其他注意
- MCP 服务器的端口、主机、以及传输协议均在部署中可配置,确保与客户端的安全策略和网络拓扑兼容。
- 本实现包含会话管理与多用户隔离相关逻辑,便于在同一实例上并发服务多个 LLM 客户端。
-
参考与扩展
- MCP 系统服务器与文件检索服务器的实现均在 Tlamatini 项目中,结合 Django/Channels、WebSocket、gRPC 等技术栈,便于扩展更多 MCP 服务(如资源查询扩展、提示模板渲染、以及更丰富的工具生态)。