Aegis-AI-Cooperative

@aegis-ai/mcp-toolselect

Updated

the right tool for the job. every time.

@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

MCP Server ยท Populars

MCP Server ยท New

    opentabs-dev

    OpenTabs

    Your browser is already logged in. Let your AI use it.

    Community opentabs-dev
    45645678a

    Scholar MCP Server

    Local paper tool MCP server for AI IDEs - search, download (Sci-Hub/arXiv/Unpaywall), AI analysis, code-based recommendation, citation graph

    Community 45645678a
    kastelldev

    Kastell

    Provision, secure, backup, and manage self-hosted servers โ€” full lifecycle, one CLI.

    Community kastelldev
    beelzebub-labs

    Beelzebub

    A secure low code honeypot framework, leveraging AI for System Virtualization.

    Community beelzebub-labs
    onllm-dev

    onUI

    Annotate/Draw any web UI for AI agents and export structured context, no app code changes required.

    Community onllm-dev