MCP Hub
Back to servers

mcp-toolselect

An MCP server that recommends specific tools for tasks by learning from usage patterns and historical success rates. It enables users to register tool capabilities and provides ranked recommendations that adapt based on feedback and execution data.

Updated
Feb 5, 2026

@aegis-ai/mcp-toolselect

An MCP server that recommends which tools to use for a given task. It learns from usage patterns and adapts recommendations over time based on success rates.

Install

bun install @aegis-ai/mcp-toolselect

Or clone and run directly:

git clone https://github.com/aegis-ai/mcp-toolselect.git
cd mcp-toolselect
bun install
bun src/index.ts

Configuration

Add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "toolselect": {
      "command": "bunx",
      "args": ["@aegis-ai/mcp-toolselect"]
    }
  }
}

Or if running from source:

{
  "mcpServers": {
    "toolselect": {
      "command": "bun",
      "args": ["/path/to/mcp-toolselect/src/index.ts"]
    }
  }
}

Tools

recommend_tools

Get ranked tool recommendations for a task description. Returns confidence scores, priority levels, and historical success rates.

Parameters:

  • task (string, required) - Description of the task
  • max_results (number, optional) - Max recommendations to return (default: 5)

Example:

{
  "task": "Write integration tests for the payment API",
  "max_results": 3
}

Response:

{
  "task": "Write integration tests for the payment API",
  "analysis": {
    "keywords": ["testing", "coding", "api"],
    "complexity": "medium",
    "estimatedDuration": "medium"
  },
  "recommendations": [
    {
      "tool": "jest",
      "confidence": 0.85,
      "reason": "matches keyword \"testing\"; strength \"integration tests\" found in task",
      "priority": "required",
      "successRate": 0.92,
      "timesUsed": 47
    }
  ]
}

register_tool

Register a tool with its capabilities so it can be recommended for future tasks.

Parameters:

  • name (string, required) - Unique tool name
  • description (string, required) - What the tool does
  • category (string, required) - Category (e.g. coding, testing, deployment, research, analysis)
  • strengths (string[], required) - What the tool is good at
  • use_cases (string[], required) - Typical scenarios where the tool shines

Example:

{
  "name": "playwright",
  "description": "Browser automation and end-to-end testing framework",
  "category": "testing",
  "strengths": ["browser automation", "e2e testing", "cross-browser", "screenshot comparison"],
  "use_cases": ["end-to-end tests", "visual regression testing", "web scraping", "form automation"]
}

record_usage

Record that a tool was used for a task and whether it succeeded. This feedback drives future recommendation quality.

Parameters:

  • tool (string, required) - Tool name
  • task (string, required) - Task description
  • success (boolean, required) - Whether the tool completed the task successfully
  • duration_ms (number, optional) - Execution time in milliseconds
  • notes (string, optional) - Additional context

Example:

{
  "tool": "playwright",
  "task": "Run e2e tests for checkout flow",
  "success": true,
  "duration_ms": 12500,
  "notes": "All 15 tests passed"
}

get_tool_stats

Get usage statistics and success rates for registered tools.

Parameters:

  • tool (string, optional) - Specific tool name. Omit to get all stats.

Example response:

{
  "totalTools": 8,
  "totalUsages": 142,
  "tools": [
    {
      "name": "playwright",
      "timesUsed": 47,
      "successCount": 43,
      "failCount": 4,
      "avgDurationMs": 11200,
      "overallSuccessRate": 0.91,
      "contextSuccessRates": {
        "testing": 0.94,
        "debugging": 0.78
      }
    }
  ]
}

list_tools

List all registered tools grouped by category.

Parameters:

  • category (string, optional) - Filter by category

How It Works

  1. Register tools with their capabilities and use cases
  2. Ask for recommendations by describing your task
  3. Record outcomes after using a tool (success/failure)
  4. The system learns which tools work best for which types of tasks and adjusts future confidence scores accordingly

The recommendation engine:

  • Analyzes task descriptions to extract keywords and estimate complexity
  • Matches keywords against registered tool strengths and use cases
  • Adjusts confidence using historical success rates (exponential moving average)
  • Returns prioritized recommendations sorted by relevance

Data Storage

All data is stored locally in ~/.mcp-toolselect/:

  • tool-registry.json - Registered tools and their metadata
  • tool-stats.json - Aggregated usage statistics
  • usage-log.jsonl - Append-only usage log for auditing

License

MIT - Copyright 2026 AEGIS AI Cooperative

Reviews

No reviews yet

Sign in to write a review