algorithm_compare

Pack: algorithm-finder · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/algorithm_compare for the schema, then POST the same URL with its arguments for the data.

Compare candidate algorithms against the facts of YOUR instance and get a verdict. Pass method names (e.g. [“dijkstra”,“bellman-ford”]) or a problem description, plus constraints such as {“negative_weights”: true, “query”: “single_source”}, {“stable”: true, “key_type”: “integer_small_range”}, {“exact”: false, “dimensions”: “high”}, {“false_positives_ok”: true, “dynamic”: “fully_dynamic”}. Each candidate gets satisfied / violated / unknown per constraint, read from a curated table cited to textbooks, papers and library docs; unknown means the table records nothing and is never guessed. Returns the winner (or “conditional” with the unknowns named, or “none_compatible”), each candidate’s bounds and when-not advice, and the decisive questions you have not answered that would change the choice.

Parameters

NameTypeRequiredDescription
namesarraynoMethod names or aliases to compare (2-10), e.g. [“dijkstra”, “bellman-ford”, “johnson”].
itemsstringno
problemstringnoInstead of names: a problem description; the top curated candidates for it are compared.
constraintsobjectnoFacts about your instance. Keys: negative_weights, negative_cycles, weighted, directed, acyclic, bipartite (booleans); graph_density sparse|dense; query single_pair|single_source|all_pairs; exact, worst_case_guarantee, deterministic, false_positives_ok, online, streaming, in_memory, stable, sorted_input, ordered_queries, approximate_match, parallel, distributed, integer_capacities, preemption, precedence, recall, known_distribution, heuristic_available, continuous_variables, linear, convex, differentiable (booleans); dynamic static|insert_only|fully_dynamic; memory tight|normal; key_type integer_small_range|integer|comparable|string|vector; dimensions low|high; metric euclidean|cosine_or_inner_product|jaccard|hamming|edit_distance|general_metric; pattern_count one|many; scale small|medium|large|huge; machines single|multiple; objective max_lateness|num_late_jobs|total_completion_time|makespan|feasibility|total_cost|max_matching_size|fairness.

Example call

Arguments

{
  "names": [
    "dijkstra",
    "bellman-ford"
  ],
  "constraints": {
    "negative_weights": true,
    "query": "single_source"
  }
}

curl

curl -X POST https://gateway.pipeworx.io/algorithm-finder/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"algorithm_compare","arguments":{"names":["dijkstra","bellman-ford"],"constraints":{"negative_weights":true,"query":"single_source"}}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('algorithm_compare', {
  "names": [
    "dijkstra",
    "bellman-ford"
  ],
  "constraints": {
    "negative_weights": true,
    "query": "single_source"
  }
});

More examples

{
  "problem": "shortest path from one node to all others",
  "constraints": {
    "negative_weights": true
  }
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the algorithm-finder pack
{
  "mcpServers": {
    "algorithm-finder": {
      "url": "https://gateway.pipeworx.io/algorithm-finder/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build October 8, 2026