项目简介
Authed MCP Server Integration 是一个将 Authed 身份认证系统与 Model Context Protocol (MCP) 服务器相结合的开源项目。它允许开发者快速构建安全的 MCP 服务器,为 AI Agent 提供经过身份验证的上下文信息访问服务。该项目基于 Python 和 FastAPI 框架,易于安装和配置,并提供了丰富的示例和文档。
主要功能点
- 资源管理: 支持 MCP 资源 (Resources) 的注册和访问控制,允许 AI Agent 安全地读取和操作数据。
- 工具集成: 允许注册和执行 MCP 工具 (Tools),扩展 AI Agent 的能力,例如调用外部 API 或执行特定功能。
- Prompt模板: 支持定义和渲染 MCP Prompt 模板 (Prompts),使 AI Agent 能够根据上下文生成定制化的 Prompt。
- 安全认证: 集成 Authed 身份认证系统,确保只有经过授权的 AI Agent 才能访问 MCP 服务器的功能和数据。
- SSE传输: 使用 Server-Sent Events (SSE) 作为默认的传输协议,支持高效的服务器推送和实时通信。
- 易于扩展: 基于 FastAPI 和 MCP 框架构建,方便开发者根据自身需求进行定制和扩展。
安装步骤
- 环境准备: 确保已安装 Python 3.8 或更高版本和 pip 包管理器。
- 安装 SDK: 打开终端,运行以下命令安装 Authed SDK:
pip install authed
服务器配置
MCP 服务器配置主要通过命令行参数或环境变量进行。以下是一个 'server_config.json' 配置示例,展示了启动 MCP 服务器所需的关键信息:
{ "server name": "authed-mcp-server", "command": "authed_mcp.server:main", "args": [ "--host", "0.0.0.0", "--port", "8000", "--name", "my-mcp-server", "--demo", // 注册 demo handlers (可选,用于快速体验) // 以下为 Authed 认证配置,建议使用环境变量方式配置,此处仅为示例 // "--registry-url", "https://api.getauthed.dev", // "--agent-id", "your-agent-id", // "--agent-secret", "your-agent-secret", // "--private-key", "your-private-key", // "--public-key", "your-public-key" ], "env": { // 建议将 Authed 认证信息配置在环境变量中,更安全 "AUTHED_REGISTRY_URL": "https://api.getauthed.dev", // Authed 注册中心 URL "AUTHED_AGENT_ID": "your-agent-id", // MCP 服务器 Agent ID "AUTHED_AGENT_SECRET": "your-agent-secret", // MCP 服务器 Agent Secret "AUTHED_PRIVATE_KEY": "your-private-key" // MCP 服务器 Agent 私钥 // "AUTHED_PUBLIC_KEY": "your-public-key" // MCP 服务器 Agent 公钥 (可选,如果需要显式指定) } }
配置参数说明:
- 'server name': 自定义服务器名称,用于标识和管理。
- 'command': 必须,指定 MCP 服务器的启动命令入口为 'authed_mcp.server:main',指向 'authed_mcp/server.py' 文件中的 'main' 函数。
- 'args': 可选,用于配置服务器行为的命令行参数,例如:
- '--host': 指定服务器绑定的主机地址,默认为 '0.0.0.0' (监听所有地址)。
- '--port': 指定服务器监听的端口号,默认为 '8000'。
- '--name': 自定义 MCP 服务器实例的名称。
- '--verbose' 或 '-v': 启用详细日志输出 (debug 级别)。
- '--demo': 注册默认的 demo 资源、工具和 Prompt handler,方便快速体验服务器功能。生产环境请勿使用。
- '--registry-url', '--agent-id', '--agent-secret', '--private-key', '--public-key': Authed 认证配置参数,推荐使用 'env' 环境变量方式配置,此处仅为示例。
- 'env': 推荐,用于设置 MCP 服务器运行时的环境变量,强烈建议将 Authed 认证相关的敏感信息 (如 'AUTHED_AGENT_SECRET', 'AUTHED_PRIVATE_KEY') 配置在环境变量中,避免泄露。
注意:
- 请将 'your-agent-id', 'your-agent-secret', 'your-private-key' 替换为实际的 Authed Agent 凭据。
- 公钥 'AUTHED_PUBLIC_KEY' 通常可以自动获取,但在某些情况下可能需要显式配置。
- 生产环境请务必移除 '--demo' 参数,并根据需要配置更完善的资源、工具和 Prompt handler。
基本使用方法
- 启动服务器: 根据 'server_config.json' 中的配置,在终端中使用 MCP 客户端工具(例如 'authed mcp client' 命令,参考仓库中的 'integrations/mcp/authed_mcp/client.py')连接到 MCP 服务器,并执行资源读取、工具调用或 Prompt 获取等操作。
- 注册资源/工具/Prompt: 参考 'integrations/mcp/examples/server/simple_server.py' 中的示例代码,在 'create_server' 和 'run_server' 之间使用 'server.resource()', 'server.tool()', 'server.prompt()' 装饰器注册自定义的资源处理函数、工具处理函数和 Prompt 生成函数。
- 客户端交互: 使用 'AuthedMCPClient' 或 'authed mcp client' 命令行工具,配置客户端 Agent 凭据和 MCP 服务器地址,即可与 MCP 服务器进行交互,具体用法请参考 'integrations/mcp/examples/client/simple_client.py' 和 'integrations/mcp/authed_mcp/client.py'。
信息
分类
AI与计算