mcpField
A
AskTheApi Team Builder

AskTheApi Team Builder

本地服务
github.com/AlexAlbalaAI 与智能体171 周前更新

关于 AskTheApi Team Builder

AskTheApi Team Builder 是一个 Python 库,用于围绕 OpenAPI 定义的 API 构建和运行协作 Agent 团队。它结合自动规划、交互流式传输和类型安全配置,也可通过 MCP 服务公开团队能力。

主要功能

  1. 01根据 OpenAPI 规范创建 Agent 和工具
  2. 02由规划 Agent 协调团队
  3. 03流式传输 Agent 交互
  4. 04使用内置 HTTP 客户端调用外部 API
  5. 05通过 Pydantic 验证配置

适用场景

  1. 01为 OpenAPI 规范中的端点构建 Agent
  2. 02协调多个 Agent 处理复杂任务
  3. 03在工作流中流式传输 Agent 通信
  4. 04通过 MCP 公开由 API 支持的 Agent 团队

MCP 相关

其 MCP 服务会解析 OpenAPI 规范、对端点分组、生成工具,并通过 MCP 接口公开这些工具。它也支持流式传输 Agent 交互。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AskTheApi Team Builder

PyPI version License: MIT Python Versions

一个用于构建和管理自主 Agent 网络的高级 Python 库,这些 Agent 协同合作以解决复杂任务。该库旨在与使用 OpenAPI 标准定义的 API 无缝协作。它提供了简洁且类型安全的接口,用于创建、配置和运行 Agent 团队,让你只需编写少量样板代码即可轻松编排多 Agent 工作流。

功能

  • 🚀 轻松创建 Agent 网络:基于 OpenAPI 规范,快速构建具备自定义工具和能力的 Agent 网络。

  • 🤝 团队协作:轻松定义 Agent 团队,并由内置规划 Agent 自动协调。

  • 📡 流式交互:实时流式传输 Agent 通信,让工作流更灵活、响应更迅速。

  • 🔧 内置 HTTP 客户端:集成可直接调用外部 API 的 HTTP 客户端,简化工具的实现。

  • ✨ 使用 Pydantic 实现类型安全:借助 Pydantic 模型进行可靠的数据验证,并明确定义类型。

  • 🎯 简洁直观的 API:面向开发者设计,样板代码极少,清晰度极高。

安装

pip install asktheapi-team-builder

快速开始

以下是使用此软件包的方法:

1. 根据 OpenAPI 规范创建 Agent

from asktheapi_team_builder import TeamBuilder, Agent, Tool, Message, APISpecHandler
from typing import List
async def create_agents_from_spec():
    # Initialize handlers
    api_spec_handler = APISpecHandler()
    
    # Download and parse OpenAPI spec
    spec_content = await api_spec_handler.download_url_spec("https://api.example.com/openapi.json")
    
    # Classify endpoints into logical groups
    classification_result = await api_spec_handler.classify_spec(
        spec_content
    )
    
    # Generate agents for each group
    agents = []
    for group_spec in classification_result.specs:
        agent_result = await api_spec_handler.generate_agent_for_group(
            group_spec,
            spec_content
        )
        agents.append(agent_result)
    
    return agents

2. 构建并运行团队

async def run_agent_team(agents: List[Agent], query: str):
    # Initialize team builder
    team_builder = TeamBuilder(
        model="gpt-4",
        model_config={"temperature": 0.7}
    )
    
    # Build the team
    team = await team_builder.build_team(agents)
    
    # Create messages
    messages = [
        Message(
            role="user",
            content=query
        )
    ]
    
    # Run the team with streaming
    async for event in team_builder.run_team(team, messages, stream=True):
        if isinstance(event, ChatMessage):
            print(f"{event.source}: {event.content}")

使用示例

async def main():
    # Create agents from spec
    api_agents = await create_agents_from_spec()
    
    # Combine with manual agents
    all_agents = [weather_agent] + api_agents
    
    # Run the team
    await run_agent_team(
        all_agents,
        "What's the weather like in London and how might it affect local businesses?"
    )

自定义标头和配置

你可以使用自定义标头和模型设置来配置团队构建器:

team_builder = TeamBuilder(
    model="gpt-4",
    model_config={
        "temperature": 0.7,
        "default_headers": {
            "Authorization": "Bearer your-token",
            "Custom-Header": "custom-value"
        }
    }
)

# Run team with extra headers for specific requests
team = await team_builder.build_team(agents)
result = await team_builder.run_team(
    team,
    messages,
    extra_headers={"Request-ID": "123"}
)

MCP(Model Context Protocol)支持

该库内置了对 Model Context Protocol 的支持,可将 Agent 团队作为 API 端点公开,并根据 OpenAPI 规范自动生成工具。

from asktheapi_team_builder import MCPService, MCPConfig

# Configure MCP service
mcp_config = MCPConfig(
    transport="sse",  # Server-Sent Events transport
    port=8000,        # Port to run the MCP server
    name="asktheapi_mcp"  # Service name
)

# Initialize MCP service
mcp_service = MCPService(mcp_config)

# Start MCP server with OpenAPI spec
await mcp_service.start_from_spec(
    url_spec="https://api.example.com/openapi.json",
    headers={"Authorization": "Bearer your-token"}
)

MCP 服务将:

  • 自动下载并解析 OpenAPI 规范
  • 将端点归类到逻辑组中
  • 为每个组生成适当的工具
  • 通过 Model Control Protocol 接口公开这些工具
  • 处理 Agent 交互的实时流式传输

贡献

欢迎贡献!请随时提交 Pull Request。对于重大更改,请先提交 issue,讨论你想要进行的更改。

  1. Fork 此代码库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 将更改推送到分支(git push origin feature/amazing-feature)
  5. 提交 Pull Request

开发环境设置

# Clone the repository
git clone https://github.com/alexalbala/asktheapi-team-builder.git
cd asktheapi-team-builder

# Install dependencies
pip install -e ".[dev]"

# Run tests
pytest

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。