- 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>
MCP Resources Demo Server
A comprehensive MCP server that demonstrates all three major MCP capabilities: Resources, Prompts, and Tools.
Purpose
This server provides a complete reference implementation of the Model Context Protocol, demonstrating how to build an MCP server with multiple capabilities. It's used for:
- Testing Dexto's MCP client integration
- Comprehensive integration testing
- Example implementation for building custom MCP servers
What This Provides
1. MCP Resources Capability
Provides structured data resources that can be read by AI assistants.
Operations:
resources/list- Lists available resources with URIs, names, descriptions, and MIME typesresources/read- Reads content of specific resources by URI
Available Resources:
-
Product Metrics Dashboard (
mcp-demo://product-metrics)- JSON data with KPIs, growth metrics, and feature usage
- Content: Business analytics and performance indicators
-
User Feedback Summary (
mcp-demo://user-feedback)- Markdown format with sentiment analysis and feature requests
- Content: Customer insights and improvement suggestions
-
System Status Report (
mcp-demo://system-status)- JSON data with infrastructure health and performance metrics
- Content: Service status, uptime, and system monitoring data
2. MCP Prompts Capability
Provides reusable prompt templates with argument substitution.
Operations:
prompts/list- Lists available prompts with descriptions and argumentsprompts/get- Retrieves a prompt with argument values substituted
Available Prompts:
-
analyze-metrics - Analyze product metrics and provide insights
- Arguments:
metric_type(required) - Type of metric: users, revenue, or featurestime_period(optional) - Time period for analysis (e.g., "Q1 2025")
- Usage: Generates analysis prompt for product metrics dashboard
- Arguments:
-
generate-report - Generate a comprehensive product report
- Arguments:
report_type(required) - Type of report: metrics, feedback, or status
- Usage: Creates structured report prompt for specified data type
- Arguments:
3. MCP Tools Capability
Provides executable tools that perform calculations and formatting.
Operations:
tools/list- Lists available tools with descriptions and schemastools/call- Executes a tool with provided arguments
Available Tools:
-
calculate-growth-rate - Calculate growth rate between two metrics
- Parameters:
current_value(number, required) - Current metric valueprevious_value(number, required) - Previous metric value
- Returns: Growth rate percentage, absolute change
- Parameters:
-
format-metric - Format a metric value with appropriate unit
- Parameters:
value(number, required) - Metric value to formatunit(enum, required) - Unit type:users,dollars, orpercentage
- Returns: Formatted string with proper units and formatting
- Parameters:
Setup
-
Install dependencies:
cd examples/resources-demo-server npm install -
Run with Dexto:
# From project root dexto --agent ./examples/resources-demo-server/agent.yml
Testing All Capabilities
Try these interactions to test each capability:
Testing Resources
- List Resources: "What resources are available?"
- Read Specific Resource: "Show me the product metrics data"
- Analyze Content: "What does the user feedback summary say?"
- System Information: "Check the current system status"
Testing Prompts
- List Prompts: "What prompts are available?"
- Use Prompt with Args: "Use the analyze-metrics prompt for revenue in Q4 2024"
- Generate Report: "Use generate-report to create a metrics summary"
Testing Tools
- List Tools: "What tools are available?"
- Calculate Growth: "Use calculate-growth-rate with current value 1500 and previous value 1200"
- Format Metrics: "Format the value 125000 as users"
Expected Behavior
✅ With All Capabilities Working:
- Dexto connects to the MCP server successfully
- Resources: ResourceManager.listAllResources() returns 3 resources with URIs like
mcp:resources-demo:mcp-demo://product-metrics - Prompts: MCPManager.getAllPromptMetadata() returns 2 prompts (analyze-metrics, generate-report)
- Tools: MCPManager.getAllTools() returns 2 tools (calculate-growth-rate, format-metric)
- All capabilities are cached and accessible without network calls after initial connection
❌ If MCP Integration Not Working:
- Server connection fails during startup
- Capabilities are not discovered or cached
- Resource/prompt/tool operations return errors
Technical Details
This server demonstrates the complete MCP protocol implementation:
-
Server Side Implementation:
- Resources: Implements
resources/listandresources/readhandlers - Prompts: Implements
prompts/listandprompts/gethandlers with argument substitution - Tools: Implements
tools/listandtools/callhandlers with schema validation - Returns structured data with proper MIME types and schemas
- Uses standard MCP SDK patterns from
@modelcontextprotocol/sdk
- Resources: Implements
-
Client Side (Dexto):
- MCPManager: Discovers and caches all capabilities from the server
- ResourceManager: Aggregates MCP resources with qualified URIs
- PromptManager: Manages prompt templates and argument substitution
- ToolManager: Executes MCP tools with proper error handling
- All capabilities are cached for performance (no network calls after initial discovery)
-
Integration Testing:
- Comprehensive integration tests in
packages/core/src/mcp/manager.integration.test.ts - Tests verify resources, prompts, and tools all work together
- Validates caching behavior and multi-server coordination
- Comprehensive integration tests in
Architecture
┌─────────────────────────────────────────────────────┐
│ Dexto Client │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │
│ │ResourceManager│ │PromptManager│ │MCPManager│ │
│ └──────┬───────┘ └──────┬───────┘ └────┬─────┘ │
│ │ │ │ │
│ └─────────────────┴────────────────┘ │
│ MCPClient │
└─────────────────────┬───────────────────────────────┘
│ MCP Protocol (stdio)
│ - resources/*
│ - prompts/*
│ - tools/*
▼
┌─────────────────────────────────────────────────────┐
│ Resources Demo Server (Node.js) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │
│ │ Resources │ │ Prompts │ │ Tools │ │
│ │ (3 items) │ │ (2 items) │ │(2 items) │ │
│ └──────────────┘ └──────────────┘ └──────────┘ │
└─────────────────────────────────────────────────────┘
Use Cases
This server validates that Dexto can:
- ✅ Connect to external MCP servers via stdio transport
- ✅ Discover and cache multiple capability types
- ✅ Handle resources with custom URI schemes
- ✅ Execute prompts with argument substitution
- ✅ Call tools with schema validation
- ✅ Coordinate multiple MCP servers simultaneously
- ✅ Provide zero-latency access after caching