|
| 1 | +# π Get Started - Your Next Steps |
| 2 | + |
| 3 | +Welcome! This guide will help you get started with the Devtron Documentation MCP Server. |
| 4 | + |
| 5 | +## β
What You Have |
| 6 | + |
| 7 | +A complete, production-ready MCP server that provides semantic search over Devtron documentation: |
| 8 | + |
| 9 | +- β
**16 files** created and configured |
| 10 | +- β
**~2,570 lines** of code and documentation |
| 11 | +- β
**4 MCP tools** ready to use |
| 12 | +- β
**Free tier** AWS Bedrock Titan embeddings |
| 13 | +- β
**Comprehensive documentation** for all use cases |
| 14 | + |
| 15 | +## π Quick Checklist |
| 16 | + |
| 17 | +### Step 1: Understand the Project (5 minutes) |
| 18 | + |
| 19 | +Read these files in order: |
| 20 | + |
| 21 | +1. **[README.md](README.md)** - Project overview |
| 22 | +2. **[PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md)** - Central API details |
| 23 | +3. **[mcp-docs-server/SOLUTION_SUMMARY.md](mcp-docs-server/SOLUTION_SUMMARY.md)** - MCP server architecture |
| 24 | + |
| 25 | +### Step 2: Set Up MCP Server (5 minutes) |
| 26 | + |
| 27 | +```bash |
| 28 | +# Navigate to MCP server directory |
| 29 | +cd mcp-docs-server |
| 30 | + |
| 31 | +# Run automated setup |
| 32 | +./setup.sh |
| 33 | + |
| 34 | +# This will: |
| 35 | +# β
Check Python version |
| 36 | +# β
Create virtual environment |
| 37 | +# β
Install dependencies |
| 38 | +# β
Create .env file |
| 39 | +# β
Create directories |
| 40 | +``` |
| 41 | + |
| 42 | +### Step 3: Configure AWS (2 minutes) |
| 43 | + |
| 44 | +**Option A: Use AWS CLI** (Recommended) |
| 45 | +```bash |
| 46 | +aws configure |
| 47 | +# Enter your AWS credentials when prompted |
| 48 | +``` |
| 49 | + |
| 50 | +**Option B: Edit .env file** |
| 51 | +```bash |
| 52 | +nano .env |
| 53 | +# Add: |
| 54 | +# AWS_ACCESS_KEY_ID=your_key |
| 55 | +# AWS_SECRET_ACCESS_KEY=your_secret |
| 56 | +# AWS_REGION=us-east-1 |
| 57 | +``` |
| 58 | + |
| 59 | +**Enable Bedrock Titan** (One-time, 30 seconds): |
| 60 | +1. Go to: https://console.aws.amazon.com/bedrock/ |
| 61 | +2. Click "Model access" β "Manage model access" |
| 62 | +3. Check "Titan Embeddings G1 - Text" |
| 63 | +4. Click "Request model access" |
| 64 | +5. Wait for approval (usually instant) |
| 65 | + |
| 66 | +### Step 4: Test Everything (2 minutes) |
| 67 | + |
| 68 | +```bash |
| 69 | +# Activate virtual environment |
| 70 | +source venv/bin/activate |
| 71 | + |
| 72 | +# Run test suite |
| 73 | +python test_server.py |
| 74 | +``` |
| 75 | + |
| 76 | +Expected output: |
| 77 | +``` |
| 78 | +β
AWS Bedrock test passed |
| 79 | +β
Document processor test passed |
| 80 | +β
Vector store test passed |
| 81 | +β
All tests completed! |
| 82 | +``` |
| 83 | + |
| 84 | +### Step 5: Run the Server (1 minute) |
| 85 | + |
| 86 | +```bash |
| 87 | +python server.py |
| 88 | +``` |
| 89 | + |
| 90 | +You should see: |
| 91 | +``` |
| 92 | +INFO - Initializing Devtron Documentation MCP Server... |
| 93 | +INFO - Cloning repository... |
| 94 | +INFO - Indexing documentation... |
| 95 | +INFO - Server initialization complete |
| 96 | +``` |
| 97 | + |
| 98 | +### Step 6: Integrate with Your Chatbot (10 minutes) |
| 99 | + |
| 100 | +Follow the integration guide: |
| 101 | + |
| 102 | +**[mcp-docs-server/INTEGRATION_GUIDE.md](mcp-docs-server/INTEGRATION_GUIDE.md)** |
| 103 | + |
| 104 | +Quick example: |
| 105 | +```python |
| 106 | +from mcp import ClientSession |
| 107 | +from mcp.client.stdio import stdio_client |
| 108 | + |
| 109 | +async def search_docs(query): |
| 110 | + async with stdio_client("python", ["server.py"]) as (read, write): |
| 111 | + async with ClientSession(read, write) as session: |
| 112 | + await session.initialize() |
| 113 | + result = await session.call_tool( |
| 114 | + "search_docs", |
| 115 | + {"query": query, "max_results": 3} |
| 116 | + ) |
| 117 | + return result[0].text |
| 118 | +``` |
| 119 | + |
| 120 | +## π Documentation Map |
| 121 | + |
| 122 | +### For Quick Start |
| 123 | +- **[mcp-docs-server/QUICKSTART.md](mcp-docs-server/QUICKSTART.md)** - 5-minute setup guide |
| 124 | + |
| 125 | +### For Understanding |
| 126 | +- **[mcp-docs-server/SOLUTION_SUMMARY.md](mcp-docs-server/SOLUTION_SUMMARY.md)** - Architecture and design |
| 127 | +- **[mcp-docs-server/ALTERNATIVES_COMPARISON.md](mcp-docs-server/ALTERNATIVES_COMPARISON.md)** - Why this solution? |
| 128 | + |
| 129 | +### For Integration |
| 130 | +- **[mcp-docs-server/INTEGRATION_GUIDE.md](mcp-docs-server/INTEGRATION_GUIDE.md)** - Chatbot integration |
| 131 | +- **[mcp-docs-server/README.md](mcp-docs-server/README.md)** - Complete user guide |
| 132 | + |
| 133 | +### For Reference |
| 134 | +- **[mcp-docs-server/FILES_OVERVIEW.md](mcp-docs-server/FILES_OVERVIEW.md)** - File structure |
| 135 | +- **[IMPLEMENTATION_COMPLETE.md](IMPLEMENTATION_COMPLETE.md)** - Implementation summary |
| 136 | + |
| 137 | +## π― Common Use Cases |
| 138 | + |
| 139 | +### Use Case 1: Answer User Questions |
| 140 | +```python |
| 141 | +# User asks: "How do I deploy an application?" |
| 142 | +context = await search_docs("deploy application") |
| 143 | +# Returns relevant documentation chunks |
| 144 | +# Use in your chatbot prompt |
| 145 | +``` |
| 146 | + |
| 147 | +### Use Case 2: Get Specific Documentation |
| 148 | +```python |
| 149 | +# Get a specific doc file |
| 150 | +result = await session.call_tool( |
| 151 | + "get_doc_by_path", |
| 152 | + {"path": "docs/user-guide/deploying-application.md"} |
| 153 | +) |
| 154 | +``` |
| 155 | + |
| 156 | +### Use Case 3: Keep Docs Updated |
| 157 | +```python |
| 158 | +# Manually sync documentation |
| 159 | +result = await session.call_tool("sync_docs", {}) |
| 160 | +# Or set up a cron job to run periodically |
| 161 | +``` |
| 162 | + |
| 163 | +### Use Case 4: Browse Available Docs |
| 164 | +```python |
| 165 | +# List all documentation sections |
| 166 | +result = await session.call_tool( |
| 167 | + "list_doc_sections", |
| 168 | + {"filter": "user-guide"} |
| 169 | +) |
| 170 | +``` |
| 171 | + |
| 172 | +## π§ Troubleshooting |
| 173 | + |
| 174 | +### Problem: AWS credentials not found |
| 175 | +**Solution**: Run `aws configure` or edit `.env` file |
| 176 | + |
| 177 | +### Problem: Bedrock access denied |
| 178 | +**Solution**: Enable Titan Embeddings in AWS Console (see Step 3) |
| 179 | + |
| 180 | +### Problem: Git clone fails |
| 181 | +**Solution**: Check internet connection, verify GitHub URL |
| 182 | + |
| 183 | +### Problem: ChromaDB error |
| 184 | +**Solution**: Delete `chroma_db/` directory and restart |
| 185 | + |
| 186 | +### Problem: Slow initial startup |
| 187 | +**Solution**: Normal! First run indexes all docs (~2-5 minutes) |
| 188 | + |
| 189 | +## π What Happens Next? |
| 190 | + |
| 191 | +### First Run (2-5 minutes) |
| 192 | +1. Clones Devtron docs from GitHub |
| 193 | +2. Parses all markdown files |
| 194 | +3. Chunks content by headers |
| 195 | +4. Generates embeddings (AWS Bedrock) |
| 196 | +5. Stores in ChromaDB |
| 197 | +6. Ready to serve queries! |
| 198 | + |
| 199 | +### Subsequent Runs (<10 seconds) |
| 200 | +1. Loads existing ChromaDB index |
| 201 | +2. Ready to serve queries immediately! |
| 202 | + |
| 203 | +### When Docs Update |
| 204 | +1. Run `sync_docs` tool |
| 205 | +2. Git pulls latest changes |
| 206 | +3. Only re-indexes changed files |
| 207 | +4. Updates ChromaDB incrementally |
| 208 | + |
| 209 | +## π‘ Pro Tips |
| 210 | + |
| 211 | +1. **Cache Frequent Queries**: Implement caching in your chatbot |
| 212 | +2. **Limit Results**: Use `max_results=3` for faster responses |
| 213 | +3. **Schedule Syncs**: Set up cron job for `sync_docs` |
| 214 | +4. **Monitor Logs**: Check for errors and performance |
| 215 | +5. **Use Docker**: For production deployment |
| 216 | + |
| 217 | +## π Learning Path |
| 218 | + |
| 219 | +### Day 1: Setup & Test |
| 220 | +- β
Run setup script |
| 221 | +- β
Configure AWS |
| 222 | +- β
Run tests |
| 223 | +- β
Start server |
| 224 | + |
| 225 | +### Day 2: Integration |
| 226 | +- β
Read integration guide |
| 227 | +- β
Implement basic search |
| 228 | +- β
Test with sample queries |
| 229 | + |
| 230 | +### Day 3: Production |
| 231 | +- β
Set up Docker |
| 232 | +- β
Configure monitoring |
| 233 | +- β
Schedule doc syncs |
| 234 | +- β
Deploy to production |
| 235 | + |
| 236 | +## π Need Help? |
| 237 | + |
| 238 | +1. **Check Documentation**: See files listed above |
| 239 | +2. **Run Tests**: `python test_server.py` |
| 240 | +3. **Check Logs**: Review error messages |
| 241 | +4. **Verify AWS**: Ensure credentials and Bedrock access |
| 242 | + |
| 243 | +## π Success Criteria |
| 244 | + |
| 245 | +You'll know it's working when: |
| 246 | +- β
Tests pass without errors |
| 247 | +- β
Server starts and indexes docs |
| 248 | +- β
Search returns relevant results |
| 249 | +- β
Chatbot gets accurate context |
| 250 | +- β
Users get better answers! |
| 251 | + |
| 252 | +## π Ready to Start? |
| 253 | + |
| 254 | +```bash |
| 255 | +cd mcp-docs-server |
| 256 | +./setup.sh |
| 257 | +``` |
| 258 | + |
| 259 | +Then follow the prompts! |
| 260 | + |
| 261 | +--- |
| 262 | + |
| 263 | +**Next Steps**: |
| 264 | +1. β
Run setup: `./setup.sh` |
| 265 | +2. β
Configure AWS credentials |
| 266 | +3. β
Run tests: `python test_server.py` |
| 267 | +4. β
Start server: `python server.py` |
| 268 | +5. β
Integrate with chatbot |
| 269 | + |
| 270 | +**Questions?** Check the documentation files listed above. |
| 271 | + |
| 272 | +**Status**: β
Ready to use! |
| 273 | + |
0 commit comments