基于MCP的AI文件分析代理
概述
该项目展示了 代理工具范式 使用 机器对机器通信协议(MCP)它具有一个轻量级的AI代理,通过与本地工具服务器通信来编排一系列任务。代理的目标是读取本地文本文件,利用 OpenAI GPT-4.1-纳米API 并将结果摘要写回本地摘要文件。
应用程序的架构将操作的“大脑”(代理)与“手”(工具)分开。代理包含高级逻辑和计划,而服务器则公开特定的、自包含的功能。这两个组件之间的通信由MCP处理,抽象出了网络编程的复杂性。
该项目为构建更复杂的人工智能系统提供了基础蓝图,在这些系统中,自主代理可以与各种数字和现实世界的工具进行交互。
特性
- AI驱动的文本摘要: 集成OpenAI API以提供上下文感知文本摘要。
- 本地文件系统交互: 代理可以通过服务器提供的工具对本地文件系统进行读写操作。
- 解耦代理工具架构: 代理逻辑之间的明确分离(
agent.py)以及服务器的性能(server.py). - 机器对机器通信: 利用 主控程序 用于代理和工具服务器之间的结构化通信。
- 外部API摘要: 与OpenAI API交互的复杂性对代理是隐藏的,暴露为一个简单的
summarize_content工具。 - 异步操作: 基于Python构建
asyncio用于高性能执行。
技术栈和架构
- 核心协议: MCP(机器对机器通信协议)
- 服务器库: fastmcp (从 mcp 包装) - 客户库: mcp.client 模块(来自 mcp 包装) - 传输层: SSE(服务器发送事件)
- 代理商(
agent.py):编排者
- 负责工具调用的高级计划和排序。 - 使用连接到工具服务器 ClientSession 和 sse_client. - 在工具之间链接输入和输出。
- 工具服务器(
server.py):能力提供者
- 使用将功能作为网络可访问的工具公开 @mcp.tool 装饰师。 - 处理文件I/O操作(read_file, write_summary). - 管理与外部OpenAI API的集成。
- AI核心与NLP: OpenAI API
- 型号: gpt-4.1-nano (或任何其他聊天完成模式) - 任务: 自然语言概述
- 语言和库:
- 语言: python - 关键库: mcp, openai, python-dotenv, asyncio
如何运行此项目
1.先决条件
- Python 3.8+
- OpenAI API密钥(将其添加到.env文件中)
- 项目文件夹中的input.txt文件
2.设置
克隆存储库:
git clone
cd 创建并激活虚拟环境:
- 在macOS/Linux上:
python3 -m venv venv
source venv/bin/activate- 在Windows上:
python -m venv venv
.\venv\Scripts\activate安装所需的软件包:
- 激活虚拟环境后,从requirements.txt文件安装所有依赖项。
pip install -r requirements.txt