mcpField
H
HackerEarth MCP

HackerEarth MCP

本地服务
github.com/pratham-jain33开发工具02 周前更新

关于 HackerEarth MCP

HackerEarth MCP 是供 AI 助手运行代码并查看实际结果的非官方服务。它将程序提交到 HackerEarth 的沙盒服务器,支持 24 种语言,并返回输出或错误;使用时需要 HackerEarth API 密钥。

主要功能

  1. 01运行 24 种语言的代码
  2. 02返回程序输出和错误
  3. 03列出支持的语言标识符
  4. 04规范化语言别名
  5. 05在 HackerEarth 沙盒服务器执行

适用场景

  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_languages列出 HackerEarth 支持运行的所有语言,以及传给 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 .

功能

  • 提供两个 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 在 HackerEarth 上使用指定的 language 执行提供的 code,并返回程序打印的输出或错误消息。
  • list_languages() -> str 返回所有支持的语言标识符列表,每个标识符占一行(例如,PYTHON3、JAVASCRIPT_NODE)。
  • _normalize_language(lang: str) -> str(内部函数) 将用户提供的语言名称或别名规范化为准确的 HackerEarth 标识符。
  • MCP 注册通过 FastMCP("hackerearth-mcp") 完成,它会自动注册上述两个工具。

使用 repo-doctor 创建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。