Welcome! This guide will help you get started with the Devtron Documentation MCP Server.
A complete, production-ready MCP server that provides semantic search over Devtron documentation:
- β 16 files created and configured
- β ~2,570 lines of code and documentation
- β 4 MCP tools ready to use
- β Free tier AWS Bedrock Titan embeddings
- β Comprehensive documentation for all use cases
Read these files in order:
- README.md - Project overview
- PROJECT_OVERVIEW.md - Central API details
- mcp-docs-server/SOLUTION_SUMMARY.md - MCP server architecture
# Navigate to MCP server directory
cd mcp-docs-server
# Run automated setup
./setup.sh
# This will:
# β
Check Python version
# β
Create virtual environment
# β
Install dependencies
# β
Create .env file
# β
Create directoriesOption A: Use AWS CLI (Recommended)
aws configure
# Enter your AWS credentials when promptedOption B: Edit .env file
nano .env
# Add:
# AWS_ACCESS_KEY_ID=your_key
# AWS_SECRET_ACCESS_KEY=your_secret
# AWS_REGION=us-east-1Enable Bedrock Titan (One-time, 30 seconds):
- Go to: https://console.aws.amazon.com/bedrock/
- Click "Model access" β "Manage model access"
- Check "Titan Embeddings G1 - Text"
- Click "Request model access"
- Wait for approval (usually instant)
# Activate virtual environment
source venv/bin/activate
# Run test suite
python test_server.pyExpected output:
β
AWS Bedrock test passed
β
Document processor test passed
β
Vector store test passed
β
All tests completed!
python server.pyYou should see:
INFO - Initializing Devtron Documentation MCP Server...
INFO - Cloning repository...
INFO - Indexing documentation...
INFO - Server initialization complete
Follow the integration guide:
mcp-docs-server/INTEGRATION_GUIDE.md
Quick example:
from mcp import ClientSession
from mcp.client.stdio import stdio_client
async def search_docs(query):
async with stdio_client("python", ["server.py"]) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool(
"search_docs",
{"query": query, "max_results": 3}
)
return result[0].text- mcp-docs-server/QUICKSTART.md - 5-minute setup guide
- mcp-docs-server/SOLUTION_SUMMARY.md - Architecture and design
- mcp-docs-server/ALTERNATIVES_COMPARISON.md - Why this solution?
- mcp-docs-server/INTEGRATION_GUIDE.md - Chatbot integration
- mcp-docs-server/README.md - Complete user guide
- mcp-docs-server/FILES_OVERVIEW.md - File structure
- IMPLEMENTATION_COMPLETE.md - Implementation summary
# User asks: "How do I deploy an application?"
context = await search_docs("deploy application")
# Returns relevant documentation chunks
# Use in your chatbot prompt# Get a specific doc file
result = await session.call_tool(
"get_doc_by_path",
{"path": "docs/user-guide/deploying-application.md"}
)# Manually sync documentation
result = await session.call_tool("sync_docs", {})
# Or set up a cron job to run periodically# List all documentation sections
result = await session.call_tool(
"list_doc_sections",
{"filter": "user-guide"}
)Solution: Run aws configure or edit .env file
Solution: Enable Titan Embeddings in AWS Console (see Step 3)
Solution: Check internet connection, verify GitHub URL
Solution: Delete chroma_db/ directory and restart
Solution: Normal! First run indexes all docs (~2-5 minutes)
- Clones Devtron docs from GitHub
- Parses all markdown files
- Chunks content by headers
- Generates embeddings (AWS Bedrock)
- Stores in ChromaDB
- Ready to serve queries!
- Loads existing ChromaDB index
- Ready to serve queries immediately!
- Run
sync_docstool - Git pulls latest changes
- Only re-indexes changed files
- Updates ChromaDB incrementally
- Cache Frequent Queries: Implement caching in your chatbot
- Limit Results: Use
max_results=3for faster responses - Schedule Syncs: Set up cron job for
sync_docs - Monitor Logs: Check for errors and performance
- Use Docker: For production deployment
- β Run setup script
- β Configure AWS
- β Run tests
- β Start server
- β Read integration guide
- β Implement basic search
- β Test with sample queries
- β Set up Docker
- β Configure monitoring
- β Schedule doc syncs
- β Deploy to production
- Check Documentation: See files listed above
- Run Tests:
python test_server.py - Check Logs: Review error messages
- Verify AWS: Ensure credentials and Bedrock access
You'll know it's working when:
- β Tests pass without errors
- β Server starts and indexes docs
- β Search returns relevant results
- β Chatbot gets accurate context
- β Users get better answers!
cd mcp-docs-server
./setup.shThen follow the prompts!
Next Steps:
- β
Run setup:
./setup.sh - β Configure AWS credentials
- β
Run tests:
python test_server.py - β
Start server:
python server.py - β Integrate with chatbot
Questions? Check the documentation files listed above.
Status: β Ready to use!