turhal-python-runner-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Python Runner MCP Server (Turhal AI)
Python kodunu izole subprocess'lerde calistiran, stdio transport uzerinden
konusan, production-ready bir MCP (Model Context Protocol) sunucusu.
Python MCP SDK'nin FastMCP sinifi ile yazilmistir; Claude Desktop ve
OpenClaw Gateway ile dogrudan uyumludur.
Icerik
Dosya | Amac |
| MCP sunucusu ve |
| Python bagimliliklari |
| Sandboxlanmis calisma ortami (Python 3.12-slim, non-root) |
| Build context'ini kucultur |
| Build/manuel test icin (bkz. notlar) |
| OpenClaw Gateway / Claude Desktop icin ornek config |
Related MCP server: Python Executor MCP Server
Ozellikler
Izolasyon: Her
run_pythoncagrisi ayri bir OS process'inde calisir.Kaynak limitleri (Linux/macOS,
resource.setrlimitile):CPU suresi (
RUNNER_MAX_CPU_SECONDS)Bellek / adres alani (
RUNNER_MAX_MEMORY_MB)Process sayisi (
RUNNER_MAX_PROCESSES)Yazilabilir dosya boyutu (
RUNNER_MAX_FILE_SIZE_MB)Core dump kapali
Zaman asimi:
asyncio.wait_forile duvar-saati (wall clock) timeout; asilirsa processkill()edilir.Cikti limiti: stdout/stderr
RUNNER_MAX_OUTPUT_CHARSkarakterde kirpilir.Eszamanlilik kontrolu:
asyncio.Semaphoreile ayni anda calisan process sayisiRUNNER_MAX_CONCURRENTile sinirlanir; sunucu tek process icinde birden fazla istegi guvenle kuyruklar.Loglama: Tum loglar
stderr'e yazilir (stdout, MCP JSON-RPC protokolu icin ayrilmistir). Her istekrequest_idile izlenebilir.Hata yonetimi: Beklenen ve beklenmeyen tum hatalar yakalanip kullaniciya duzgun bicimlendirilmis metin olarak donulur; sunucu process'i asla cokmez.
Docker-native: Non-root kullanici, read-only dosya sistemi,
network: none,cap_drop: ALLile calisacak sekilde tasarlanmistir.
Guvenlik kapsami ve sinirlari (onemli)
resource.setrlimit ve subprocess izolasyonu, process-seviyesinde bir
koruma sağlar (kaçak bellek/CPU tüketimini, fork bombasını, zaman aşımını
önler). Bu, çalıştırılan kodun container dışına çıkmasını veya ağa
erişmesini engellemez.
Production'da tam izolasyon icin:
Bu sunucuyu mutlaka Docker container icinde,
docker-compose.yml/openclaw.gateway.example.jsonornegindeki gibi--network=none,--read-only,--cap-drop=ALLbayraklariyla calistirin.Daha yuksek guven seviyesi gerekiyorsa (coklu kiracili / multi-tenant sistemler),
gVisor,nsjailveyaFirecrackergibi bir OS-seviyesi sandbox katmani ekleyin - bu dosyalar bunu kolaylastiracak sekilde (ag kapali, salt-okunur FS, dusuk kaynak limitleri) hazirlanmistir ama bunlarin yerini tutmaz.Kod,
-I -Sbayraklariyla (izole mod, site-packages'siz) calistirilir; yine de guvenilmeyen kullanicilardan gelen kodu calistiriyorsaniz agi mutlaka kapali tutun.
Kurulum (yerel, container'siz)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python server.pySunucu stdio uzerinden calisir; dogrudan terminalden calistirdiginizda JSON-RPC mesaji bekleyerek beklemede kalir (bu normaldir - bir MCP istemcisi baglanmadan cikti gormezsiniz).
Docker ile calistirma
docker build -t turhal-ai/python-runner-mcp:latest .
docker run -i --rm \
--network=none \
--read-only \
--tmpfs /tmp:size=64m,mode=1777 \
--security-opt no-new-privileges:true \
--cap-drop=ALL \
--memory=512m --cpus=1.0 --pids-limit=64 \
turhal-ai/python-runner-mcp:latestVeya build/manuel test icin:
docker compose build
docker compose run --rm python-runner
docker compose upkullanmayin - MCP stdio, istemcinin container'idocker run -iile spawn edip stdin/stdout'a dogrudan baglanmasini gerektirir; arka planda calisan bir compose servisi bu modelle uyumlu degildir.docker-compose.ymlyalnizca build/test amaclidir.
Claude Desktop entegrasyonu
claude_desktop_config.json icine openclaw.gateway.example.json
dosyasindaki python-runner (yerel) veya python-runner-docker
(onerilen, sandboxlanmis) blogunu ekleyin ve yollari kendi ortaminiza gore
guncelleyin.
OpenClaw Gateway entegrasyonu
openclaw.gateway.example.json dosyasi, Gateway'in mcpServers bolumune
dogrudan tasinabilecek bicimde hazirlanmistir. Docker varyanti, agi kapali
ve read-only bir container icinde calisacagi icin production'da
onerilir.
Konfigurasyon (ortam degiskenleri)
Degisken | Varsayilan | Aciklama |
|
|
|
|
| Istemcinin isteyebilecegi ust timeout siniri |
|
| stdout/stderr icin karakter siniri |
|
| Subprocess bellek/adres alani siniri |
|
| Subprocess CPU suresi siniri |
|
| Subprocess'in acabilecegi max process sayisi |
|
| Subprocess'in yazabilecegi max dosya boyutu |
|
| Sunucu genelinde ayni anda calisan max istek |
|
|
|
run_python araci - kullanim
Girdi:
{
"code": "print(sum(range(10)))",
"timeout": 5
}Cikti (metin):
[request_id=a1b2c3d4]
--- stdout ---
45
--- exit_code: 0 | duration: 0.041s ---Zaman asimi, hata ve kirpilma durumlari da ayni bicimde, request_id ile
izlenebilir sekilde donulur; loglarda ayni request_id ile eslestirilebilir.
Test
python -c "
import asyncio
from server import _run_code_in_subprocess
async def main():
r = await _run_code_in_subprocess('print(1+1)', timeout=5, request_id='test')
print(r.to_text())
asyncio.run(main())
"Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Run sandboxed Python for calculations and PDFs; no other languages, installs or network.
Run Python code in a secure sandbox without local setup. Declare inline dependencies and execute s…
Hosted Python sandbox for package runtime verification: pip install and usable-import evidence.
Execute code in 8 languages (Python, JS, TS, Go, Java, C++, C, Bash) in gVisor sandboxes.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceA secure server that enables code execution in isolated Docker environments, supporting Python with strict security constraints including network isolation, limited filesystem access, and resource limitations.-
- AlicenseAqualityDmaintenanceExecutes Python code snippets safely without shell interpretation, supports parallel batch execution and helper utilities for task decomposition.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to safely execute code in isolated Docker containers with resource limits and security controls, supporting session management and automatic dependency installation.13 PyPIMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to safely execute Python, JavaScript, and Bash code in an isolated Docker sandbox with strict security constraints.1-