文档记忆系统

MCP Server + Document Memory System 是一个为AI系统提供持久记忆、语义搜索和高级任务执行能力的技术解决方案,旨在将AI从无状态转变为智能状态。

  • by MarvelEyiosa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MarvelEyiosa/mcp

使用说明

🧠 MCP服务器+文档存储系统

通过持久内存、语义搜索和高级任务功能,将您的人工智能从无状态转变为智能。

🎯 任务

构建一个生产就绪的MCP服务器,使AI系统能够:

  • ✅ 记住 所有用户交互和文档
  • ✅ 理解 文献语境与意义
  • ✅ 路线 智能请求(内存优先策略)
  • ✅ 合成 来自多个来源的内容
  • ✅ 编辑 基于用户反馈的文档
  • ✅ 创建 需求中的新文档
  • ✅ 执行 复杂的多步骤任务
  • ✅ 学习 从每一次互动中

📊 项目状态

第一阶段:MCP基金会 ✅ 完成

  • 基本MCP服务器框架
  • 质量评分系统(7个因素)
  • 内容路由器(5种策略)
  • Web搜索集成
  • 33个单元测试(全部通过)
  • 全面的文件

第2-5阶段:进行中 (即将开始)

  • 文档存储和矢量数据库
  • 语义搜索
  • 文档编辑/创建
  • 高级任务执行
  • 测试和部署

🚀 快速入门(5分钟)

1.克隆和安装

cd "c:\Users\DELL CORE i5\New folder\mcp"
pip install -r requirements.txt

2.配置

copy .env.example .env
# Add your API keys to .env

3.跑步

python main.py

4.测试

curl http://localhost:8000/health

📚 文档

文件 目的
QUICKSTART.md 5分钟设置和常见任务
阶段1_文件.md 完成第一阶段的详细信息
建筑师_GUIDE.md 一切如何运作

📁 关键组件

核心框架

  • MCP服务器 (src/mcp_server/base_server.py):协议处理程序、工具管理、资源生命周期
  • 质量评分员 (src/mcp_server/quality_scorer.py):7因素内容评估
  • 内容路由器 (src/content_router/router.py):智能源选择
  • 网络搜索工具 (src/web_search/web_search_tool.py):谷歌Gemini集成

基础设施

  • 配置 (config/settings.py):基于环境的配置
  • 日志记录 (config/logging_config.py):结构化日志记录
  • 协议 (src/mcp_protocol.py):请求/响应模式
  • 公用事业 (src/utils.py):共享类型和助手

测试(33次测试)

  • tests/test_mcp_server.py -服务器功能
  • tests/test_quality_scorer.py -评分系统
  • tests/test_content_router.py -路由逻辑
  • tests/test_web_search.py -网络搜索工具\

🎯 主要特点

✅ 第一阶段:MCP基金会

基本MCP服务器

  • 异步请求/响应处理
  • 工具注册和发现
  • 中间件支持
  • 自定义错误处理
  • 资源管理生命周期

质量评分(7个因素)

  • 来源可靠性(25%)
  • 含量新鲜度(15%)
  • 相关性(25%)
  • 完整性(15%)
  • 准确度(15%)
  • 引用次数(3%)
  • 用户反馈(2%)

内容路由器(5种策略)

  • MEMORY_FIRST:先检查缓存(默认)
  • EXTERNAL_FIRST:获取最新信息
  • 平衡:全面覆盖
  • MEMORY_ONLY:离线模式
  • 仅限外部:仅限新数据

Web搜索集成

  • Google Gemini API
  • 异步执行
  • 结果排名
  • 模拟测试回退

⏳ 第2-5阶段:高级功能

阶段2:文档存储

  • 矢量数据库(ChromaDB+FAISS)
  • 文档处理(PDF、DOCX、PPTX、HTML、图像)
  • 语义搜索
  • 基于使用的优化

阶段3:内存集成

  • 文档存储MCP服务器
  • 内存优先路由
  • 内容综合
  • 性能分析

第四阶段:高级功能

  • 文档编辑器(编辑/版本控制)
  • 文档创建者(根据需求生成)
  • 任务执行器(复杂操作)
  • 反馈集成

第五阶段:生产准备就绪

  • 全面测试(90%+覆盖率)
  • 性能优化
  • 安全加固
  • Docker部署
  • Kubernetes配置

💻 API示例

网页搜索

curl -X POST http://localhost:8000/request \
  -H "Content-Type: application/json" \
  -d '{
	"request_id": "req_001",
	"method": "execute",
	"tool": "web_search",
	"params": {"query": "AI trends", "limit": 5}
  }'

列出工具

