项目简介
Mothership MCP运行时上下文服务器是Mothership多语言Monorepo工作区的重要组成部分。它旨在通过Model Context Protocol (MCP) 标准化协议,向大型语言模型 (LLM) 客户端提供关于其自身工作区的元数据信息和访问能力。该服务器能够以结构化的方式托管和管理工作区内定义的资源,注册可供LLM调用的外部工具,并提供Prompt模板以支持更灵活和可定制的LLM交互模式。
主要功能点
- 资源托管与访问:
- 服务器将'runtime-context.json'文件作为核心资源,供MCP客户端发现和读取。此文件包含工作区的元数据、依赖项、工具版本等信息。
- 客户端可以获取完整的'runtime-context.json'内容,也可以通过点路径(例如'resource://runtime-context/workspace.apps')访问JSON文档中的特定嵌套条目。
- 工具注册与调用:
- 注册'get-runtime-context'工具,允许LLM客户端通过调用该工具来获取整个运行时上下文或其特定部分的详细信息。
- 注册'list_extensions'工具,方便LLM客户端查询工作区中声明的所有扩展。
- Prompt模板支持:
- 定义'runtime-context-overview' Prompt模板,为LLM提供指导,帮助其理解和利用运行时上下文资源,从而更好地执行任务。
- 灵活的通信协议: 支持Stdio(标准输入输出)和HTTP等传输协议,方便在不同部署环境和LLM客户端中集成和使用。
安装步骤
- 克隆仓库:
首先,将Mothership仓库克隆到本地:
git clone https://github.com/badMade/mothership.git cd mothership - 安装Node.js和pnpm:
确保您的开发环境已安装Node.js 18或更新版本。然后,使用'corepack'工具激活指定版本的pnpm包管理器:
corepack enable corepack prepare [email protected] --activate - 安装JavaScript依赖:
在仓库根目录运行以下命令以安装所有JavaScript相关的依赖项:
pnpm install - 设置Python环境:
Mothership MCP服务器是用Python实现的。请确保您的系统已安装Python 3.10或更新版本。
- 创建并激活虚拟环境: 为了避免依赖冲突,建议为Python工具创建并激活独立的虚拟环境:
python3 -m venv .venv-mcp source .venv-mcp/bin/activate - 安装Python依赖: Mothership MCP服务器依赖于'mcp'协议库(通常是一个独立的Python包)。由于仓库内容未明确提供此模块的'requirements.txt'文件,您可能需要手动安装'mcp'协议库及其相关依赖。请在激活的虚拟环境中运行以下命令(这是一个通用推断,具体依赖可能需要根据实际项目配置调整):
此外,为了让Python解释器能够找到本地的'mcp'包(即仓库中的'mcp/'目录),请确保在运行服务器命令时,当前工作目录是仓库的根目录,或者将'mcp/'添加到Python的搜索路径中。pip install mcp # 假设'mcp'是提供FastMCP的协议库
- 创建并激活虚拟环境: 为了避免依赖冲突,建议为Python工具创建并激活独立的虚拟环境:
服务器配置(供MCP客户端使用)
MCP客户端需要以下JSON格式的配置信息才能连接并使用Mothership MCP服务器:
{ "name": "Mothership Runtime Context Server", "command": "python", "args": [ "-m", "mcp.mcp_server.server", "run", "--host", "127.0.0.1", "--port", "9000" ], "comment": "此配置用于启动Mothership MCP运行时上下文服务器,监听本地9000端口。", "env": { "MOTHERSHIP_MCP_RUNTIME_CONTEXT": { "value": "/path/to/your/custom/runtime-context.json", "comment": "(可选)设置此环境变量以指定自定义的runtime-context.json文件路径,否则服务器将尝试在仓库根目录或内置路径下查找。" } } }
基本使用方法
-
启动MCP服务器: 在仓库的根目录,并确保已激活上述Python虚拟环境,运行以下命令启动MCP服务器:
source .venv-mcp/bin/activate # 如果您创建了名为.venv-mcp的虚拟环境 python -m mcp.mcp_server.server run --host 127.0.0.1 --port 9000服务器启动后,它将在'127.0.0.1:9000'监听来自MCP客户端的请求。您可以使用'--http'参数使其通过HTTP服务(默认使用stdio)。
-
MCP客户端交互: 一旦服务器运行,任何兼容MCP协议的LLM客户端都可以连接到'http://127.0.0.1:9000'(如果使用HTTP模式)或通过stdio通道,并开始发现和使用Mothership工作区的资源、工具和Prompt。例如,LLM客户端可以:
- 请求'resource://runtime-context'以获取完整的'runtime-context.json'。
- 调用'get-runtime-context'工具,并传入'path'参数来查询特定的元数据条目。
- 利用'runtime-context-overview' Prompt模板来引导关于工作区环境的对话。
信息
分类
AI与计算