mcpbeat Sign in

Python Code Validator MCP Server

by statemind Your server? Claim it
answering

Python Code Validator is answering right now. Last checked 3 min ago. It exposes 3 tools. Last commit 17 Aug 2026.

Proves AI-generated Python does what you asked: lint, types, security, sandbox run, exact fixes.

Uptime history 40 days of history
40 days agonow
100.0%
Uptime 24h
92 of 92 checks
3
Tools
read from the server
181 ms
Response time
average over 24h
0
Stars
last commit 17 Aug 2026

What changed 38

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 10 August 2026. No other catalogue keeps this.

17 Aug a tool changed version
16 Aug a tool changed version9 times that day
16 Aug 3 tool descriptions were rewritten6 times that day execute_python, repair_python, validate_python
11 Aug a tool changed version7 times that day
11 Aug a tool description was rewritten validate_python
10 Aug a tool changed version7 times that day
10 Aug 3 tool descriptions were rewritten4 times that day execute_python, repair_python, validate_python
10 Aug 3 tools changed the parameters they ask for execute_python, repair_python, validate_python
and 24 more, back to 10 August 2026

What the code does

We read the source, 18 h ago · tools taken from the live server · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command validate.py:139
    merge_base = subprocess.run(

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 3 min ago.

run in your terminal
claude mcp add python-code-validator --transport http https://api.statemind.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "python-code-validator": {
      "url": "https://api.statemind.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.python-code-validator]
url = "https://api.statemind.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "python-code-validator": {
      "url": "https://api.statemind.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "python-code-validator": {
      "url": "https://api.statemind.ai/mcp"
    }
  }
}

Available tools 3

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

execute
execute_python
Everything repair does, and then RUNS the code in a throwaway container — no network, read-only filesystem, killed at options.timeout_s — reporting exit code, stdout and stderr. Any '>>>' examples in the code are run too, and one that does not print what it says is an error the other tools cannot see. This is a side effect: do not submit code you do not want executed. Use it when you need proof that the code runs, or that it does what it says. Alternatives: validate_python for the diagnosis and repair_python for the fix, neither of which runs anything. Auth: a key is required. This call needs a paid key and answers HTTP 402 without one. Credits are bought without an account, 10 per call: GET /v1/pricing says where to send the xDAI. Or pay for this one call with no key at all: call it without one and the result carries x402 payment requirements ($0.1 in USD Coin on eip155:8453); sign them and repeat the call with the payment in _meta['x402/payment']. Arguments: code: the whole file, 1..200000 bytes of UTF-8 measured after encoding (empty is refused with 400, larger with 413); a fragment is fine, but line and column numbers in the answer count from 1 in what you sent. language: must be 'python'; anything else is 400, and the field may be omitted. options.max_iterations (1..10, default 3) caps the fix/verify rounds: raise it for a file with several independent faults, leave it for a snippet. options.optimize (default false) additionally folds constants and drops dead code, and is only worth setting when you asked for a rewrite anyway. options.transpile_to (e.g. 'javascript') returns a translation of the *repaired* source in transpiled, not of what you sent. fixed_code is null when nothing could be proven safe to change, so treat null as 'no fix', not as an error. options.timeout_s (seconds, default 5) is the wall clock for the run; the schema allows up to 60 but this deployment caps it at 30 and refuses a larger value with 400. options.expected_output compares stdout byte for byte and adds an 'expected-output' diagnostic (valid=false) when it differs, which is how you ask for 'it did the right thing' rather than 'it ran'. options.examples is the same question for code with no output: pass what you asked for as doctest lines ('>>> total([1, 2])' then '3') or assertions ('assert total([1, 2]) == 3'), and each is run against the code -- one that does not hold is a 'python:example-mismatch' error, and repair looks for a single-token change that makes them all pass. Send it whenever you know what you asked for: without it, code that runs but returns the wrong answer looks perfect from here. The program that runs is the repaired one, so read fixed_code before you trust runtime.stdout, and it runs exactly once however many rounds the repair took. Returns valid, score 0..1, diagnostics (rule, message, line, column), security findings, fixes, fixed_code and runtime; see outputSchema. The code and its verdict are retained to improve the service.
repair
repair_python
Everything validation does, plus deterministic fixes: the corrected source comes back in fixed_code, and the original is kept whenever the fix cannot be proven safe. The code is still never run. Use it when validation failed and you want the fix rather than the diagnosis. Alternatives: validate_python when the diagnosis is enough; execute_python when the fix has to be proven to run. Auth: a key is required. This call needs a paid key and answers HTTP 402 without one. Credits are bought without an account, 3 per call: GET /v1/pricing says where to send the xDAI. Or pay for this one call with no key at all: call it without one and the result carries x402 payment requirements ($0.03 in USD Coin on eip155:8453); sign them and repeat the call with the payment in _meta['x402/payment']. Arguments: code: the whole file, 1..200000 bytes of UTF-8 measured after encoding (empty is refused with 400, larger with 413); a fragment is fine, but line and column numbers in the answer count from 1 in what you sent. language: must be 'python'; anything else is 400, and the field may be omitted. options.max_iterations (1..10, default 3) caps the fix/verify rounds: raise it for a file with several independent faults, leave it for a snippet. options.optimize (default false) additionally folds constants and drops dead code, and is only worth setting when you asked for a rewrite anyway. options.transpile_to (e.g. 'javascript') returns a translation of the *repaired* source in transpiled, not of what you sent. fixed_code is null when nothing could be proven safe to change, so treat null as 'no fix', not as an error. options.timeout_s, options.examples and options.expected_output do nothing here: nothing is run, so there is no clock, no stdout, and no way to check an example. Returns valid, score 0..1, diagnostics (rule, message, line, column), security findings, fixes, fixed_code and runtime; see outputSchema. The code and its verdict are retained to improve the service.
validate
validate_python
Check Python source without running it: parse, lint (ruff), type-check (mypy), AST security policy, credential scan. Safe on code you do not trust. Use it on every Python file you generated or edited, before writing it to disk. Alternatives: repair_python to get the corrected source instead of the diagnosis; execute_python to prove the code runs. Auth: a key is required. A free key covers this call, 25 per day, then HTTP 429; get one with POST /v1/keys. Credits are bought without an account, 1 per call: GET /v1/pricing says where to send the xDAI. Or pay for this one call with no key at all: call it without one and the result carries x402 payment requirements ($0.01 in USD Coin on eip155:8453); sign them and repeat the call with the payment in _meta['x402/payment']. Arguments: code: the whole file, 1..200000 bytes of UTF-8 measured after encoding (empty is refused with 400, larger with 413); a fragment is fine, but line and column numbers in the answer count from 1 in what you sent. language: must be 'python'; anything else is 400, and the field may be omitted. Of options only transpile_to (e.g. 'javascript', which returns a translated copy in transpiled) acts here; timeout_s, max_iterations, optimize, examples and expected_output need a pass that rewrites or runs the code, so send code alone. Ignored options are not refused, so a call that sets them looks like it worked; and code that does not parse is answered rather than refused: valid=false with the syntax error located, which is the point. Returns valid, score 0..1, diagnostics (rule, message, line, column), security findings, fixes, fixed_code and runtime; see outputSchema. The code and its verdict are retained to improve the service.

