Strands代理MCP
用于执行Strands代理的模型上下文协议(MCP)服务器。该项目提供了一种将Strands代理与Amazon Q和其他MCP兼容系统集成的简单方法。
重要:该项目目前处于alpha阶段,尚未在PyPI上发布。
概述
Strands Agent MCP是Strands代理框架和模型上下文协议(MCP)之间的桥梁。它允许您:
- 将Strands代理注册为MCP工具
- 通过MCP执行Strands代理
- 根据特定技能查找代理
该项目使用插件架构,可以在不修改核心代码的情况下轻松添加新代理。
安装
注意:此软件包尚未在PyPI上提供。您需要从源代码安装它。
# Clone the repository
git clone https://github.com/yourusername/strands-agent-mcp.git
cd strands-agent-mcp
# Install the package
pip install -e .用法
启动MCP服务器
strands-agent-mcp这将启动MCP服务器。
环境变量
服务器支持以下环境变量:
PLUGIN_PATH:查找插件的自定义路径(默认:“.”)PLUGIN_NAMESPACE:插件的自定义命名空间前缀(默认值:'sap_mcp_plugin')
创建代理插件
要创建一个新的代理插件,请创建一个名称以开头的Python包 sap_mcp_plugin_ (sap代表链代理插件)。您的软件包应该实现 build_agents 返回以下列表的函数 AgentEntry 物体:
from typing import List
from boto3 import Session
from strands import Agent
from strands.models import BedrockModel
from strands_agent_mcp.registry import AgentEntry
def build_agents() -> List[AgentEntry]:
return [
AgentEntry(
name="my-agent",
agent=Agent(
model=BedrockModel(boto_session=Session(region_name="us-west-2"))
),
skills=["general-knowledge", "coding"]
)
]使用亚马逊Q
MCP服务器运行后,您可以将其连接到Amazon Q。有关正确的连接参数,请参阅Amazon Q文档。
以下MCP工具将可用:
execute_agent:使用参数执行代理agent_name和promptlist_agents:列出所有可用的代理
建筑
该项目由三个主要部分组成:
- 服务器:公开代理执行API的MCP服务器
- 注册表:管理可用代理及其技能的注册表
- 插件:在注册表中注册代理的动态发现模块
服务器会自动发现所有遵循命名约定的已安装插件,并注册其代理。
依赖项
fastmcp>=2.3.4:用于实现MCP服务器strands-agents>=0.1.1:核心Strands代理框架strands-agents-builder>=0.1.0:用于构建Strands代理的工具strands-agents-tools>=0.1.0:Strands代理的附加工具
发展
此项目使用 紫外线 用于依赖性管理。要设置开发环境,请执行以下操作:
- 克隆存储库
- 如果你还没有安装uv:
pip install uv - 创建虚拟环境并安装依赖项:
uv venv
uv sync示例插件
存储库包括一个示例插件(sap_mcp_plugin_simple)它演示了如何创建和注册一个简单的代理:
from typing import List
from boto3 import Session
from strands import Agent
from strands.models import BedrockModel
from strands_agent_mcp.registry import AgentEntry
def build_agents() -> List[AgentEntry]:
return [
AgentEntry(
name="simple-agent",
agent=Agent(
model=BedrockModel(boto_session=Session(region_name="us-west-2"))
),
skills=["general-knowledge"]
)
]许可证
此项目根据存储库中包含的LICENSE文件的条款获得许可。
