Skip to main content
Glama
alvii147
by alvii147

GitHub Actions License

WARNING

As of Feb 15, 2026,Piston API is no longer publicly available and requires an authorization token. This means piston-mcp will no longer work with the publicly hosted instance of Piston.

Installation

You can try out piston-mcp locally without cloning it.

Install uv

To try out piston-mcp you'll need to install uv:

# On MacOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Install MCP Client

You will also need to download an MCP client to connect to piston-mcp, such as Claude Desktop.

Update MCP Client Configuration

Update the MCP client's configuration with the following configuration to connect to piston-mcp:

{
  "mcpServers": {
    "piston": {
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "git+https://github.com/alvii147/piston-mcp.git@main",
        "piston_mcp"
      ]
    }
  }
}

For Claude Desktop, the configuration file is usually found in:

# On MacOS and Linux
~/Library/Application\ Support/Claude/claude_desktop_config.json
# On Windows
%APPDATA%\Claude\claude_desktop_config.json

Related MCP server: microsandbox-mcp

Usage

Once you've followed the steps above, your MCP client should be able to run code for you:

Claude Demo

Acknowledgements

Available Tools

1 tool
run_codeB

Runs given code in the given language in the Piston remote code execution engine.

Parameters

language: str Programming language to run code in.

code : str Code to run.

Return

str Output of code execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYes
codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full burden. It states code is run but omits details on side effects, permissions, timeout, or whether stderr is captured. The return is described as 'Output of code execution' without specifics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with a header line and parameter descriptions in a list format. Could be slightly more concise by removing the 'Parameters' and 'Return' headers if not needed, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core function and parameter semantics, but lacks important context like supported languages, error handling, or sandboxing behavior. With an output schema present, return explanation is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description provides clear parameter meanings: 'language' as the programming language and 'code' as the code to run. This adds value beyond the schema's bare titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: running code in a given language using the Piston remote code execution engine. It specifies the verb 'runs' and the resource 'code', making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. With no sibling tools, it still lacks explicit context on prerequisites, safety considerations, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedrun_code

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no ambiguity or overlap with other tools.

Naming Consistency5/5

With a single tool named 'run_code', the naming is consistent and follows a clear verb_noun pattern.

Tool Count3/5

A single tool is borderline for a code execution server; it may be sufficient but feels thin compared to typical implementations that also expose language listing or version info.

Completeness2/5

The server only provides code execution but lacks essential operations like listing supported languages, which agents would likely need to use the server effectively.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers