项目简介
llmcp 是一个轻量级的命令行工具,旨在快速搭建和使用符合 Model Context Protocol (MCP) 协议的服务器。它基于 LiteLLM 库,能够支持多种主流的大语言模型(LLM),并以标准化的 MCP 接口对外提供服务。通过 llmcp,用户可以轻松地将各种 LLM 模型转化为可被 MCP 客户端调用的上下文服务,从而简化 LLM 应用的开发流程。
主要功能点
- MCP 服务器: 实现最小化的 MCP 服务器功能,遵循 MCP 协议标准。
- 资源托管: 通过 MCP 协议提供对大语言模型(LLM)的访问能力。
- 工具注册与执行: 默认注册并提供 'ask' 工具,允许客户端通过 MCP 协议调用 LLM 模型进行对话。
- Prompt 模板: 虽然仓库描述中未明确提及 Prompt 模板,但 'ask' 工具的 prompt 参数可以视为简单的动态 Prompt 输入。
- 多模型支持: 基于 LiteLLM,理论上支持 LiteLLM 所支持的各种 LLM 模型,如 OpenAI, Anthropic, Gemini, Mistral 等 (需配置相应的 API Key)。
- 简单的命令行界面: 提供易用的命令行工具,用于搜索模型、启动 MCP 服务器和进行简单的测试。
安装步骤
- 确保你的 Python 环境已安装,推荐使用 'uv' 或 'pip' 进行包管理。
- 使用以下命令安装 'llmcp':
或者uv pip install llmcppip install llmcp
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 llmcp 服务器。请注意,你需要将 '<model_name>' 替换为你想要使用的具体模型名称 (例如 'gpt-3.5-turbo', 'gemini-2.5-pro-exp-03-25' 等)。模型名称需要是 LiteLLM 支持的模型。
{ "serverName": "llmcp", "command": "llmcp", "args": ["serve", "<model_name>"] }
参数说明:
- serverName: MCP 服务器的名称,这里固定为 'llmcp'。
- command: 启动 MCP 服务器的命令,这里为 'llmcp' (假设 'llmcp' 命令已添加到系统 PATH 环境变量中,或者使用 Python 模块方式 'python -m llmcp.cli')。
- args: 传递给 'llmcp serve' 命令的参数,'serve' 是子命令,'<model_name>' 是要使用的模型名称。
API Key 配置:
llmcp 依赖于 LiteLLM 来访问不同的 LLM 提供商。你需要根据你使用的模型,配置相应的 API Key 环境变量。例如,如果你使用 OpenAI 的模型,你需要设置 'OPENAI_API_KEY' 环境变量。 详细的 API Key 环境变量名称请参考仓库的 README 文档或 LiteLLM 文档。
export OPENAI_API_KEY="sk-..." # OpenAI API Key 示例 export GEMINI_API_KEY="..." # Gemini API Key 示例
基本使用方法
-
启动 MCP 服务器: 在命令行中使用 'llmcp serve <model_name>' 命令启动 MCP 服务器,将 '<model_name>' 替换为你想要使用的模型。例如:
llmcp serve gpt-3.5-turbo -
使用 MCP 客户端连接: 配置你的 MCP 客户端,使用上面提供的服务器配置 JSON 连接到 llmcp 服务器。
-
调用 'ask' 工具: 通过 MCP 客户端调用 'ask' 工具,并提供 'prompt' 参数来向 LLM 模型提问。例如,使用 MCP 客户端发送以下 JSON-RPC 请求:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "ask", "arguments": { "prompt": "你的问题是什么?" } }, "id": 1 } -
测试模型: 可以使用 'llmcp test <model_name> "<prompt>"' 命令快速测试模型是否工作正常。例如:
llmcp test gpt-3.5-turbo "你好"
注意事项
- llmcp 提供的 'ask' 工具是一个非常基础的工具,仅用于简单的文本对话。
- 要使用不同的 LLM 模型,请确保已安装 LiteLLM 并配置了相应的 API Key。
- 此项目为最小化实现,可能不包含完整的 MCP 协议功能,具体功能请参考项目代码。
信息
分类
AI与计算