项目简介
BaseMcpServer 仓库提供了一个用于构建 Model Context Protocol (MCP) 服务器的标准基础框架。它基于 Python MCP SDK 构建,设计为易于容器化部署,并支持 stdio 和 HTTP+SSE 两种传输协议。该项目旨在作为一个可复用的起点,帮助开发者快速搭建自己的 MCP 服务器,从而专注于实现特定的工具和资源,无需从零开始处理协议细节和基础架构。
主要功能点
- MCP 服务器构建基础: 提供构建 MCP 服务器所需的Python环境和依赖,简化项目搭建。
- 容器化支持: 专为 Docker 环境优化,提供多阶段构建的 Dockerfile 模板。
- 多协议支持: 内建支持通过 stdio(标准输入输出)和 HTTP+SSE 进行通信。
- 工具与资源集成: 提供清晰的结构和示例(如计算器、模拟天气、Jira集成、服务器动态创建器),展示如何使用 MCP SDK 注册工具和资源。
- MCP 管理工具 (mcp-manager): 包含一个独立的命令行工具,用于简化 MCP 服务器的安装、配置、列出和运行等管理任务。
- 开发友好: 提供本地开发脚本和虚拟环境支持。
通过这个框架,开发者可以轻松创建能够向LLM客户端提供特定功能(工具,如调用外部API)和数据访问能力(资源,如查询数据库)的MCP服务器。
安装步骤
该项目推荐使用随仓库提供的 'mcp-manager' 工具进行安装和管理。
-
获取仓库: 首先,你需要克隆或下载这个仓库:
git clone https://github.com/dawsonlp/BaseMcpServer.git cd BaseMcpServer -
安装 MCP Manager: 推荐使用 'pipx' 安装 'mcp-manager' 工具(如果未安装 'pipx',请先安装 'pip install pipx'):
pipx install ./utils/mcp_manager这会将 'mcp-manager' 安装到一个独立的环境中,避免与系统或其他项目冲突。
-
安装示例服务器: 使用 'mcp-manager' 安装仓库中包含的示例服务器(例如 'example' 服务器):
mcp-manager install local example --source ./example --force这将把示例服务器安装到你的 MCP Manager 主目录 ('~/.mcp_servers/servers/example') 并创建虚拟环境。
服务器配置 (连接MCP客户端)
MCP客户端(如 VS Code 中的 Cline 或 Claude Desktop)需要知道如何启动和连接你的 MCP 服务器。通常,这涉及配置服务器的名称、启动命令或访问地址。
使用 'mcp-manager' 可以简化此过程,特别是为 VS Code Cline 进行配置:
-
配置 VS Code Cline: 运行以下命令,'mcp-manager' 会根据你已安装的本地服务器生成 VS Code Cline 的配置并添加到相应的设置文件中:
mcp-manager configure vscode此命令会生成或更新位于 '~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json' (Linux/macOS)或相应位置(Windows)的配置文件。
-
配置信息说明 (供MCP客户端参考): MCP客户端(如 VS Code Cline)的配置文件(通常是JSON格式)中,需要为每个MCP服务器添加一个配置条目。配置内容取决于服务器的类型和启动方式:
-
对于本地安装并由 'mcp-manager' 管理的服务器 (通常使用 stdio 协议): 客户端配置中需要指定启动服务器的命令和参数。'mcp-manager configure vscode' 会自动为你生成一个指向包装脚本的命令,该脚本负责激活虚拟环境并运行服务器。 例如:
- '"server_name"': MCP服务器的唯一名称 (例如: "example")
- '"command"': 启动服务器的可执行命令路径 (例如: '/home/user/.mcp_servers/bin/example.sh')
- '"args"': 传递给命令的参数 (例如: '["stdio"]')
- '"disabled"': 是否禁用此服务器 (布尔值)
- '"autoApprove"': 自动批准的工具列表 (字符串数组)
-
对于手动启动的 SSE 服务器或远程服务器: 客户端配置中需要指定服务器的访问 URL 和 API 密钥。 例如:
- '"server_name"': MCP服务器的唯一名称 (例如: "jira-clone-server")
- '"url"': 服务器的 HTTP+SSE 地址 (例如: '"http://localhost:7501/sse"')
- '"apiKey"': 用于身份验证的API密钥 (例如: '"your_api_key"')
- '"disabled"': 是否禁用此服务器 (布尔值)
- '"autoApprove"': 自动批准的工具列表 (字符串数组)
重要提示:
- 修改 MCP 服务器配置或安装新的本地服务器后,通常需要完全重启你的 MCP 客户端(如 VS Code 或 Claude Desktop),使配置生效。
- 确保配置中的服务器名称 ('server_name')、端口 ('port')、URL 和 API 密钥 ('api_key') 与你的服务器实际运行时的设置一致。
-
基本使用方法
配置完成后,LLM客户端(如 VS Code Cline)应该能够检测并连接到已安装的 MCP 服务器。你可以通过 LLM 的界面与服务器提供的工具和资源进行交互。例如,在支持 MCP 的聊天界面中,你可以提及服务器提供的工具(如 'calculator' 或 'get_weather')或资源(如 'resource://quotes'),LLM 客户端将通过 MCP 协议调用服务器执行相应的功能并获取结果。具体的使用方式取决于你使用的 MCP 客户端。
关键词
LLM后端, 工具集成, 资源访问, 上下文服务, AI应用开发
信息
分类
AI与计算