LocalMCP Server (Bedrock AgentCore 本地原型实现)
使用说明
- 项目简介 该仓库包含一个本地原型的 MCP 服务器实现及相关组件,提供资源、工具和会话管理能力,采用 JSON-RPC 风格的 MCP 协议进行请求/响应交互,支持本地快速搭建用于开发与演示。
- 主要功能点
- 可运行的 MCP 服务端:提供一组 MCP 工具(Tools)和资源(Resources)的注册与调用接口,通过 JSON-RPC 进行通信。
- 会话与上下文管理:维持对话会话、会话标识等上下文信息,便于多轮对话场景的任务执行。
- 数据与工具模型:包含设备、网络、用户、活动等数据模型的工具入口,便于演示设备管理场景。
- 传输协议支持:支持基于 HTTP 的流式传输模式(streamable-http),可组合多种传输方式进行数据传输。
- 自动化加载与初始化:提供 init/init_db 等模块,用于初始化数据结构、表格和资源注册。
- 安装步骤
- 克隆仓库并进入项目目录,确保 Python 环境就绪(Python3.x)。
- 安装依赖(如 bedrock agentcore、mcp、Strands 等相关依赖)。
- 进入本地 MCP 服务器目录,直接运行 server.py 启动服务器:python3 server.py
- 按需调整环境变量配置,确保依赖(如 DynamoDB、Bedrock Agents 相关服务)可用。
- 服务器配置
MCP 客户端连接服务器时需要提供一个配置(JSON),描述服务器启动命令与参数等信息。示例配置如下(请仅作为参考,实际环境中请根据本地路径和需求替换参数):
{
"server_name": "LocalMCP",
"command": "python3",
"args": ["server.py"],
"workingDirectory": "/path/to/02-use-cases/local-prototype-to-agentcore/local_prototype/local_mcp_server",
"transport": "streamable-http",
"notes": "本地开发环境,请确保依赖已安装并且云端服务可访问。"
}
说明:
- server_name: MCP 服务器的名称,供客户端识别使用。
- command 与 args: 启动服务器所需的命令及参数,客户端据此启动并连接。
- workingDirectory: 服务器工作目录,确保包含 server.py 等入口文件。
- transport: 指定传输协议,示例为 streamable-http,具体可选取客户端支持的传输方式。
- 基本使用方法
- 启动服务器后,MCP 客户端通过提供的连接信息即可与服务器建立会话和执行工具调用。
- 通过工具/资源入口执行对设备、网络、用户、活动等数据的查询与操作,示例场景包括列出设备、获取设备设置、查询用户活动等。
- 结合前端或其他框架,利用 JSON-RPC 进行远程调用,获得统一的 JSON-RPC 响应格式。