mcpField
H
HackerEarth MCP

HackerEarth MCP

ローカル
github.com/pratham-jain33開発ツール02 週間前に更新

HackerEarth MCP について

HackerEarth MCPは、AIアシスタントがコードを実行して実際の結果を確認するための非公式サーバーです。プログラムをHackerEarthのサンドボックスサーバーに送信し、24言語に対応して出力やエラーを返します。利用にはHackerEarth APIキーが必要です。

主な機能

  1. 0124言語でのコード実行
  2. 02プログラムの出力とエラーの返却
  3. 03対応言語識別子の一覧表示
  4. 04言語エイリアスの正規化
  5. 05HackerEarthサンドボックスサーバーで実行

活用シーン

  1. 01生成コードが実行できるか確認
  2. 02短いプログラムの出力を確認
  3. 03実行に使う言語識別子を調べる

MCP 対応

MCPクライアントに`run_code`と`list_languages`ツールを提供します。設定したAPIキーを使い、HackerEarthのサンドボックスサーバーでコードを実行します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pratham-jain33-hackerearth": {
"command": "uvx",
"args": [
"hackerearth-mcp"
],
"env": {
"HACKEREARTH_KEY": "<HACKEREARTH_KEY>"
}
}
}
}
起動コマンドuvx hackerearth-mcp
設定が必要な環境変数
HACKEREARTH_KEYシークレットYour HackerEarth client-secret (free from hackerearth.com). Code runs against your HackerEarth account quota.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypihackerearth-mcp0.2.1

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
codestringはい
languagestringはい

詳細

hackerearth-mcp

mcp-name: io.github.pratham-jain33/hackerearth-mcp

License: MIT Python 3.10+ MCP Compatible Version PyPI Stars Tests

Glamaにも掲載されており、ワンクリックでデプロイできます。

あらゆるAIアシスタントに、コードの実行ボタンを提供します。

非公式のコミュニティプロジェクトです。 HackerEarthが開発、承認、提携しているものではありません。無料のHackerEarth APIキーはご自身でご用意ください。

概要

AIアシスタントはコードを書くのは得意ですが、それが動くかどうかを判断するのは苦手です。推測で答えてしまいます。このサーバーをMCP対応のアシスタント(Claude Desktop、Claude Code、Cursorなど)に接続すると、HackerEarthのサンドボックスサーバーで24種類のプログラミング言語のコードを実際に実行し、出力を確認できます。ローカルのツールチェーンをインストールする必要はありません。信頼できないものがローカルマシンに触れることもありません。

ツール

ツール説明
run_codeコードと言語をHackerEarthに送信して実行を待ち、標準出力とエラーメッセージを返します。
list_languagesHackerEarthで実行できるすべての言語と、run_codeに渡す正確な識別子を一覧表示します。入力は不要です。

インストール

# Quick install via uvx (recommended)
uvx hackerearth-mcp
# Or install with pip
pip install hackerearth-mcp
# Install from source
git clone https://github.com/pratham-jain33/hackerearth-mcp
cd hackerearth-mcp
python -m venv .venv
.venv/bin/pip install -e .

特長

  • 2つのMCPツール、run_codeとlist_languagesを公開します。
  • HackerEarthのサンドボックス化されたクラウドサーバーを通じて、24種類のプログラミング言語でコードを実行します。
  • わかりやすい言語エイリアスを提供します(例:python → PYTHON3)。
  • 実際のプログラム出力とエラーメッセージを返します。
  • HACKEREARTH_KEYがない場合や未知の言語が指定された場合も、ネットワーク通信を行わずに適切に処理します。
  • サポートされている言語識別子をすべて一覧表示します。
  • uvxまたはpipで簡単にインストールできます。
  • あらゆるMCP対応AIアシスタント(Claude Desktop、Cursorなど)と互換性があります。

使用技術/フレームワーク

  • 言語:Python(>=3.10)
  • コアライブラリ:FastMCP(MCPサーバーフレームワークを提供)、requests(HTTPクライアント)

クイックスタート

1. 無料のHackerEarth APIキーを取得する

HackerEarth開発者ダッシュボードでクライアントを登録し、client-secretを取得します。無料プランでは十分なリクエスト枠を利用できます。

2. インストール

リポジトリをクローンする必要はありません。

