hackerearth-mcp
mcp-name: io.github.pratham-jain33/hackerearth-mcp
Give any AI assistant a code run button.
Unofficial community project. Not made by, endorsed by, or affiliated with HackerEarth. You bring your own free HackerEarth API key.
Why
AI assistants are great at writing code and terrible at knowing whether it works. They guess. This server plugs into any MCP-compatible assistant (Claude Desktop, Claude Code, Cursor, and more) and lets it actually run code in 24 programming languages on HackerEarth's sandboxed servers, then read the real output. No local toolchains to install. Nothing untrusted ever touches your machine.
Tools
| Tool | Description |
|---|---|
run_code |
Sends code plus a language to HackerEarth, waits for it to run, and returns the printed output and any error messages. |
list_languages |
Lists every language HackerEarth can run, with the exact identifiers to pass to run_code. Takes no inputs. |
Quickstart
1. Get a free HackerEarth API key
Register a client in the HackerEarth developer dashboard to receive a client-secret. The free tier includes a generous request quota.
2. Install
No cloning needed:
uvx hackerearth-mcp
or with pip:
pip install hackerearth-mcp
From source instead:
git clone https://github.com/pratham-jain33/hackerearth-mcp
cd hackerearth-mcp
python -m venv .venv
.venv/bin/pip install -e .
3. Connect your assistant
Claude Desktop config file:
- 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"
}
}
}
}
From source, point at your checkout instead:
{
"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"
}
}
}
}
Restart Claude Desktop, then try: "run this Python program and tell me what it prints: print(6 * 7)"
Configuration
| Variable | Required | Description |
|---|---|---|
HACKEREARTH_KEY |
Yes | Your HackerEarth client-secret. Read from the environment, never hardcoded, never sent to the assistant in chat. |
How it works
(This section is written by the project's author.)
- You ask the assistant to run some code.
- The assistant calls
run_codewith the code and the language. - The server sends it to HackerEarth with your key and gets back a tracking token.
- The server polls HackerEarth until the run finishes.
- HackerEarth runs the code in a sealed sandbox on their machines.
- The server hands the output back to the assistant, which explains it to you.
Example session
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
Roadmap
- v0.1 — code submission, status polling, output download, compile/runtime error reporting, 24-language list
- v0.2 — PyPI packaging, install and run with a single
uvx hackerearth-mcpcommand,server.jsonfor the official MCP registry - Submission to the official MCP registry and community directories
Contributing
Issues and pull requests are welcome. If you add a tool, write its description the way you'd explain it to a smart friend who has never seen it — the assistant reads that text to decide when to use it.
License
MIT © Pratham Jain. See LICENSE.
Acknowledgments
Built on HackerEarth's code execution API and the Model Context Protocol. Thanks to HackerEarth for a genuinely developer-friendly free tier.
Release files for hackerearth-mcp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hackerearth_mcp-0.2.1.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hackerearth_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 kB
Release files / hackerearth_mcp-0.2.1.tar.gz
| Download URL | hackerearth_mcp-0.2.1.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94c7c791de459ac762d68a0a854c99e27d08a178986a0a18e4de1ae970054070
|
|
BLAKE2b-256 checksum How to use checksums |
7b028853cad88c016dc40124151e64cfe38ccdf2a4c82611f0b0d6ba3c74e3ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / hackerearth_mcp-0.2.1-py3-none-any.whl
| Download URL | hackerearth_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ea3bf35dca0ab18f9c98dc746f7117cb6abbc9061842d66a3faa3df42ccbebd
|
|
BLAKE2b-256 checksum How to use checksums |
5a02a19f533398360b89d5b39979b7343ec7920e7b37ee98f5212285d80e0d25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|