Endpoints

URLTransportStateLatencyChecked
https://api.statemind.ai/mcp streamable-http answering 95 ms 3 min ago

Alternatives to Python Code Validator

same job, measured the same way
Python Code Validator
by jkanselaar

Validates AI-generated Python: syntax, lint, security scan and deterministic repair.

3 tools answering
Cinch
by yusufkadry

Run AI-generated code safely. gVisor-isolated Python/JS sandboxes for any MCP client. Pay per run.

27 installs/wk local only
Judges Panel
by kevinrabun

45 judges that evaluate AI-generated code for security, cost, and quality with built-in AST.

629 installs/wk local only
Skylos
by duriantaco

Dead code, security, secrets detection and code quality for Python, TypeScript, Go.

18 479 installs/wk local only
Sentrik
by maxgerhardson

Governance runtime for AI-generated code. Enforce compliance and security standards.

69 installs/wk local only
Metricui
by mpmcgowen

React dashboard components — API lookup, code generation, and prop validation for AI tools.

32 installs/wk local only
STUzhy Py Execute MCP
by smithery

Run Python code in a secure sandbox without local setup. Declare inline dependencies and execute s…

answering
Pine Script v6 Documentation
by paulieb89

Pine Script v6 documentation lookup, function validation, and linting for AI code generation

281 installs/wk 10 tools answering

Python Code Validator — questions

Answers built from our own checks of this server.

What can Python Code Validator do?
It exposes 3 tools, read directly from the server on our last check. Among them: execute_python, repair_python, validate_python. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Python Code Validator working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 181 ms. The bar chart above shows every period we have measured.
How do I connect Python Code Validator?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Python Code Validator need an API key?
No. Python Code Validator completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 3 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Python Code Validator?
It answers our handshake in 181 ms on average, which is faster than 70% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Python Code Validator open source?
Yes — it is published under the MIT licence, written in Python and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.