Tools for agents: Maximum one-to-one task assignment

Find the largest feasible task-agent assignment from explicit eligibility, including reassignment when greedy choices block a match.

Connect with MCP

{
  "mcpServers": {
    "super-agent-tools": {
      "url": "https://app.getsupers.com/sites/agent-task-matching/mcp"
    }
  }
}
Streamable HTTP · No API key · Stateless

Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.

Call match_tasks_to_agents

Supply unique nonempty agent IDs and an object mapping each nonempty task ID to its eligible agents. Eligibility lists must contain unique known agents. Each task and agent can appear in at most one assignment. The algorithm maximizes assignment count; it does not minimize cost, prioritize tasks, balance workload or infer skills. It may reassign an earlier task along an alternating path to fit a later task. Input task and eligibility-list order break choices between equally large matchings; outputs follow task input order and unassigned agents follow agent input order. Empty lists and empty task sets are allowed. A task with no eligible agents remains unassigned. This is a stateless matching calculation, not dispatch, reservation, authentication, consent or a shared lock. Eligibility must already reflect your own availability and policy. It does not schedule durations, dependency order or multiple tasks per agent.

Input and output schemas
{
  "name": "match_tasks_to_agents",
  "title": "Maximum one-to-one task assignment",
  "description": "Find a maximum-size one-to-one task-agent matching from explicit eligibility. Return assignments and unassigned IDs; no dispatch or persistence occurs.",
  "inputSchema": {
    "properties": {
      "agents": {
        "items": {
          "type": "string"
        },
        "title": "Agents",
        "type": "array"
      },
      "eligibility": {
        "additionalProperties": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": "Eligibility",
        "type": "object"
      }
    },
    "required": [
      "agents",
      "eligibility"
    ],
    "title": "match_tasks_to_agentsArguments",
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": true,
    "title": "match_tasks_to_agentsDictOutput",
    "type": "object"
  },
  "icons": null,
  "annotations": {
    "title": null,
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "meta": null,
  "execution": null
}

Run the example to see the actual result.

HTTP alternative

POST https://app.getsupers.com/sites/agent-task-matching/call
Content-Type: application/json

{
  "agents": [
    "generalist",
    "builder",
    "reviewer"
  ],
  "eligibility": {
    "build": [
      "generalist",
      "builder"
    ],
    "deploy": [
      "generalist"
    ],
    "review": [
      "reviewer"
    ],
    "audit": []
  }
}

The HTTP and MCP interfaces execute the same implementation. Validation errors are returned explicitly. See the tool notes above for its supported inputs and behavior.