feat: Add intelligent auto-router and enhanced integrations
- Add intelligent-router.sh hook for automatic agent routing - Add AUTO-TRIGGER-SUMMARY.md documentation - Add FINAL-INTEGRATION-SUMMARY.md documentation - Complete Prometheus integration (6 commands + 4 tools) - Complete Dexto integration (12 commands + 5 tools) - Enhanced Ralph with access to all agents - Fix /clawd command (removed disable-model-invocation) - Update hooks.json to v5 with intelligent routing - 291 total skills now available - All 21 commands with automatic routing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
149
dexto/packages/webui/lib/README.md
Normal file
149
dexto/packages/webui/lib/README.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# MCP Server Registry
|
||||
|
||||
This directory contains the MCP (Model Context Protocol) server registry system for Dexto.
|
||||
|
||||
## Structure
|
||||
|
||||
- `serverRegistry.ts` - The main registry service that manages MCP server entries
|
||||
- `server-registry-data.json` - External JSON file containing all built-in server definitions
|
||||
|
||||
## Adding New MCP Servers
|
||||
|
||||
To add a new MCP server to the registry, simply edit the `server-registry-data.json` file. No code changes are required!
|
||||
|
||||
### Server Entry Format
|
||||
|
||||
Each server entry should follow this structure:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "unique-server-id",
|
||||
"name": "Display Name",
|
||||
"description": "Brief description of what this server does",
|
||||
"category": "productivity|research|creative|development",
|
||||
"icon": "📁",
|
||||
"config": {
|
||||
"type": "stdio|http|sse",
|
||||
"command": "npx|uvx|python",
|
||||
"args": ["-y", "package-name"],
|
||||
"env": {
|
||||
"API_KEY": ""
|
||||
},
|
||||
"timeout": 30000
|
||||
},
|
||||
"tags": ["tag1", "tag2"],
|
||||
"isOfficial": true,
|
||||
"isInstalled": false,
|
||||
"requirements": {
|
||||
"platform": "all|windows|mac|linux",
|
||||
"node": ">=18.0.0",
|
||||
"python": ">=3.10"
|
||||
},
|
||||
"author": "Author Name",
|
||||
"homepage": "https://github.com/author/repo",
|
||||
"matchIds": ["server-id", "alternative-id"]
|
||||
}
|
||||
```
|
||||
|
||||
### Configuration Types
|
||||
|
||||
#### Stdio (Node.js/npm)
|
||||
```json
|
||||
{
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": ["-y", "package-name"],
|
||||
"env": {
|
||||
"API_KEY": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Stdio (Python/uvx)
|
||||
```json
|
||||
{
|
||||
"type": "stdio",
|
||||
"command": "uvx",
|
||||
"args": ["package-name"]
|
||||
}
|
||||
```
|
||||
|
||||
#### HTTP/SSE
|
||||
```json
|
||||
{
|
||||
"type": "http",
|
||||
"url": "https://api.example.com/mcp",
|
||||
"headers": {
|
||||
"Authorization": "Bearer $API_KEY"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Categories
|
||||
|
||||
- **productivity** - File operations, task management, workflow tools
|
||||
- **research** - Search, data analysis, information gathering
|
||||
- **creative** - Image editing, music creation, content generation
|
||||
- **development** - Code analysis, debugging, development tools
|
||||
|
||||
### Icons
|
||||
|
||||
Use appropriate emojis for each server type:
|
||||
- 📁 File operations
|
||||
- 🔍 Search/research
|
||||
- 🖼️ Image/media
|
||||
- 🎵 Audio/music
|
||||
- 🌐 Web/browser
|
||||
- 📋 Task management
|
||||
- 🤗 AI/ML models
|
||||
|
||||
## Benefits of External JSON
|
||||
|
||||
1. **No rebuilds required** - Add servers by editing JSON only
|
||||
2. **Easy maintenance** - All server data in one place
|
||||
3. **Version control friendly** - Track server additions in git
|
||||
4. **Non-developer friendly** - Anyone can add servers without touching code
|
||||
5. **Consistent structure** - Enforced schema for all entries
|
||||
|
||||
## Example: Adding Tavily Search
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "tavily",
|
||||
"name": "Tavily Search",
|
||||
"description": "Web search and research using Tavily AI search engine",
|
||||
"category": "research",
|
||||
"icon": "🔍",
|
||||
"config": {
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": ["-y", "tavily-mcp@0.1.3"],
|
||||
"env": {
|
||||
"TAVILY_API_KEY": ""
|
||||
},
|
||||
"timeout": 30000
|
||||
},
|
||||
"tags": ["search", "web", "research", "ai"],
|
||||
"isOfficial": false,
|
||||
"isInstalled": false,
|
||||
"requirements": { "platform": "all", "node": ">=18.0.0" },
|
||||
"author": "Tavily AI",
|
||||
"homepage": "https://www.npmjs.com/package/tavily-mcp",
|
||||
"matchIds": ["tavily"]
|
||||
}
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
After adding a new server to the JSON file:
|
||||
|
||||
1. Restart the Dexto WebUI
|
||||
2. Navigate to the server registry
|
||||
3. Verify the new server appears in the list
|
||||
4. Test adding it to an agent
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **Server not appearing**: Check JSON syntax and restart WebUI
|
||||
- **Import errors**: Ensure the JSON file is valid and accessible
|
||||
- **Type errors**: Verify the server entry matches the expected schema
|
||||
Reference in New Issue
Block a user