LangChain Agent RAG MCP
An MCP server integrating LangChain, RAG, and Agent to provide knowledge retrieval and tool invocation through natural language.
README
<<<<<<< HEAD
LangChain Agent Project
这是一个从零逐步成长的 LangChain 项目,当前先完成最小 RAG 示例。
目录
agent.md:项目主说明src/minimal_rag.py:第二阶段 RAG 入口src/rag_stage2.py:第二阶段核心实现models/m3e-base/:本地 embedding 模型目录data/sample_docs/:示例文档
环境
固定使用名为 agents 的 Python 虚拟环境。
python -m venv agents
agents\Scripts\Activate.ps1
=======
# LangChain Agent RAG MCP
这是一个逐步演进的 LangChain + RAG + Agent + MCP 项目,当前已完成到 Phase 4。
## 项目结构
- `src/minimal_rag.py`:Phase 2 RAG 入口
- `src/agent_stage3.py`:Phase 3 工具调用入口
- `src/mcp_stage4.py`:Phase 4 MCP 服务入口
- `src/test_stage2.py`:Phase 2 smoke test
- `src/test_agent_stage3.py`:Phase 3 smoke test
- `src/test_mcp_stage4.py`:Phase 4 smoke test
- `agent.md`:阶段规划与最新进展
## 环境准备
统一使用 conda 的 `agents` 环境,路径为 `D:\Pyenvs\py310\agents`。
```powershell
conda activate agents
>>>>>>> 9c9be64 (已完成第三步的工具接入)
python -m pip install -r requirements.txt
配置
<<<<<<< HEAD
复制 .env.example 为 .env,然后填写 OpenAI 兼容中转站配置。
如果你使用的是中转站接口,记得把 OPENAI_BASE_URL 改成你的代理地址。
embedding 只从项目内 models/m3e-base 读取,不再访问 Hugging Face。
运行
=======
复制 .env.example 为 .env,填写 OpenAI 兼容接口配置。
如果使用中转站或代理,请把 OPENAI_BASE_URL 改成实际地址。
使用方式
Phase 2:
9c9be64 (已完成第三步的工具接入)
python -m src.minimal_rag --question "这个项目现在支持什么?"
<<<<<<< HEAD
测试
先跑结构测试:
python -m src.test_stage2
再跑完整问答:
python -m src.minimal_rag --question "这个项目现在支持什么?"
当前能力
- 读取示例文档
- 切分文本
- 使用本地
m3e-base建立向量检索 - 基于检索结果生成回答
- 返回来源引用
- 检索不到时会明确兜底
第三阶段
已完成工具调用骨架,入口位于 src/agent_stage3.py。
运行方式:
python -m src.agent_stage3 --question "这个项目现在支持什么?"
环境说明
当前项目统一使用 conda 创建的 agents 环境,实际位置为 D:\Pyenvs\py310\agents。
后续运行前请先执行:
conda activate agents
最新进展
- 已确认并记录
agentsconda 虚拟环境位置:D:\Pyenvs\py310\agents - 已完成第三阶段的工具调用骨架,
src.agent_stage3可正常运行 - 后续开发统一以
conda activate agents后的环境为准
第一批工具
knowledge_base_search:基于本地 RAG 资料检索回答project_summary:输出项目当前阶段、环境和进展摘要sample_docs_index:列出示例文档并展示简短预览
测试方法
在 agents 环境中执行:
conda activate agents
python -m src.test_agent_stage3
如果你想单独验证 agent 入口,也可以运行:
python -m src.agent_stage3 --question "这个项目现在支持什么?"
更新说明
- 第一批工具已补充输入输出约束和异常兜底
src.test_agent_stage3已加入真实 agent 路由测试,可验证模型按问题自动选不同工具 ======= Phase 3:
python -m src.agent_stage3 --question "这个项目现在支持什么?"
Phase 4:
python -m src.mcp_stage4
如果要在终端里看到常驻服务:
python -m src.mcp_stage4 --transport streamable-http --host 127.0.0.1 --port 8000
测试方法
conda activate agents
python -m src.test_stage2
python -m src.test_agent_stage3
python -m src.test_mcp_stage4
使用注意事项
stdio模式是给 MCP 客户端连接的,不要在终端里手动输入内容。http://127.0.0.1:8000/返回 404 是正常的,真正入口是/mcp。- 新对话里如果无法调用 MCP,优先检查 Codex 是否真的配置到了当前项目里的
src.mcp_stage4。 - 运行前一定先激活
agents环境。 - 现在项目知识已经收口到
README.md和agent.md,不再依赖额外 Markdown 资料。
当前能力
- 基础问答
- RAG 检索增强
- Agent 工具调用
- MCP 接入
测试文档
当前 RAG 测试资料放在 data/laser_tracker_docs/,用于激光跟踪仪前沿研究的示例检索。
如果要新增测试资料,直接在这个目录里添加新的 .md 文件即可。
9c9be64 (已完成第三步的工具接入)
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。