Memex Flow MCP 服务器实现
使用说明(Markdown 格式)
- 项目简介
- Memex Flow MCP 服务器实现是一套符合 MCP 协议的后端服务器,专为 LLM 客户端提供统一的上下文服务。它托管并管理工具(Tools)、资源(Resources),并支持通过 JSON-RPC 的方式与客户端通信,提供清晰的工具列表、工具调用以及结果渲染能力。
- 主要功能点
- MCP 核心能力:实现 initialize、tools/list、tools/call 等 MCP 请求的处理与响应。
- 工具注册与执行:集中注册并暴露多种工具,如文本搜索、统计、图表、时间范围摘要、每日摘要等,支持参数校验与结果封装。
- 传输模式:支持标准的 stdio 传输(用于 Claude Desktop/调试环境)以及 HTTP 传输(用于远程客户端),遵循 MCP 的 JSON-RPC 格式。
- 会话与能力声明:在初始化阶段返回服务能力、服务器信息等元数据,并对后续工具调用进行上下文管理与结果组装。
- 安装步骤
- 确保运行环境具备 Python 3.x、必要的依赖(按仓库中的 mcp/server/、相关工具包和依赖安装要求执行)。
- 将 mcp-server 目录下的 server.py、http_server.py 等文件准备就绪,并确保依赖的工具(如 Flow 的工具实现、STDIO 服务)可被正确导入。
- 启动 MCP 服务器(示例:通过 stdio 传输启动,或通过 HTTP 传输暴露端口,具体命令请参考你的部署方案)。
- 服务器配置
- MCP 服务器配置需要提供给 MCP 客户端以建立连接(server name、启动命令及参数等)。以下为一个准确的配置示例,按 JSON 形式提供,供 MCP 客户端使用: { "server_name": "flow", "server_version": "1.0.0", "command": "$HOME/.memex/.venv/bin/python", "args": ["-u", "$HOME/.memex/mcp-server/server.py"] } 注释说明:
- server_name:MCP 服务器在客户端侧的标识,与服务器实际启动的一组参数一致(本实现的 MCP 服务器在代码中以 flow 为服务名)。
- server_version:服务器版本号,便于客户端区分版本和兼容性。
- command:用于启动服务器的解释器路径(示例给出虚拟环境中的 Python 路径)。
- args:启动服务器的命令行参数,通常包含入口脚本位置(server.py)以及必要的运行模式参数(如 stdio 传输、HTTP 传输的起始参数会在运行时决定)。
- 基本使用方法
- 客户端启动并初始化:通过配置的启动命令启动 MCP 服务器后,客户端发起 initialize 请求,获取服务器能力、可用工具等信息。
- 列出工具:通过 tools/list 请求,获取当前可用的工具及其输入结构。
- 调用工具:通过 tools/call 请求指定工具名称及参数,服务器返回结果内容(可能包含文本、图片等可嵌入的内容)。
- 会话与渲染:服务器对工具调用结果进行处理,返回适合 LLM 客户端渲染的内容(JSON-RPC 响应或文本/图片等内容数据)。