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.

VerifiedStreamable HTTPWeb executableDeveloper ToolsAI & ML

Overview

AI-generated 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.
Before you install
Code is sent to a third-party service and executed there, so avoid pasting secrets or proprietary code. Each run is capped at 30 seconds with no network access and limited memory. Runs consume plan quota, and run_tests counts each test as one run. A wrong or disabled key returns 401.

Installation

In SourceWeft

  1. Open OnlineCompiler.io in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. 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.

Read the install guide the agent follows

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.

https://api.onlinecompiler.io/mcp

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 execute
  • compiler (required): Compiler identifier from list_compilers (e.g. python-3.14, gcc-15)
  • input (optional): Standard input for the program
  • time_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 check
  • compiler (required): Compiler identifier from list_compilers
  • tests (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 top
  • checker (optional): trim (default), exact, tokens, float or rows (unordered lines, numbers within tolerance)
  • files (optional): Files shared by every test (input data or helper source files), same shape as in run_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 problems
  • compiler (required): Compiler identifier from list_compilers
  • code (required): Source code to judge
  • mode (optional): all (default) runs every test; samples runs 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

bash
claude mcp add --transport http onlinecompiler https://api.onlinecompiler.io/mcp

Then run /mcp inside Claude Code, pick onlinecompiler and sign in. To use an API key instead:

bash
claude mcp add onlinecompiler https://api.onlinecompiler.io/mcp --transport http --header "Authorization: Bearer YOUR_API_KEY"

Gemini CLI

Install the extension from this repository:

bash
gemini extensions install https://github.com/onlinecompiler-io/onlinecompiler-mcp

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:

json
{  "mcpServers": {    "onlinecompiler": {      "httpUrl": "https://api.onlinecompiler.io/mcp",      "headers": { "Authorization": "Bearer your-api-key" }    }  }}

Claude Code plugin

This repository is also a Claude Code plugin marketplace:

/plugin marketplace add onlinecompiler-io/onlinecompiler-mcp/plugin install onlinecompiler@onlinecompiler

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

bash
codex mcp add onlinecompiler --url https://api.onlinecompiler.io/mcpcodex mcp login onlinecompiler

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:

toml
[mcp_servers.onlinecompiler]url = "https://api.onlinecompiler.io/mcp"bearer_token_env_var = "ONLINECOMPILER_API_KEY"

VS Code (Copilot / Claude extension)

Add to .vscode/mcp.json:

json
{  "servers": {    "onlinecompiler": {      "url": "https://api.onlinecompiler.io/mcp",      "headers": {        "Authorization": "Bearer your-api-key"      }    }  }}

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "onlinecompiler": {      "url": "https://api.onlinecompiler.io/mcp",      "headers": {        "Authorization": "Bearer your-api-key"      }    }  }}

Source: README.md at commit 29c6b35

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

8
  1. v1.2.1LatestNov 7, 2026
  2. v1.2.0Oct 25, 2026
  3. v1.1.2Oct 23, 2026
  4. v1.1.1Oct 19, 2026
  5. v1.1.0Oct 19, 2026
  6. v1.0.3Oct 18, 2026
  7. v1.0.1Oct 17, 2026
  8. 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