uvx hackerearth-mcp

またはpipを使用します。

pip install hackerearth-mcp

ソースからインストールする場合:

git clone https://github.com/pratham-jain33/hackerearth-mcp
cd hackerearth-mcp
python -m venv .venv
.venv/bin/pip install -e .

3. アシスタントを接続する

Claude Desktopの設定ファイル:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "hackerearth": {
      "command": "uvx",
      "args": ["hackerearth-mcp"],
      "env": {
        "HACKEREARTH_KEY": "paste-your-client-secret-here"
      }
    }
  }
}

ソースから実行する場合は、代わりにチェックアウトしたリポジトリを指定します。

{
  "mcpServers": {
    "hackerearth": {
      "command": "/absolute/path/to/hackerearth-mcp/.venv/bin/python",
      "args": ["/absolute/path/to/hackerearth-mcp/server.py"],
      "env": {
        "HACKEREARTH_KEY": "paste-your-client-secret-here"
      }
    }
  }
}

Claude Desktopを再起動し、次のように試してみてください:「このPythonプログラムを実行して、何が出力されるか教えてください:print(6 * 7)」

設定

変数必須説明
HACKEREARTH_KEYはいHackerEarthのclient-secretです。環境変数から読み込まれ、コードにハードコードされず、チャットでアシスタントに送信されることもありません。

仕組み

(このセクションはプロジェクトの作者が執筆しています。)

  1. アシスタントにコードを実行するよう依頼します。
  2. アシスタントはコードと言語を指定して run_code を呼び出します。
  3. サーバーはキーを使って HackerEarth にコードを送信し、トラッキングトークンを受け取ります。
  4. サーバーは実行が完了するまで HackerEarth にポーリングします。
  5. HackerEarth は自社のマシン上にある隔離されたサンドボックスでコードを実行します。
  6. サーバーは出力をアシスタントに渡し、アシスタントが内容を説明します。

スクリーンショット

コードスタイル

明示的に設定されたリンティングツールやフォーマットツールはありません。ソースファイルから確認できる範囲では、コードは標準的な PEP 8 の規約に従っています。

ビルド状況

テスト

セッション例

You:    Is this Fibonacci function correct? Run it and show me the first 10 numbers.
        def fib(n):
            a, b = 0, 1
            for _ in range(n):
                print(a, end=" ")
                a, b = b, a + b
        fib(10)

Claude: [calls run_code with your function]
        It works. The output is: 0 1 1 2 3 5 8 13 21 34

ロードマップ

  • v0.1 — コード送信、ステータスポーリング、出力のダウンロード、コンパイル/実行時エラーの報告、24 言語のリスト
  • v0.2 — PyPI パッケージ化、単一の uvx hackerearth-mcp コマンドでインストールと実行、公式 MCP レジストリ用の server.json
  • 公式 MCP レジストリと Glama に公開済み、awesome-mcp に登録を申請済み

コントリビュート

イシューやプルリクエストを歓迎します。ツールを追加する場合は、初めて使う賢い友人に説明するように説明文を書いてください。アシスタントは、その説明文を読んでツールをいつ使うか判断します。

ライセンス

MIT © Pratham Jain。LICENSE を参照してください。

謝辞

HackerEarth のコード実行 API と Model Context Protocol を基盤として構築されています。開発者にとって本当に使いやすい無料プランを提供している HackerEarth に感謝します。

テスト

このリポジトリにはローカルテストスクリプト test_local.py が含まれています。テストを実行するには:

pip install fastmcp requests
python test_local.py

GitHub Actions ワークフロー test.yml は、プッシュまたはプルリクエストのたびに同じコマンドを実行します。

API リファレンス

  • run_code(code: str, language: str) -> str 指定された language で HackerEarth 上の code を実行し、プログラムの出力またはエラーメッセージを返します。
  • list_languages() -> str サポートされているすべての言語識別子(例:PYTHON3、JAVASCRIPT_NODE)を改行区切りのリストで返します。
  • _normalize_language(lang: str) -> str (内部) ユーザーが指定した言語名またはエイリアスを、HackerEarth の正確な識別子に正規化します。
  • MCP の登録は FastMCP("hackerearth-mcp") を通じて行われ、上記の 2 つのツールが自動的に登録されます。

repo-doctor で作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。