MCP Server + Document Memory System

MCP Server + Document Memory System

Enables AI systems to remember interactions, understand document context through semantic search, and intelligently route requests with persistent memory and quality-scored content synthesis.

Category
访问服务器

README

🧠 MCP Server + Document Memory System

Transform your AI from stateless to intelligent with persistent memory, semantic search, and advanced task capabilities.

🎯 Mission

Build a production-ready MCP Server that enables an AI system to:

  • Remember all user interactions and documents
  • Understand document context and meaning
  • Route requests intelligently (memory-first strategy)
  • Synthesize content from multiple sources
  • Edit documents based on user feedback
  • Create new documents from requirements
  • Execute complex multi-step tasks
  • Learn from every interaction

📊 Project Status

Phase 1: MCP Foundation ✅ COMPLETE

  • Base MCP Server framework
  • Quality scoring system (7 factors)
  • Content router (5 strategies)
  • Web search integration
  • 33 unit tests (all passing)
  • Comprehensive documentation

Phase 2-5: In Progress (Starting soon)

  • Document memory & vector DB
  • Semantic search
  • Document editing/creation
  • Advanced task execution
  • Testing & deployment

🚀 Quick Start (5 minutes)

1. Clone & Install

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

2. Configure

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

3. Run

python main.py

4. Test

curl http://localhost:8000/health

📚 Documentation

Document Purpose
QUICKSTART.md 5-minute setup & common tasks
PHASE1_DOCUMENTATION.md Complete Phase 1 details
ARCHITECTURE_GUIDE.md How everything works

📁 Key Components

Core Framework

  • MCP Server (src/mcp_server/base_server.py): Protocol handler, tool management, resource lifecycle
  • Quality Scorer (src/mcp_server/quality_scorer.py): 7-factor content evaluation
  • Content Router (src/content_router/router.py): Intelligent source selection
  • Web Search Tool (src/web_search/web_search_tool.py): Google Gemini integration

Infrastructure

  • Configuration (config/settings.py): Environment-based config
  • Logging (config/logging_config.py): Structured logging
  • Protocols (src/mcp_protocol.py): Request/response schemas
  • Utilities (src/utils.py): Shared types & helpers

Testing (33 tests)

  • tests/test_mcp_server.py - Server functionality
  • tests/test_quality_scorer.py - Scoring system
  • tests/test_content_router.py - Routing logic
  • tests/test_web_search.py - Web search tool\

🎯 Key Features

✅ Phase 1: MCP Foundation

Base MCP Server

  • Async request/response handling
  • Tool registration and discovery
  • Middleware support
  • Custom error handling
  • Resource management lifecycle

Quality Scoring (7 Factors)

  • Source reliability (25%)
  • Content freshness (15%)
  • Relevance (25%)
  • Completeness (15%)
  • Accuracy (15%)
  • Citation count (3%)
  • User feedback (2%)

Content Router (5 Strategies)

  • MEMORY_FIRST: Check cache first (default)
  • EXTERNAL_FIRST: Get latest info
  • BALANCED: Comprehensive coverage
  • MEMORY_ONLY: Offline mode
  • EXTERNAL_ONLY: Fresh data only

Web Search Integration

  • Google Gemini API
  • Async execution
  • Result ranking
  • Mock fallback for testing

⏳ Phase 2-5: Advanced Features

Phase 2: Document Memory

  • Vector database (ChromaDB + FAISS)
  • Document processing (PDF, DOCX, PPTX, HTML, Images)
  • Semantic search
  • Usage-based optimization

Phase 3: Memory Integration

  • Document Memory MCP Server
  • Memory-first routing
  • Content synthesis
  • Performance analytics

Phase 4: Advanced Features

  • Document Editor (edit/version control)
  • Document Creator (generation from requirements)
  • Task Executor (complex operations)
  • Feedback integration

Phase 5: Production Ready

  • Comprehensive testing (90%+ coverage)
  • Performance optimization
  • Security hardening
  • Docker deployment
  • Kubernetes configuration

💻 API Examples

Web Search

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}
  }'

List Tools

curl http://localhost:8000/tools

Server Health

curl http://localhost:8000/health

Statistics

curl http://localhost:8000/stats

🧪 Testing

# 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

Current Status: 33/33 tests passing ✅

📋 Success Metrics

Metric Target Status
Memory hit rate >60% Phase 2+
Response time (memory) <200ms Phase 2+
Response time (web) <2s
API cost reduction >50% Phase 3+
Test coverage >90% Phase 5
Document processing accuracy >95% Phase 2+
Task completion success >90% Phase 4+

🔧 Configuration

Key settings in .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

📚 Learning Path

  1. Read: QUICKSTART.md - 10 min
  2. Run: python main.py - 5 min
  3. Test: pytest tests/ -v - 5 min
  4. Explore: ARCHITECTURE_GUIDE.md - 20 min
  5. Code: Review src/mcp_server/base_server.py - 30 min
  6. Extend: Add custom tool - 30 min

🏗️ Architecture

┌─────────────────────────────────────────────────┐
│         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)
	└─────────────────────────┘

🚨 Known Limitations (Phase 1)

  • No persistent storage (added in Phase 2)
  • No document processing (added in Phase 2)
  • No vector database (added in Phase 2)
  • No semantic search (added in Phase 2)
  • Mock search fallback (real API key needed)
  • No authentication (added in Phase 5)

📝 Implementation Timeline

Phase Duration Focus Status
1 1-2 weeks Foundation ✅ Complete
2 2-3 weeks Memory & Vectors ⏳ Next
3 1-2 weeks Integration 📋 Planned
4 2-3 weeks Advanced Features 📋 Planned
5 2-3 weeks Testing & Deploy 📋 Planned

🎓 Code Examples

Creating a Custom Tool

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(...))

Using Quality Scorer

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

Content Routing

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

📞 Support

🎯 Next Steps

  1. Install and run the server
  2. Run test suite (pytest tests/ -v)
  3. Try API examples (see QUICKSTART.md)
  4. Read architecture guide
  5. Extend with custom tools
  6. Phase 2: Add document memory & vectors

📄 License

MIT - See LICENSE file (to be added)

👥 Contributing

  1. Fork the repository
  2. Create feature branch
  3. Add tests for new features
  4. Ensure all tests pass
  5. Submit pull request

Built with Python 3.11+, FastAPI, ChromaDB, Docling

Phase 1 Complete! Ready for Phase 2: Document Memory 🚀

mcp

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选