🧠 代理型MCP文件阅读器
适合初学者的 AI文件助手 由……提供支持/驱动 链光(或链灯,根据上下文具体含义可能有所不同), 模型上下文协议(MCP),以及 通过OpenAI Agents SDK使用Gemini API。\ 这个项目展示了人工智能代理如何能够 读取、搜索和编写本地文件 使用自然语言——无论是通过 聊天界面 或者 CLI(Command Line Interface,命令行界面)。
______________________________________________________________________
🚀 特点
- 🤖 表示机器人。 基于聊天的文件助手 (通过Chainlit)
- 🧩 这个表情符号在中文中通常被用来表示“拼图”或“碎片”的意思,也可以象征着“智慧”或“解决问题”。在不同的语境下,它可以有不同的含义,但核心都是围绕着“拼凑”或“组合”的概念。 MCP 服务器 提供工具用于读取、搜索和编写文件
- 🔗(这个符号在中文中通常没有直接的翻译,它在网络语境中常用来表示链接或连接,所以可以翻译为“链接”或根据上下文具体解释为“这是一个链接”等) Gemini API集成 通过OpenAI Agents SDK
- ⚙️(齿轮符号,常用于表示机械、技术或设置相关的概念) 流式响应 实时输出代币
- 💻 电脑/笔记本电脑 命令行界面 (CLI) 可用版本
______________________________________________________________________
🧱 项目结构
agentic-mcp-file-reader/
│
├── app.py # Chainlit UI app - Chat interface for File Assistant
├── server.py # MCP server exposing file read/search/write tools
├── fileagent.py # CLI-only version of File Assistant
├── .env # Contains GEMINI_API_KEY and MCP_SERVER_URL
└── requirements.txt # (Recommended) Dependencies list______________________________________________________________________
📦 安装指南
1️⃣ 克隆仓库
git clone https://github.com/connectalizain/agentic-mcp-file-reader.git
cd agentic-mcp-file-reader2️⃣ 创建虚拟环境(可选但推荐)
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows3️⃣ 安装依赖项
pip install -r requirements.txt*(如果你没有 requirements.txt,手动安装:)*
pip install chainlit python-dotenv uvicorn fastapi openai-agents-sdk4️⃣ 添加环境变量
创建一个 .env 根目录中的文件:
GEMINI_API_KEY=your_gemini_api_key_here
MCP_SERVER_URL=http://localhost:9000/mcp/______________________________________________________________________
⚙️ 运行项目
🧩 步骤1 — 启动MCP服务器
python server.py这将启动 MCP FastAPI 服务器 暴露这些工具:
read_file(path)search_file(path, keyword)write_file(path, content, mode)
默认端口: 9000
______________________________________________________________________
💬 步骤2 — 运行Chainlit应用程序
chainlit run app.py -w然后打开提供的(文件/链接/软件等) 本地主机URL 在您的浏览器中。
你可以与你的助手进行自然对话:
🗣 “搜索这个词 *未来* 在test.txt并对其进行总结。”\ 🗣 “总结一下report.txt在50字以内。“\ “写上‘AI太棒了!’到note.txt。”
______________________________________________________________________
🧑💻 步骤3 — 使用CLI文件代理(可选)
对于仅终端版本:
python fileagent.py "Summarize test.txt in 50 words"或者以交互方式运行它:
python fileagent.py
Enter query: Search 'progress' in test.txt______________________________________________________________________
🧠 它的工作原理
🔹 server.py
实现了一个 MCP服务器 使用 FastMCP。\ 向以下方面提供工具:
- 读取一个文件(
read_file) - 搜索关键词(
search_file) - 写入文件(
write_file)
🔹(这个符号本身在中文中没有特定含义,通常用作装饰或标记,可直接保留或根据上下文解释为“一个蓝色的实心圆圈”或“一个装饰性符号”等) app.py
启动一个 链式照明网页界面 其中:
- 双子座模型(
gemini-2.5-flash) 通过OpenAI Agents SDK进行连接。 - 代理连接到本地MCP服务器以访问文件工具。
- 用户输入以实时代币更新的方式进行流式传输。
- 工具使用情况会在聊天中显示(例如,“🔧 调用工具:read_file”)。
🔹(这个符号在中文中通常没有直接对应的翻译,它可能用于表示一个项目符号、重点或特定的标记。在没有上下文的情况下,可以简单地将其描述为“一个项目符号或重点标记”。) fileagent.py
A. CLI 版本 文件助手的(功能/特性)为:
- 连接到同一台MCP服务器。
- 输出流到终端。
- 处理无用户界面的查询。
______________________________________________________________________
🧩 示例流程
- 你问:
> “查找这个词 *创新* in notes.txt 并进行总结。”
- 代理:
- 电话 search_file - 读取匹配的行 - 电话 read_file 为了提供背景信息 - 使用Gemini总结全部内容
- 您可以在 Chainlit 或命令行界面 (CLI) 中看到实时流式输出。
______________________________________________________________________
技术栈(或技术堆栈)
| 组件 | 描述 |
|---|---|
| 链光(或链式照明,根据上下文可能有所不同,这里“Chainlit”直译为“链光”,意译可能需结合具体语境) 基于聊天的大型语言模型(LLM)应用的用户界面(UI) | |
| OpenAI 代理软件开发工具包(SDK) | 运行和管理AI代理的框架 |
| 双子座2.5闪存版 | 谷歌的大型语言模型(LLM)用作推理引擎 |
| MCP(模型上下文协议) | 允许外部工具访问,如读取/写入文件 |
| FastMCP | Python框架,轻松实现MCP服务器 |
| Uvicorn + FastAPI(可译为“Uvicorn 加 FastAPI”或保持原样,因为这是技术术语,直接使用在中文语境中也能被理解) | 用于运行MCP服务器后端 |
______________________________________________________________________
🔒 环境变量
| 变量 | 描述 |
|---|---|
GEMINI_API_KEY 您的Gemini API密钥来自Google AI Studio | |
MCP_SERVER_URL | MCP 服务器 URL(默认:http://localhost:9000/mcp/) |
______________________________________________________________________
🧩 未来改进方向
- 添加多文件上下文记忆
- 在Chainlit UI中支持文件上传和预览
- 添加身份验证和日志记录功能
- Docker对部署的支持
______________________________________________________________________
📜 许可证
______________________________________________________________________
🌟 致谢
多亏了
