
OnlineCompiler.io
io.onlinecompilerPublished by onlinecompiler.ioOfficial publisherv1.2.1Updated Nov 7, 2026
Run Python, Java, C, C++, C#, Go, Rust and 39 more languages, each run in a fresh, offline sandbox.
Overview
Remote MCP server that lets an assistant compile and run code in 46 languages inside fresh, offline sandboxes, and judge it against test cases.
- What you can do
- List available compilers with their identifiers and versions
- Run code with a chosen compiler, optional stdin, time limit and helper or data files, returning output, errors, exit code, timing, memory and produced files
- Check code against up to 10 input/expected-output test cases with a chosen output checker, returning a verdict and score
- Judge code against one of your stored problems, including hidden tests, returning a verdict, score and signed receipt
- When to use it
- Useful when you want an assistant to actually execute snippets, verify that code compiles and runs, or grade solutions against tests without setting up local toolchains or a judge system.
- Requirements
- Remote endpoint only, no install. Authentication is required: either OAuth sign-in through the client, or an API key sent in the Authorization header as a Bearer token. Runs count against your OnlineCompiler.io plan.
Installation
In SourceWeft
- Open OnlineCompiler.io in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.onlinecompiler%2Fcompiler/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"onlinecompiler-io": {
"type": "http",
"url": "https://api.onlinecompiler.io/mcp"
}
}
}README
OnlineCompiler MCP Server
An MCP server that lets AI assistants execute code in 46 programming languages via OnlineCompiler.io.
Each run starts a fresh gVisor sandbox (512 MB RAM, 30 s timeout, no network access).
Supported Languages
Python, C, C++, Fortran, Java, C#, F#, Visual Basic, Go, Rust, PHP, Ruby, Haskell, TypeScript (Deno), JavaScript (Node.js), Kotlin, R, Bash, SQL (SQLite), SQL (DuckDB), Swift, COBOL, Perl, Julia, Pascal, Octave, Assembly (NASM), Lua, OCaml, Common Lisp, Erlang, Elixir, Prolog, D, FreeBASIC, Dart, Clojure, Groovy, Scala, Zig, Nim, Crystal, Ada, PowerShell, Racket and Objective-C. list_compilers returns the current list with versions.
Setup
Point your MCP client at the URL. No install needed.
There are two ways in:
- Sign in (OAuth). Clients that support MCP sign-in (claude.ai, Claude Desktop and mobile, ChatGPT, Claude Code, Codex) open an OnlineCompiler.io sign-in page (Google or an email link) and ask you to approve. The app then appears as a key named after it, for example "Claude (connected app)", on your API Keys page. Disable that key to disconnect the app.
- API key. Send your key as
Authorization: Bearer <key>(the bare key works too). Get a free key on the API Keys page.
Runs count against your plan either way. A wrong or disabled key gets 401.
Tools
list_compilers
List all available compilers with their identifiers.
run_code
Execute code with a specified compiler.
Parameters:
code(required): Source code to executecompiler(required): Compiler identifier fromlist_compilers(e.g.python-3.14,gcc-15)input(optional): Standard input for the programtime_limit(optional): Seconds the run may take, above 0 and at most 30 (default 30)files(optional): Files the program can use, up to 20 and 1,000,000 decoded bytes in total: helper source files (compiled with the program) and input data. Each{"name": "util.py" or "pkg/util.py", "content": "...", "encoding": "utf8" or "base64"}; the program finds them in its working directory
python-3.14 includes numpy, pandas, scipy, scikit-learn, matplotlib, seaborn, statsmodels, sympy, openpyxl, pillow and duckdb. Files a program writes to $OUTPUT_DIR come back (png, svg, csv, json, txt; up to 8 files and 2 MB), and plt.show() saves each open figure as a PNG.
Returns: output, error, status, exit_code, time, memory, truncated, files, files_truncated. PNG files arrive as MCP image content; SVG, CSV, JSON and text files are listed with their text (cut at 64 KB).
run_tests
Check a program against test cases and judge it like an online judge. At most 10 tests per call, each counting as one run. Every test runs unless the code fails to compile or the request runs out of time.
Parameters:
code(required): Source code to checkcompiler(required): Compiler identifier fromlist_compilerstests(required): Up to 10 objects, each{"input": "...", "expected_output": "..."}time_limit(optional): Seconds per test, above 0 and at most 30 (default 2); compiling does not count, and Java, Groovy and F# get a start-up allowance on topchecker(optional):trim(default),exact,tokens,floatorrows(unordered lines, numbers within tolerance)files(optional): Files shared by every test (input data or helper source files), same shape as inrun_code
Returns: an overall verdict, a score from 0 to 100 and a verdict per test.
judge_problem
Judge code against one of your stored problems. Hidden tests return only their verdict, never their input or expected output. Nothing is invented: a missing problem or a failed run is an error (for example HTTP 404: Problem not found).
Parameters:
problem(required): The id or slug of one of your stored problemscompiler(required): Compiler identifier fromlist_compilerscode(required): Source code to judgemode(optional):all(default) runs every test;samplesruns only the sample tests
Returns: a verdict, a score, a per-test verdict, a summary, a submission id, a signed receipt, and the problem id and version.
Client Configuration
claude.ai, Claude Desktop and mobile
In claude.ai or Claude Desktop, open Customize, then Connectors, then Add custom connector. Paste https://api.onlinecompiler.io/mcp, sign in to OnlineCompiler.io when asked and approve. The connector belongs to your Claude account, so it works in the Claude mobile apps too.
ChatGPT
Turn on developer mode in ChatGPT's settings, add a custom connector with https://api.onlinecompiler.io/mcp and sign in when asked.
Claude Code
Then run /mcp inside Claude Code, pick onlinecompiler and sign in. To use an API key instead:
Gemini CLI
Install the extension from this repository:
It adds the hosted server at https://api.onlinecompiler.io/mcp and a short context file telling Gemini when to use the tools. Gemini CLI signs you in with OAuth. To use an API key instead, add the server by hand in ~/.gemini/settings.json:
Claude Code plugin
This repository is also a Claude Code plugin marketplace:
Then run /mcp, pick onlinecompiler and sign in. The plugin does the same as the claude mcp add command above.
Cline
See llms-install.md: add the URL as a remote server with your API key in an Authorization header.
Codex
To use an API key instead, skip the login and put the key in the environment variable that bearer_token_env_var names, in ~/.codex/config.toml:
VS Code (Copilot / Claude extension)
Add to .vscode/mcp.json:
Cursor
Add to .cursor/mcp.json:
Source: README.md at commit 29c6b35
Tools
0Version history
8- v1.2.1LatestNov 7, 2026
- v1.2.0Oct 25, 2026
- v1.1.2Oct 23, 2026
- v1.1.1Oct 19, 2026
- v1.1.0Oct 19, 2026
- v1.0.3Oct 18, 2026
- v1.0.1Oct 17, 2026
- v1.0.0Oct 17, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts