io.github.mcande21/thealgorithms-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | GitHub personal access token to raise the rate limit. Not required. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_languagesA | List indexed languages (auto-discovered from the TheAlgorithms org) and excluded repos. Returns {languages: [{language, repo, count, aliases}], excluded: [{repo, reason}]}.
Use a returned |
| list_categoriesA | List the algorithm categories with entry counts for a language (default: python). |
| search_algorithmsA | Search one language's algorithms by name/topic. Returns ranked {name, category, path, score}. Feed a returned |
| get_categoryA | List every algorithm in one category (for a language) as {name, path}. |
| get_algorithmA | Fetch one algorithm by language + repo-relative path (e.g. path='sorts/merge_sort.py'). Returns {language, path, github_url, description, examples, line_count, source?}. Examples are
extracted where the language has an in-file convention (Python doctests, Rust doc-tests),
otherwise empty with a |
| compareA | Find the same algorithm across languages — returns only REAL matches. A per-language search scores 100-200 for a genuine match and well below for "nearest unrelated
thing", so results are filtered to score >= |
| suggestA | Autocomplete algorithm names by prefix (Trie-backed typeahead). Matches the start of the name or any word: 'dij' -> Dijkstra, 'search' -> Binary Search.
Returns up to |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool serves a distinct purpose: listing languages, listing categories, searching algorithms, getting category contents, fetching algorithm details, cross-language comparison, and autocomplete. No functional overlap.
Most tools follow a verb_noun pattern (list_languages, get_algorithm, etc.). 'compare' is a single verb without a noun, creating a minor inconsistency, but the meaning is clear.
Seven tools is well-scoped for an algorithms exploration server. Each tool adds distinct value without redundancy or bloat.
The toolset covers browsing (languages, categories), searching, fetching details, and cross-language comparison. Missing an endpoint to list all algorithms across languages, but the existing tools enable a coherent workflow.