mcpbeat Sign in

Python Code Validator MCP Server

by jkanselaar Your server? Claim it
answering

Python Code Validator is answering right now. Last checked 4 min ago. It exposes 3 tools.

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

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 48 days of history
48 days agonow
100.0%
Uptime 24h
91 of 91 checks
3
Tools
read from the server
176 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 81

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 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 version8 times that day
11 Aug a tool description was rewritten validate_python
10 Aug a tool changed version11 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
9 Aug a tool changed version16 times that day
9 Aug 3 tool descriptions were rewritten15 times that day execute_python, repair_python, validate_python
and 63 more, back to 9 August 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

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 4 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.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

python_code_validator
removed 9 Aug 2026

Endpoints

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

Alternatives to Python Code Validator

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

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

3 tools answering
Feldspar free repository security scan
by project-feldspar

Free deterministic security scan of public git repos: OSV.dev vulnerable deps, secrets, config lint.

2 tools answering
Agent Release Auditor
by veyndrasystems

Deterministic release gate for AI-written code and coding agents.

26 installs/wk local only
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
Ybe Check
by addycuber

Ybe Check – security and compliance orchestrator for AI-generated repositories.

56 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
Code Guard MCP
by mlawsonking

Security scan for AI-generated code: injection, SSRF, secrets, weak crypto, unsafe deserialization.

37 installs/wk local only
CodeInspectus
by synvoya

Local-first MCP security scanner and CLI for AI-generated applications.

90 installs/wk local only

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 91 of 91 checks got a reply (100.0%), average response time 176 ms. The bar chart above shows every period we have measured.
Did Python Code Validator ever remove tools?
Yes. python_code_validator is no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
Is Python Code Validator still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
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 176 ms on average, which is faster than 73% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.