使用说明
多代理RAG MCP服务器
一个基于模型上下文协议(MCP)的综合多代理检索增强生成(RAG)系统,具有用于法律文件处理、截止日期提取和战略分析的专用AI微代理。
🎯 概述
该项目使用MCP服务器作为协调专业AI代理的基础,实现了一个相互连接的代理生态系统。该系统专为法律技术应用而设计,特别是文档智能和截止日期管理。
✨ 特性
- 多代理架构三名专业人员协同工作
- 向量存储:使用pgvector进行语义搜索的Supabase
- MCP集成:与Claude Desktop无缝集成
- 法律文件处理:专门用于西班牙法律通知
- 策略分析公司:商业智能和背景分析
- 零投入策略:75%自动化,25%战略监督
🤖 代理
1.截止日期代理人
准确提取和管理西班牙法律文件的截止日期。
能力:
- 西班牙语法律文本处理
- 截止日期提取和分类
- 自动跟踪截止日期
- 法律通知解析
2.文件分类代理
自动对法律文件进行分类和归类。
能力:
- 多级文档分类
- 元数据抽取
- 自动标记
- 文档类型识别
3.SmartContext分析代理
提供战略商业智能和情境分析。
能力:
- 策略分析公司
- 业务上下文提取
- 跨文档见解
- 趋势分析
🏗️ 建筑
rag-mcp-server/
├── src/
│ ├── server.py # Main MCP server
│ ├── agents/
│ │ ├── deadline_agent.py
│ │ ├── document_agent.py
│ │ └── smartcontext_agent.py
│ └── data_sources/
├── database/
│ └── schema.sql # Database schema
├── docs/ # Documentation
├── config/ # Configuration files
├── data/ # Data storage
└── tests/ # Test files
🚀 快速开始
先决条件
- Python 3.10+
- Supabase账户
- Claude Desktop(用于MCP集成)
- 带pgvector扩展的PostgreSQL
安装
- 克隆仓库
git clone https://github.com/yourusername/rag-mcp-server.git
cd rag-mcp-server
- 创建虚拟环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 安装依赖项
pip install -r requirements.txt
- 配置环境
cp .env.example .env
# Edit .env with your credentials
- 初始化数据库
# Run the database schema (see docs for details)
psql -h your-supabase-host -U postgres -d your-database -f database/schema.sql
- 配置Claude桌面
编辑您的Claude Desktop配置文件(
~/Library/Application Support/Claude/claude_desktop_config.json在macOS上):
{
"mcpServers": {
"rag-server": {
"command": "python",
"args": ["/Users/yourusername/rag-mcp-server/src/server.py"],
"env": {
"SUPABASE_URL": "your_supabase_url",
"SUPABASE_KEY": "your_supabase_key"
}
}
}
}
- 重新启动克劳德桌面
🛠️ 用法
该系统有两种使用方式:
1.MCP服务器(克劳德桌面集成)
配置后,可以通过Claude Desktop使用以下工具访问代理:
截止日期代理工具
extract_deadlines-从法律文件中提取截止日期list_deadlines-列出所有跟踪的截止日期search_deadlines-按条件搜索截止日期
文档代理工具
classify_document-对文档类型进行分类index_document-将文档添加到矢量存储search_documents-语义文档搜索
SmartContext代理工具
analyze_context-战略背景分析extract_insights-商业智能提取trend_analysis-跨文档趋势分析
2.REST API服务器(前端集成)
该系统还为前端应用程序提供了FastAPI REST API:
# Run REST API server (for frontend)
python src/api_server.py
API服务器运行于 http://localhost:8000 交互式文档位于 http://localhost:8000/docs.
主要特点:
- 客户管理 -创建和管理客户记录
- 文档上传 -上传文档并自动处理
- 数据检索 -查询每个客户的文档、截止日期和分析
- CORS已启用 -已准备好进行前端集成
API终点:
客户管理:
POST /api/clients-创建新客户端GET /api/clients-列出所有客户GET /api/clients/{client_id}-获取客户详细信息PUT /api/clients/{client_id}-更新客户端DELETE /api/clients/{client_id}-删除客户端(软删除)
文档操作:
POST /api/clients/{client_id}/documents-上传和处理文件GET /api/clients/{client_id}/documents-列出客户文件GET /api/clients/{client_id}/documents/stats-文档统计
截止日期管理:
GET /api/clients/{client_id}/deadlines-获取客户的截止日期GET /api/clients/{client_id}/deadlines/stats-截止日期统计
战略分析:
GET /api/clients/{client_id}/analysis-获取战略分析
运行两台服务器:
# Run MCP server for Claude Desktop (existing functionality)
python src/server.py
# Run REST API server for frontend (new functionality)
python src/api_server.py
两台服务器可以独立运行,并使用相同的数据库。
📊 数据库模式
系统使用以下主表:
clients-客户信息和管理documents-文档元数据和分类deadline_extractions-最后期限提取操作deadlines-提取截止日期跟踪analyses-战略洞察力和分析
客户端隔离:
所有文件、截止日期和分析都通过以下方式与特定客户相关联 client_id,实现适当的数据隔离和多租户支持。
看 database/schema.sql 有关完整的架构详细信息。
📚 文档
综合文档可在 docs/ 文件夹:
- 快速入门指南 -从头开始30分钟设置
- 架构指南 -完整的系统设计和模式
- 故障排除指南 -常见问题和解决方案
- api参考 -工具定义和使用
🔒 安全
该系统实现了三层安全:
- 认证 -用户身份验证
- 授权 -访问控制和权限
- 加密 -敏感数据的零知识加密
永远不要承诺你的 .env 文件 -它包含敏感凭据。
🧪 测试
运行测试套件:
pytest tests/
测试单个试剂:
python test_deadline_extraction.py
🤝 贡献
这是一个个人项目,但欢迎提出建议和反馈!请打开一个问题来讨论拟议的更改。
📝 许可证
[在此处添加您的许可证]
🙏 致谢
内置:
- 安thropic克劳德 -人工智能能力
- 模型上下文协议 -代理协调
- Supabase -数据库和矢量存储
- pg向量 -向量相似性搜索
📞 联系
[添加您的联系方式]
状态:生产就绪
版本: 1.0
最后更新2024年11月