项目简介
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'工具进行安装:
- 确保您的系统安装了'uv'工具。如果未安装,请访问 'uv' 官方文档进行安装。
- 创建一个新的项目目录并进入:
mkdir my_mcp_project cd my_mcp_project - 初始化Python项目并安装'acb'及其MCP支持组件:
这将会安装所有运行ACB MCP服务器所需的核心依赖项。uv init uv add acb --group 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客户端可以发送请求来:
- 发现可用组件: 请求服务器列出所有已注册的Actions(工具)、Adapters(资源接口)和服务。
- 调用动作/工具: 请求服务器执行一个特定的Actions,并传递必要的参数。例如,调用一个加密Actions来处理数据。
- 访问适配器功能: 请求服务器通过某个Adapters与数据库、缓存或存储系统进行交互,执行数据读写等操作。
- 编排工作流: 触发预定义或动态生成的工作流,以执行复杂的业务流程,如数据处理管道或用户注册流程。
LLM客户端会根据这些信息理解MCP服务器提供的能力,并生成相应的JSON-RPC请求来调用这些功能。具体的交互方式和用户界面体验将取决于您使用的LLM客户端。
信息
分类
AI与计算