Atlas / MCP servers / alec2435 / Python Local

Python LocalBLOCK

mcp/alec2435/python-local

MCP Server to run python code locally

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
1 1r · 0w · 0d
Transport
stdio
License
—
Stars
54
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

An MCP Server that provides an interactive Python REPL (Read-Eval-Print Loop) environment.

Components

Resources

The server provides access to REPL session history:

  • Custom repl:// URI scheme for accessing session history
  • Each session's history can be viewed as a text/plain resource
  • History shows input code and corresponding output for each execution

Tools

The server implements one tool:

  • python_repl: Executes Python code in a persistent session
  • Takes code (Python code to execute) and session_id as required arguments
  • Maintains separate state for each session
  • Supports both expressions and statements
  • Captures and returns stdout/stderr output

Configuration

Install

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration

"mcpServers": {
"python_local": {
"command": "uv",
"args": [
"--directory",
"/path/to/python_local",
"run",
"python_local"
]
}
}

Published Servers Configuration

"mcpServers": {
"python_local": {
"command": "uvx",
"args": [
"python_local"
]
}
}

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers r

Read from source at commit 18f0a2a688d3OBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add python-local -- uvx python-local
claude-desktop
{
  "mcpServers": {
    "python-local": {
      "command": "uvx",
      "args": [
        "python-local"
      ]
    }
  }
}
03

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
python_replreadInteractive Python REPL that maintains session state. NOTE THE USER DOES NOT SEE THE STDOUT/STDERR OUTPUT, MAKE SURE TO FORMAT/SUMMARIZEc IT APPROPRIATELY IN YOUR RESPONSE TO THE USER
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
declared (2 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (3)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/python_local/server.py:31
result = eval(code, self.locals)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/python_local/server.py:36
exec(code, self.locals)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-08 · audit v0.4.1 · source sha 18f0a2a688d3full audit observations/trust-audit/mcp-server/alec2435__python-local.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0818f0a2a688d3BLOCKD69first audit
06

Questions

What is the Python Local MCP server?

MCP Server to run python code locally

What tools does Python Local expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Python Local safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does Python Local need?

No credential environment variables were found in its source, so it appears to need none.

How does Python Local run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as python-local.

How current is this page?

The grade is for one exact copy of the source (18f0a2a688d3), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement