Integrates Google Gemini API for web search capabilities, enabling async execution and result ranking of search queries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server + Document Memory Systemsearch my documents for the quarterly budget report"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ง 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.txt2. Configure
copy .env.example .env
# Add your API keys to .env3. Run
python main.py4. Test
curl http://localhost:8000/health๐ Documentation
Document | Purpose |
5-minute setup & common tasks | |
Complete Phase 1 details | |
How everything works |
๐ Key Components
Core Framework
MCP Server (
src/mcp_server/base_server.py): Protocol handler, tool management, resource lifecycleQuality Scorer (
src/mcp_server/quality_scorer.py): 7-factor content evaluationContent Router (
src/content_router/router.py): Intelligent source selectionWeb Search Tool (
src/web_search/web_search_tool.py): Google Gemini integration
Infrastructure
Configuration (
config/settings.py): Environment-based configLogging (
config/logging_config.py): Structured loggingProtocols (
src/mcp_protocol.py): Request/response schemasUtilities (
src/utils.py): Shared types & helpers
Testing (33 tests)
tests/test_mcp_server.py- Server functionalitytests/test_quality_scorer.py- Scoring systemtests/test_content_router.py- Routing logictests/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/toolsServer Health
curl http://localhost:8000/healthStatistics
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 -vCurrent 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
Read: QUICKSTART.md - 10 min
Run:
python main.py- 5 minTest:
pytest tests/ -v- 5 minExplore: ARCHITECTURE_GUIDE.md - 20 min
Code: Review
src/mcp_server/base_server.py- 30 minExtend: 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, componentsContent 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
Quick Questions: See QUICKSTART.md
How It Works: See ARCHITECTURE_GUIDE.md
Detailed Docs: See PHASE1_DOCUMENTATION.md
Tests: Run
pytest tests/ -vfor examplesLogs: Check
logs/app.logfor troubleshooting
๐ฏ Next Steps
Install and run the server
Run test suite (
pytest tests/ -v)Try API examples (see QUICKSTART.md)
Read architecture guide
Extend with custom tools
Phase 2: Add document memory & vectors
๐ License
MIT - See LICENSE file (to be added)
๐ฅ Contributing
Fork the repository
Create feature branch
Add tests for new features
Ensure all tests pass
Submit pull request
Built with Python 3.11+, FastAPI, ChromaDB, Docling
Phase 1 Complete! Ready for Phase 2: Document Memory ๐
mcp
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.