@pipeworx/algorithm-finder

Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/algorithm-finder’s. Install: one-click buttons

Connect to just the @pipeworx/algorithm-finder pack

https://gateway.pipeworx.io/algorithm-finder/mcp — only @pipeworx/algorithm-finder’s own tools, nothing else in the catalog.

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 3

Which algorithm, data structure or technique fits a computational problem: the standard textbook answer with its preconditions and complexity bounds, cited to the page they were established from, and the recent research answer with dates.

Tools

  • algorithm_find(problem, want?, since_year?, limit?) — describe the problem in words and get the matching textbook methods (what each solves, preconditions, bounds with their kind — worst-case / expected / amortized — when to use and when not, alternatives, citations), the open questions whose answers decide between them, Skiena Algorithm Repository problem pages, and recent papers from Hugging Face Papers and arXiv. want is common, novel or both (default).
  • algorithm_lookup(name) — one named method in full: the curated facts, the NIST DADS dictionary entry (definition, aliases, relations, complexity note, implementation links), the cp-algorithms article, related problem pages, and which languages Rosetta Code has solutions in. Short names and aliases work (Dijkstra, KMP, union-find).
  • algorithm_implementations(name, language?) — the languages Rosetta Code has solutions in and, with language, that solution’s source code (CC BY-SA 4.0, labelled educational), plus reference links from the DADS entry, the cp-algorithms article and the Algorithm Repository’s implementation links.

Every response carries data_as_of (the newest DADS entry-modified date in the index), a license block for the leading source, and a source URL per item. A miss is found: false with a reason (no_match, language_not_present) and a hint naming what to try; a transport or parse failure throws rather than returning an empty list.

Auth

Keyless.

Data sources

  • https://xlinux.nist.gov/dads/ — NIST Dictionary of Algorithms and Data Structures (Paul E. Black, ed.). ~1,120 entries. A work of the United States Government, not subject to copyright (17 U.S.C. § 105). The whole entry set is in the generated index (src/af-index-data.ts, rebuilt by scripts/bake-algorithm-finder-index.mjs).
  • data/methods.json — a curated table written for this pack: for each method, what it solves, preconditions, bounds (with kind and conditions), when to use and when not, alternatives, phrasings of the problem in everyday words, and citations. Facts were established from Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms 4th ed. (CLRS4); Erciyes, Guide to Graph Algorithms 2nd ed. (Erciyes2026); Bhargava, Grokking Algorithms (Grokking2024); Christian & Griffiths, Algorithms to Live By (ATLB), and are stated in our own words. No book text is served. The bake script refuses any non-qualitative bound that lacks a page citation.
  • https://www.algorist.com/ — Steven Skiena’s Stony Brook Algorithm Repository. Only the 75 problem names, categories and URLs are in the index; a problem page is fetched per call for its input/problem statement and implementation links, and attributed.
  • https://cp-algorithms.com/ — titles, locations and tags from its own search index; an article’s opening paragraphs are fetched per call. CC BY-SA 4.0, attributed in the response.
  • https://rosettacode.org/w/api.php — MediaWiki API. A task page is resolved with list=search; its per-language solutions are level-2 sections (action=parse&prop=sections), and one section’s wikitext yields the code inside <syntaxhighlight lang="…">. CC BY-SA 4.0, attributed. Note: list=categorymembers on a task name returns an empty list — solutions are sections of the task page, not category members.
  • Hugging Face Papers via @pipeworx/paperswithcode and arXiv via @pipeworx/arxiv (query restricted to cs.DS / cs.CC / cs.DM / cs.LG / cs.IR / cs.NE, newest first). Papers with Code’s own API is gone (it redirects to Hugging Face), which is why the ML leg goes through that pack.

Traps worth knowing

  • DADS lists a term under every alias in terms.html (1,309 names for ~1,120 entries); aliases come from that index, not only from “Also known as”.
  • A DADS complexity lives in the free-text Note, not a field; the bake extracts O(…) / Θ(…) expressions into bounds_mentioned but they carry no variant or conditions — the curated table is where that precision lives.
  • The curated-table bound for a method names its variant (binary heap vs Fibonacci heap; expected vs worst case). Do not collapse them.
  • Rosetta language section names are the wiki’s spelling (C++, C#, Icon and Unicon); the language argument matches case-insensitively on the whole name or a prefix.

Tools

  • algorithm_find — Which algorithm, data structure or technique fits a computational problem. Describe the problem in words (“shortest route between two points with positive costs”, “assign workers to jobs minimising co
  • algorithm_lookup — One named algorithm, data structure or technique in full: what it solves, preconditions, complexity bounds with their kind (worst-case / expected / amortized) and textbook citations, when to use it an
  • algorithm_implementations — Implementations of a named algorithm: the languages Rosetta Code has solutions in and, with language set, the source code of that solution (CC BY-SA 4.0, labelled educational), plus reference implemen

Tools

  • algorithm_find — Which algorithm, data structure or technique fits a computational problem. Describe the problem in words ( shortest route between two points with positive costs , assign workers to jobs minimising cos
  • algorithm_implementations — Implementations of a named algorithm: the languages Rosetta Code has solutions in and, with language set, the source code of that solution (CC BY-SA 4.0, labelled educational), plus reference implemen
  • algorithm_lookup — One named algorithm, data structure or technique in full: what it solves, preconditions, complexity bounds with their kind (worst-case / expected / amortized) and textbook citations, when to use it an

Regenerated from source · build October 8, 2026