curl http://localhost:8000/tools

服务器运行状况

curl http://localhost:8000/health

统计

curl http://localhost:8000/stats

🧪 测试

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=src --cov-report=html

# Run specific test file
pytest tests/test_quality_scorer.py -v

# Run single test
pytest tests/test_mcp_server.py::test_server_initialization -v

当前状态:33/33项测试通过✅

📋 成功指标

度量 目标 状态
内存命中率 >60% 第2+阶段
响应时间(内存) <200ms 第2+阶段
响应时间(网络) <2s ✅
API成本降低 >50% 第3阶段+
测试覆盖率 >90% 第5阶段
文档处理准确率 >95% 第2+阶段
任务完成成功率 >90% 第4+阶段

🔧 配置

中的关键设置 .env:

# Server
ENVIRONMENT=development
MCP_HOST=0.0.0.0
MCP_PORT=8000

# API Keys
GOOGLE_API_KEY=your_key_here

# Performance
VECTOR_SEARCH_K=10
MEMORY_HIT_THRESHOLD=0.7
CACHE_TTL=3600

# Logging
LOG_LEVEL=INFO
DEBUG=True

📚 学习路径

  1. 阅读: QUICKSTART.md -10分钟
  2. 跑: python main.py -5分钟
  3. 测试: pytest tests/ -v -5分钟
  4. 探索: 建筑师_GUIDE.md -20分钟
  5. 代码:评论 src/mcp_server/base_server.py -30分钟
  6. 扩展:添加自定义工具-30分钟

🏗️ 建筑

┌─────────────────────────────────────────────────┐
│         REST API (FastAPI)                      │
│  GET / POST /health /stats /tools /request     │
└────────────────┬────────────────────────────────┘
				 │
		 ┌───────▼────────┐
		 │  MCP Protocol  │
		 │   Processor    │
		 └───────┬────────┘
				 │
	┌────────────┼────────────┐
	│            │            │
	▼            ▼            ▼
┌────────┐  ┌──────────┐  ┌──────────┐
│  Web   │  │ Quality  │  │ Content  │
│ Search │  │ Scorer   │  │ Router   │
│  Tool  │  │  (7x)    │  │(5 modes) │
└────────┘  └──────────┘  └──────────┘
	│            │            │
	└────────────┼────────────┘
				 │
	┌────────────▼────────────┐
	│  Storage Layer (Phase 2+)
	│  - ChromaDB (vectors)
	│  - PostgreSQL (metadata)
	│  - Redis (cache)
	└─────────────────────────┘

🚨 已知限制(第1阶段)

  • 无持久存储(在第2阶段添加)
  • 无文档处理(第二阶段新增)
  • 无矢量数据库(在第2阶段添加)
  • 无语义搜索(在阶段2中添加)
  • 模拟搜索回退(需要真正的API密钥)
  • 无身份验证(在第5阶段添加)

📝 实施时间表

阶段 持续时间 焦点 状态
1 1-2周 基础 ✅ 完成
2 2-3周 记忆和向量 ⏳ 下一个
3 1-2周 整合 📋 计划中
4 2-3周 高级功能 📋 计划中
5 2-3周 测试和部署 📋 计划中

🎓 代码示例

创建自定义工具

from src.mcp_server import MCPTool, ToolType

class MyTool(MCPTool):
	async def execute(self, params):
		# Your code here
		return {"result": "success"}

# Register and use
mcp_server.register_tool(MyTool(...))

使用质量评分器

from src.mcp_server import quality_scorer

score = quality_scorer.score_content(
	content="...",
	source_type="memory",
	created_at=datetime.utcnow(),
	relevance_score=0.8
)
# Returns: overall_score, quality_level, components

内容路由

from src.content_router import content_router, RoutingStrategy

decision = await content_router.route_request(
	query="AI trends",
	strategy=RoutingStrategy.MEMORY_FIRST
)
# Returns: sources_to_query, expected_quality, reasoning

📞 支持

🎯 后续步骤

  1. 安装并运行服务器
  2. 运行测试套件(pytest tests/ -v)
  3. 尝试API示例(请参见QUICKSTART.md)
  4. 阅读架构指南
  5. 使用自定义工具进行扩展
  6. 第2阶段:添加文档内存和向量

📄 许可证

MIT-见许可证文件(待添加)

👥 贡献

  1. 复刻仓库
  2. 创建特征分支
  3. 为新功能添加测试
  4. 确保所有测试通过
  5. 提交拉取请求

使用Python 3.11+、FastAPI、ChromaDB、Docling构建

第一阶段完成!为第二阶段做好准备:文档存储 🚀

主控程序