thealgorithms-mcp について
thealgorithms-mcpは、開発者やコーディングエージェント向けのMCPサーバーです。発見された各言語のTheAlgorithmsリポジトリを検索し、実装ソースと例を取得できます。
主な機能
- 01索引対象の言語と除外理由の表示
- 02言語やカテゴリ別のアルゴリズム検索
- 03ソースと抽出された例の取得
- 04言語間の実装比較
- 05アルゴリズム名の補完
活用シーン
- 01指定言語のアルゴリズム実装の検索
- 02再利用の検討に向けたソースと例の確認
- 03各言語リポジトリの対応実装の比較
MCP 対応
言語・カテゴリの一覧、アルゴリズム検索と取得、実装比較、名前候補の提示をMCPクライアントにツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
thealgorithms-mcp
mcp-name: io.github.mcande21/thealgorithms-mcp
すべての言語リポジトリを対象に、TheAlgorithms 組織を検索するための MCP サーバーです。アルゴリズムの実装を検索し、ファイル内のサンプルとともに取得できます。
言語はハードコードされたリストではなく、組織から自動検出されます。解析可能な DIRECTORY.md を公開しているリポジトリがインデックスに登録されます。現在は24 言語に対応しています(Python、Java、C++、JavaScript、Rust、C、TypeScript、PHP、Dart、Kotlin、Ruby、R、Scala、Swift、Julia、Haskell、MATLAB、Zig、Fortran、Nim、Clojure、F#、Jule、aarch64-assembly)。DIRECTORY.md がないリポジトリ(Go、C#、Lua、Solidity など)は、除外理由とともに list_languages で報告されるため、気づかないうちに漏れることはありません。
ハイブリッド設計を採用しています。各リポジトリの DIRECTORY.md インデックスはローカルにキャッシュされ(ETag + TTL)、ファイルの内容は必要に応じて raw.githubusercontent.com から取得されます。組織と言語のマニフェストは GitHub API 経由で自動検出され、7 日間キャッシュされます。トークンは不要です(レート制限を引き上げるには GITHUB_TOKEN を設定してください)。DESIGN.md を参照してください。
ツール
| ツール | 用途 |
|---|---|
list_languages() | インデックス登録済みの言語(件数、別名を含む)と、除外されたリポジトリおよびその理由 |
list_categories(language='python') | 言語のカテゴリと各カテゴリのエントリ数 |
search_algorithms(query, language='python', category?, limit=10) | ランク付けされた {name, category, path, score} |
get_category(category, language='python') | カテゴリ内のすべてのアルゴリズム |
get_algorithm(path, language='python', include_source=True) | ソースと抽出されたサンプル |
compare(name, languages?, min_score=90, limit_per_language=1) | 複数言語間での実際の一致項目と missing_in |
suggest(prefix, language='python', limit=10) | トライ木を使った名前のオートコンプリート(dij → Dijkstra) |
language には言語名または別名(cpp/c++、js、ts など)を指定できます。一般的な流れ:
search_algorithms("dijkstra", language="rust") → get_algorithm("src/graph/dijkstra.rs", language="rust")。
言語ごとにファイル内の規約がある場合はサンプルが抽出されます(Python doctest、Rust doc-test など)。それ以外の言語では、ソースと注記が返されます。
インストール
PyPI から(推奨):
{ "thealgorithms": { "command": "uvx", "args": ["thealgorithms-mcp"] } }
GitHub から:
{ "thealgorithms": {
"command": "uvx",
"args": ["--from", "git+https://github.com/mcande21/thealgorithms-mcp", "thealgorithms-mcp"] } }
ローカルのチェックアウトから(開発用):
uv sync
uv run thealgorithms-mcp # serves over stdio
上記のいずれかを ~/.normandy-generic/mcp.json(または MCP クライアントの設定ファイル)に追加してください。
検証
uv run python scripts/verify_stdio.py # multi-language contract over stdio
uv run python scripts/verify_language.py rust # one language, end-to-end
ハーネスは stdio 経由でサーバーを起動し、稼働中の組織に対してすべてのツールを検証します。これには、8 以上の言語を対象とした二分探索の取得と、言語間の compare() が含まれます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。