Lobster MCP 服务器端实现

使用说明(Markdown 格式)

  • 项目简介

    • Lobster 项目中实现了一个 MCP 服务器端组件,负责向大模型客户端提供统一的资源访问、工具调用和提示模板渲染等能力,并通过 JSON-RPC 与客户端通信,支持会话管理和能力声明等特性,适用于 Claude Desktop、Cursor 等工具的集成场景。
  • 主要功能点

    • 资源与数据管理:托管并管理资源与数据访问能力,方便 LLM 客户端获取所需上下文信息。
    • 工具注册与执行:注册多种工具,LLM 可以通过服务器调用外部功能实现复杂任务。
    • Prompt 定义与渲染:定义和渲染提示模板,支持自定义的 LLM 交互模式。
    • JSON-RPC 通信:与客户端通过标准的 JSON-RPC 协议进行请求与响应。
    • 会话与能力声明:服务器端负责会话管理、能力声明,支持多传输协议。
    • 传输协议支持:设计上支持多种传输方式(如 Stdio、SSE、WebSocket),以适配不同客户端。
  • 安装步骤

    • 依赖与集成:在项目中开启 MCP 支持并安装相关依赖,如 dmcp、JSON-RPC 框架与传输协议组件。参考仓库中的 MCP 集成文档进行配置。
    • 运行环境:确保 Python 环境可用,安装依赖后即可运行 MCP 服务器模块。该实现基于 Python 代码,直接运行服务器模块即可启动服务。
  • 服务器配置(JSON 配置,供 MCP 客户端读取)

    • server name: Lobster Inference
    • command: python -m lobster.mcp.server
    • args: 需要的启动参数(如 host、port、传输模式等),示例注释如下(请按实际环境替换为真实参数)
    • 配置示例说明(JSON 字符串描述,供客户端解析): { "server_name": "Lobster Inference", "command": "python -m lobster.mcp.server", "args": [ "--host", "0.0.0.0", "--port", "8000", "--transport", "websocket" // 可选值:stdio, sse, websocket ], "tools": [ "list_available_models", "get_sequence_representations", "get_sequence_concepts", "intervene_on_sequence", "get_supported_concepts", "compute_naturalness" ], "resources": [ // 资源与数据入口的描述信息(按实际实现填充) ], "prompts": [ // Prompts 模板与渲染设置(按实际实现填充) ] }
  • 基本使用方法

    • 启动服务器:在支持 MCP 的运行环境中执行上述启动命令(python -m lobster.mcp.server),服务器将注册工具、资源和 Prompts,并对外提供 JSON-RPC 接口。
    • 客户端连接与调用:MCP 客户端(如 Claude Desktop、Cursor 等)通过 JSON-RPC 请求向服务器发起资源读取、工具调用和提示获取等请求,服务器返回标准 JSON-RPC 响应或通知。
    • 运行时管理:服务器维护会话与能力声明,支持在不同传输协议下持续提供上下文服务,确保安全、可扩展性与可观测性。
  • 基本使用场景

    • LLM 客户端请求资源以获取上下文信息;
    • LLM 客户端请求执行工具以调用外部功能;
    • LLM 客户端获取并渲染自定义 Prompt 模板以驱动对话。
  • 运行与维护建议

    • 结合仓库中的 MCP 集成文档,使用 uv 等包管理工具进行依赖管理与部署。
    • 结合客户端的需求,选择合适的传输协议(如 WebSocket)以获得更稳定的交互体验。
    • 审核工具与资源的注册、权限与安全策略,确保对敏感数据的访问控制。
  • 备注

    • 本实现来自 Lobster 项目的 MCP 相关模块,包含服务器端核心实现、工具注册、以及代表性测试用例,支持后续扩展与定制化开发。

服务器信息