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
| Name | Type | Required | Description |
|---|---|---|---|
names | array | no | Method names or aliases to compare (2-10), e.g. [“dijkstra”, “bellman-ford”, “johnson”]. |
items | string | no | |
problem | string | no | Instead of names: a problem description; the top curated candidates for it are compared. |
constraints | object | no | Facts 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.