项目简介

Arcade AI 是一个全面的开发平台,旨在简化 AI Agent 工具的创建、部署和管理。它包含核心库、工具开发套件(TDK)、服务器基础设施、评估框架和命令行界面。其 'arcade-serve' 组件作为核心 MCP 服务器实现,能够以统一的接口向大语言模型 (LLM) 客户端提供上下文、工具调用和提示模板。

主要功能点

  • AI Agent 工具调用: LLM 客户端可以调用服务器上注册的各种外部功能,极大地扩展其处理复杂任务的能力。
  • 模块化工具集成: 允许开发者轻松集成和托管自定义工具包,以满足不同应用场景的需求。
  • 标准化通信协议: 通过 JSON-RPC 协议与客户端通信,确保数据交换的规范性和互操作性。
  • 多传输协议支持: 支持 Stdio、SSE、WebSocket 等多种传输协议,提供灵活的部署和通信选项。
  • 多语言客户端生态: 提供 Python、JavaScript、Go 等多种语言的客户端库,方便不同技术栈进行快速集成开发。

安装步骤

Arcade AI 平台由多个模块组成。作为 MCP 服务器,您主要需要安装 'arcade-serve' 和您希望托管的工具包。

  1. 推荐的 Python 版本: 确保您的环境中有 Python 3.9 或更高版本。

  2. 安装核心服务及工具开发套件: 要安装 'arcade-serve' 和 'arcade-tdk'(工具开发套件),您可以使用 pip:

    pip install arcade-serve arcade-tdk
  3. 安装具体工具包: Arcade AI 提供了多种预构建的工具包,例如数学工具、Postgres 数据库工具、Zendesk 工具等。您可以根据需要选择安装:

    # 安装数学工具包
    pip install arcade-math
    # 安装 Postgres 数据库工具包
    pip install arcade-postgres
    # 安装 Zendesk 工具包
    pip install arcade-zendesk
    # 如果您想安装所有核心库和工具包(包括 CLI 和评估框架):
    pip install 'arcade-ai[all]'

服务器配置 (MCP客户端使用)

MCP 客户端需要配置 MCP 服务器的连接信息。以下是一个示例 JSON 配置,包含了服务器名称、描述、以及启动 MCP 服务器的 'command'(命令)和 'args'(参数列表)。MCP 客户端将使用这些信息来启动并连接到您的 MCP 服务器。请根据您的实际部署环境调整这些值。

{
  "servers": [
    {
      "name": "LocalArcadeMCP",
      "description": "本地运行的 Arcade MCP 服务器,提供各种 AI 工具。",
      "command": "python",
      "args": [
        "-m",
        "arcade_cli.serve",
        "--mcp",
        "--host", "127.0.0.1",
        "--port", "8002",
        "--debug"
      ]
    }
  ]
}
  • 'command': 启动 MCP 服务器的命令,例如 'python'。
  • 'args': 传递给 'command' 的参数列表。
    • '-m arcade_cli.serve': 指定运行 'arcade_cli' 包中的 'serve' 模块。
    • '--mcp': 激活 MCP Stdio 服务器模式。
    • '--host 127.0.0.1': 指定服务器监听的 IP 地址。
    • '--port 8002': 指定服务器监听的端口。
    • '--debug': 启用调试模式,提供更详细的日志输出。

基本使用方法

一旦安装了 'arcade-serve' 和所需的工具包,您可以通过以下两种主要方式启动 MCP 服务器:

  1. 使用 Arcade CLI (推荐): 如果您安装了 'arcade-cli',可以直接使用 CLI 命令启动一个默认托管所有已安装 Arcade 工具包的 MCP 服务器:

    arcade serve --mcp --host 127.0.0.1 --port 8002 --debug

    这个命令会启动一个 MCP Stdio 服务器,自动发现并托管您 Python 环境中所有安装的 Arcade 工具包(例如 'arcade-math', 'arcade-postgres' 等)。

  2. 通过 Python 脚本手动启动: 创建一个 Python 脚本(例如 'my_mcp_server.py'),手动导入并注册您希望托管的工具包,然后启动 'StdioServer':

    # my_mcp_server.py
    import arcade_math # 导入您想托管的工具包,例如 arcade-math
    # import arcade_postgres # 根据需要导入其他工具包
    from arcade_core.catalog import ToolCatalog
    from arcade_serve.mcp.stdio import StdioServer
    import asyncio
    
    async def main():
        catalog = ToolCatalog()
        catalog.add_module(arcade_math) # 注册数学工具包
        # catalog.add_module(arcade_postgres) # 注册其他工具包
    
        # 创建 MCP Stdio 服务器实例,并传入工具目录
        server = StdioServer(catalog)
        print("Arcade MCP Stdio Server is running. Press Ctrl+C to stop.")
        await server.run() # 启动服务器
    
    if __name__ == "__main__":
        asyncio.run(main())

    然后通过命令行运行此脚本:

    python my_mcp_server.py

服务器启动后,您的 MCP 客户端即可根据上述“服务器配置”部分提供的信息连接到此服务器,并使用其托管的工具。

信息

分类

AI与计算