项目简介

Asynchronous Component Base (ACB) 是一个强大的模块化Python框架,专为构建高性能异步应用而设计。它通过可插拔的动作(Actions)和适配器(Adapters)集成各种系统,并提供动态配置、依赖注入、事件、任务和工作流编排等功能。

ACB包含一个完整的Model Context Protocol (MCP) 服务器实现,使LLM客户端能够以标准化的方式与框架的各项能力进行交互,包括资源管理、工具调用和流程编排。

主要功能点

  • 组件发现与管理: 允许LLM客户端发现并管理ACB框架中所有可用的动作、适配器、服务和其他组件。
  • 工具与资源访问: LLM可以通过MCP协议调用ACB中注册的动作(视为工具),并与各种适配器交互以访问外部系统(如数据库、缓存、存储等资源)。
  • 工作流编排: 支持LLM定义和执行复杂的、跨组件的多步骤工作流。
  • 会话管理: 提供上下文服务框架,支持会话管理和能力声明。
  • 传输协议支持: MCP服务器通过JSON-RPC协议与客户端通信,并可配置多种传输协议。
  • AI/ML集成: 与AI/ML适配器无缝集成,支持LLM交互、嵌入生成和模型服务。

安装步骤

ACB框架及其MCP服务器需要Python 3.13或更高版本。推荐使用'uv'工具进行安装:

  1. 确保您的系统安装了'uv'工具。如果未安装,请访问 'uv' 官方文档进行安装。
  2. 创建一个新的项目目录并进入
    mkdir my_mcp_project
    cd my_mcp_project
  3. 初始化Python项目并安装'acb'及其MCP支持组件
    uv init
    uv add acb --group mcp
    这将会安装所有运行ACB MCP服务器所需的核心依赖项。

服务器配置

MCP服务器通常由LLM客户端(如Claude Desktop)进行配置和启动。以下是一个示例配置,展示了如何让MCP客户端与ACB MCP服务器建立连接。请注意,以下JSON格式的配置是提供给LLM客户端的,并非Python代码。

{
  "mcpServers": {
    "acb": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "-m",
        "acb.mcp.server"
      ],
      "env": {
        "ACB_MCP_HOST": "127.0.0.1",
        "ACB_MCP_PORT": "8000"
      },
      "description": "ACB Model Context Protocol Server for AI assistants.",
      "metadata": {
        "displayName": "ACB MCP Server",
        "version": "1.0.0",
        "capabilities": [
          "componentDiscovery",
          "actionExecution",
          "adapterManagement",
          "workflowOrchestration",
          "healthMonitoring",
          "resourceAccess",
          "aiIntegration"
        ]
      }
    }
  }
}

配置参数注释

  • 'mcpServers': 定义MCP服务器的根对象。
  • 'acb': 您为MCP服务器指定的名称(此名称可自定义,用于在客户端中识别该服务器)。
  • 'command': 启动MCP服务器的操作系统命令,这里使用'uv'来执行Python模块。
  • 'args': 传递给'command'的参数列表,'run python -m acb.mcp.server' 指定以模块方式运行'acb.mcp.server'。
  • 'env': 环境变量,'ACB_MCP_HOST'和'ACB_MCP_PORT'定义了服务器监听的IP地址和端口号。
  • 'description': 服务器的简要描述。
  • 'metadata': 提供更多元数据,如显示名称('displayName')、版本('version')和服务器支持的功能('capabilities'),方便客户端识别和利用。

基本使用方法

一旦MCP服务器配置并由您的LLM客户端成功启动,LLM客户端将能够通过JSON-RPC协议与ACB进行通信。

例如,LLM客户端可以发送请求来:

  1. 发现可用组件: 请求服务器列出所有已注册的Actions(工具)、Adapters(资源接口)和服务。
  2. 调用动作/工具: 请求服务器执行一个特定的Actions,并传递必要的参数。例如,调用一个加密Actions来处理数据。
  3. 访问适配器功能: 请求服务器通过某个Adapters与数据库、缓存或存储系统进行交互,执行数据读写等操作。
  4. 编排工作流: 触发预定义或动态生成的工作流,以执行复杂的业务流程,如数据处理管道或用户注册流程。

LLM客户端会根据这些信息理解MCP服务器提供的能力,并生成相应的JSON-RPC请求来调用这些功能。具体的交互方式和用户界面体验将取决于您使用的LLM客户端。

信息

分类

AI与计算