使用说明
项目简介
本项目是一个基础的MCP (Model Context Protocol) 服务器,展示了如何使用SSE (Server-Sent Events) 传输协议构建MCP服务器。它包括可选的基本身份验证机制,以增强服务器的安全性。该服务器提供了一个可以执行系统命令的工具。
主要功能点
- 实现了基于 'mcp' 库的基础MCP服务器。
- 支持SSE传输协议,用于与MCP客户端通信。
- 提供可选的基本身份验证,用于安全访问。
- 注册了一个 "execute_command" 工具,允许客户端在服务器上运行系统命令。
- 提供了一个客户端示例,演示如何与服务器进行交互。
安装步骤
- 克隆仓库:
git clone https://github.com/daikw/mcp-transport-auth.git cd mcp-transport-auth - 安装依赖: (假设 'mcp' 库已安装。如果未安装,请先安装)
# 假设 mcp 库已安装,如果未安装,请先安装 mcp 库 # 例如: pip install mcp
服务器配置 (MCP 客户端)
要将MCP客户端连接到此服务器,您需要在客户端中配置服务器的连接信息。以下是一个 JSON 格式的配置示例:
{ "serverName": "mcp-basic-auth-transport", "command": "uv", "args": ["run", "mcp-transport-auth/server.py", "--port", "8000"] }
- 'serverName': MCP 服务器的名称,与服务器代码中定义的名称一致 ('Server("mcp-basic-auth-transport")')。
- 'command': 启动服务器的命令。这里使用 'uv' 运行 'server.py' 脚本。
- 'args': 命令的参数数组。
- 'run mcp-transport-auth/server.py': 执行服务器脚本。
- '--port 8000': 指定服务器监听的端口 (默认为 8000)。
启用基本身份验证: 如果要启用基本身份验证,需要在启动服务器之前设置环境变量 'USERNAME' 和 'PASSWORD'。客户端也需要提供相同的凭据。
{ "serverName": "mcp-basic-auth-transport", "command": "USERNAME=admin PASSWORD=pass uv", "args": ["run", "mcp-transport-auth/server.py", "--port", "8000"] }
禁用基本身份验证: 在服务器 'args' 中添加 '--without-basic-auth' 或 '-w' 标志。
{ "serverName": "mcp-basic-auth-transport", "command": "uv", "args": ["run", "mcp-transport-auth/server.py", "-w", "--port", "8000"] }
基本使用方法
-
启动 MCP 服务器:
- 启用基本身份验证:
USERNAME=admin PASSWORD=pass uv run mcp-transport-auth/server.py --port 8000 - 禁用基本身份验证:
uv run mcp-transport-auth/server.py -w --port 8000
- 启用基本身份验证:
-
运行 MCP 客户端 (在另一个终端中):
- 使用基本身份验证 (与服务器凭据匹配):
USERNAME=admin PASSWORD=pass uv run mcp-transport-auth/client.py - 禁用基本身份验证 (如果服务器启动时禁用了身份验证,客户端无需凭据,但如果服务器端口更改,可能需要调整 endpoint):
uv run mcp-transport-auth/client.py --endpoint http://localhost:8000/sse
客户端将列出可用的工具,然后调用 'execute_command' 工具,并打印 'id -un' 命令的输出。
- 使用基本身份验证 (与服务器凭据匹配):
信息
分类
开发者工具