Isolator MCP Server
아이솔레이터 MCP 서버
isolator-mcp 는 TypeScript로 작성된 모델 컨텍스트 프로토콜(MCP) 서버입니다. 내장된 isolator Go CLI 도구를 감싸는 래퍼 역할을 하며, MCP를 통해 접근 가능한 안전한 코드 실행 샌드박스를 제공합니다.
LLM 애플리케이션(MCP 호스트)은 이 서버에 연결하여 해당 서버의 execute_code 도구를 사용하여 직접 제공되거나 사전 정의된 스니펫 파일에서 로드된 Python, Go 또는 JavaScript 코드 조각을 안전하게 실행할 수 있습니다.
특징
execute_codeMCP 도구를 제공합니다.직접 제공된 코드(
language,entrypoint_code) 또는 명명된 스니펫(snippet_name)을 통해 제공된 코드 실행을 지원합니다.다양한 언어(Python, Go, JavaScript, 구성 가능)를 지원합니다.
안전한 Docker 컨테이너 실행을 위해 내장된
isolatorGo CLI(isolator-cli/)를 사용합니다.isolator_config.json을 통해 구성 가능한 보안 기본값(시간 초과, 리소스 제한, 네트워크)코드 실행을 위해 호스트의 임시 디렉토리를 관리합니다.
컨테이너에 파일 복사를 처리합니다(
isolatorCLI에 지시를 내려서).MCP를 통해 구조화된 결과(stdout, stderr, status)를 반환하고, 도구 수준 오류에 대해
isError: true설정합니다.
Related MCP server: SQL MCP Server
필수 조건
Docker:
isolator-cli통한 컨테이너 생성 및 실행에 필요합니다. Docker 데몬이 실행 중인지 확인하세요.Go: 내장된
isolator-cliGo 바이너리를 빌드하는 데 필요합니다.Node.js 및 npm: 종속성을 설치하고,
isolator-mcpTypeScript 서버를 빌드하고 실행하는 데 필요합니다.
설치
Go CLI를 사용하여
isolator빌드합니다. 내장된 Go CLI 디렉터리로 이동하여 바이너리를 빌드합니다.지엑스피1
이렇게 하면 서버에 필요한
./isolator-cli/isolator실행 파일이 생성됩니다.isolator-mcp구성:isolator_config.json편집합니다. 빌드된 바이너리의 절대 경로(예:/Users/ompragash/Documents/Cline/MCP/isolator-mcp/isolator-cli/isolator)를 가리키도록isolatorPath업데이트합니다. 필요한 경우 기본 제한, 컨테이너 작업 디렉터리, 언어 이미지 또는promptsDir(스니펫에 사용됨) 위치를 조정합니다.prompts디렉터리가 있는지 확인하세요(기본값:./prompts). 코드 조각 파일(예:hello_world.py)을 추가하세요. 파일 이름 기준(예:hello_world)이snippet_name으로 사용됩니다.
서버 종속성 설치: 기본 디렉토리(
isolator-mcp)로 이동하여 다음을 실행합니다.npm install빌드 서버: TypeScript 코드를 컴파일합니다.
npm run build이렇게 하면
build/index.js에 실행 가능한 스크립트가 생성됩니다.MCP 호스트 구성: MCP 클라이언트의 설정 파일에 서버를 추가합니다(예: VS Code 확장 프로그램의 경우
cline_mcp_settings.json):{ "mcpServers": { "isolator": { "command": "node", "args": ["/Users/ompragash/Documents/Cline/MCP/isolator-mcp/build/index.js"], "env": {}, "disabled": false, "autoApprove": [] } } }(필요한 경우
args의 경로를 조정하세요.) MCP 호스트가 서버를 자동으로 감지하고 시작해야 합니다.
중요 참고: isolator_config.json 에 지정된 Docker 이미지(예: python:3.11-alpine , golang:1.21-alpine )를 docker pull <image_name> 명령을 사용하여 시스템에 미리 가져오세요. isolator 도구는 누락된 이미지를 자동으로 다운로드하지 않습니다.
지역 개발/테스트
개발이나 테스트를 위해 로컬에서 서버를 실행하려면(MCP 호스트 설정을 통해 설치하지 않고):
Go CLI 빌드:
isolatorGo CLI가 하위 디렉터리에 빌드되었는지 확인하세요.cd isolator-cli go build -o isolator main.go cd ..TS 서버 빌드: 이 기본 디렉토리(
isolator-mcp)에서npm install및npm run build실행합니다.구성:
isolator_config.json이isolatorPath키(절대 경로 사용)를 통해 빌드된./isolator-cli/isolator바이너리를 올바르게 가리키는지 확인합니다.서버 실행: Node를 사용하여 빌드된 서버를 직접 실행합니다.
node build/index.js서버가 시작되고 stdio를 통해 연결되고 콘솔에 로그(
index.ts의console.error메시지 포함)가 인쇄됩니다.상호작용(수동): JSON-RPC 메시지(예:
tools/list,tools/call)를 서버의 표준 입력으로 수동으로 전송하여 응답을 테스트할 수 있습니다.@modelcontextprotocol/inspector와 같은 도구도 도움이 될 수 있습니다(npm run inspector).
(MCP 호스트가 설정 파일을 통해 서버를 시작하기 전에 수동으로 실행되는 서버를 중지해야 합니다.)
건축과 흐름
MCP 호스트 요청: LLM은 MCP 호스트(예: VS Code 확장 프로그램)에 인수를 사용하여
isolator서버의execute_code도구를 호출하도록 요청합니다.서버 처리(
index.ts):stdio를 통해
tools/call요청을 수신합니다.Zod를 사용하여 인수의 유효성을 검사합니다.
isolator_config.json에서 구성을 로드합니다.코드 소스를 결정합니다.
snippet_name이 제공되면 구성된promptsDir에서 해당 파일을 읽고 파일 확장자에서 언어를 결정합니다.entrypoint_code와language제공되면 이를 직접 사용합니다.
호스트에 임시 디렉토리를 만듭니다.
진입점 코드와
additional_files임시 디렉토리에 씁니다.구성의 보안 플래그와 임시 디렉토리 경로를 포함하여 내장된
isolatorGo CLI에 대한 명령줄 인수를 구성합니다.Node.js
child_process.spawn사용하여isolator프로세스를 생성합니다.
Go CLI 실행(
isolator-cli/isolator run):플래그(새로운
--env플래그 포함)를 구문 분석합니다.임시 디렉토리 내용의 tar 스트림을 생성합니다.
Docker SDK를 사용하여 지정된 이미지, 리소스 제한, 환경 변수(
--env에서 사용), 보안 설정(바인드 마운트 없음)을 갖춘 컨테이너를 생성합니다.CopyToContainer사용하여 tar 스트림을 컨테이너의 작업 디렉토리로 복사합니다.요청된 명령(예:
python /workspace/hello_world.py)을 실행하는 컨테이너를 시작합니다.완료를 기다리고 stdout/stderr을 캡처합니다.
컨테이너를 제거합니다.
결과(상태, 출력 등)를 JSON 형식으로 stdout에 인쇄합니다.
서버 결과 처리(
index.ts):완료된
isolator프로세스 stdout에서 JSON 출력을 읽습니다.JSON 결과를 구문 분석합니다.
Go CLI가 성공하지 못한 상태를 보고하는 경우 stdout/stderr을 결합하고
isError설정하여 MCP에 대한CallToolResult포맷합니다.결과를 MCP 호스트로 다시 보냅니다.
호스트의 임시 디렉토리를 정리합니다.
MCP 호스트 응답: 결과를 LLM으로 다시 전달하고, LLM은 이를 통해 사용자에게 응답을 작성합니다.
execute_code 도구
설명
안전하고 격리된 컨테이너 환경에서 코드(Python, Go, JavaScript)를 실행합니다.
입력 스키마( arguments )
language(문자열, 선택 사항): 프로그래밍 언어(예: "python", "go", "javascript")입니다.snippet_name제공되지 않은 경우 필수입니다.entrypoint_code(문자열, 선택 사항): 실행할 주요 코드 내용입니다.snippet_name제공되지 않은 경우 필수입니다.entrypoint_filename(문자열, 선택 사항): 메인 코드의 파일 이름(예: "main.py", "script.js")입니다. 지정하지 않으면 언어에 따라 기본값이 사용됩니다.additional_files(배열, 선택 사항): 다음이 포함된 객체 배열:filename(문자열, 필수): 추가 파일의 이름입니다.content(문자열, 필수): 추가 파일의 내용입니다.
snippet_name(문자열, 선택 사항): 구성된promptsDir에 있는 미리 정의된 코드 조각 파일(확장자 없음)의 이름입니다.language및entrypoint_code와 함께 사용할 수 없습니다.
제약 조건: snippet_name 또는 language 와 entrypoint_code 모두 제공해야 합니다.
출력( CallToolResult )
content: 단일TextContent객체를 포함하는 배열입니다.type: "텍스트"text: 실행 시 stdout과 stderr을 합친 문자열로, 다음과 같은 형식으로 지정됩니다.--- stdout --- [Actual stdout output] --- stderr --- [Actual stderr output]실행 중에 오류가 발생한 경우(0이 아닌 종료 코드, 시간 초과), 텍스트 앞에
Execution Failed (status): [error message]\n\n추가됩니다.
isError(부울):isolatorCLI에서 보고된 실행 상태가 "오류" 또는 "시간 초과"인 경우true, 그렇지 않은 경우false.
(프로토콜 수준 오류(잘못된 인수 또는 프로세스 시작 실패 등)는 CallToolResult 대신 표준 MCP 오류 응답을 초래합니다.)
Available Tools
1 toolexecute_codeC
Executes code (Python, Go, JavaScript) in a secure, isolated container environment.
| Name | Required | Description | Default |
|---|---|---|---|
| additional_files | No | Optional array of additional files needed for execution | |
| entrypoint_code | No | The main code content to execute. Required unless using snippet_name. | |
| entrypoint_filename | No | Optional filename for the main code (defaults based on language). | |
| language | No | The programming language (python, go, javascript). Required unless using snippet_name. | |
| snippet_name | No | Name of a pre-defined code snippet to execute (e.g., 'hello_world'). Mutually exclusive with entrypoint_code/language. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'secure, isolated container environment' which hints at safety, but doesn't disclose critical behaviors like execution time limits, resource constraints, output handling, error behavior, or authentication needs. For a code execution tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. Every word earns its place, with no redundancy or unnecessary elaboration. It's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a code execution tool with no annotations and no output schema, the description is incomplete. It lacks details on return values, error handling, execution constraints, and safety guarantees. The description doesn't compensate for the missing structured data, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description doesn't add any parameter-specific details beyond what's in the schema, such as explaining mutual exclusivity rules or language-specific defaults. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Executes code') and resource ('in a secure, isolated container environment'), specifying supported languages (Python, Go, JavaScript). It distinguishes from potential alternatives by mentioning the execution environment, but without sibling tools, full differentiation isn't possible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is provided. The description mentions the execution environment but doesn't specify use cases, prerequisites, or limitations. Without siblings, this is less critical, but still a gap in usage context.
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 tool update
v1.0.0- First observed
execute_code
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it to. The tool's purpose is clearly defined and distinct by default.
Since there is only one tool, it inherently follows a consistent naming pattern with itself. The tool name 'execute_code' uses a clear verb_noun structure, which is appropriate and consistent in this minimal context.
A single tool for a server named 'Isolator MCP Server' suggests a very narrow scope, but it may be too minimal for practical use. While the tool handles code execution, the server's purpose might imply broader isolation features, making the count feel thin and potentially under-scoped.
The tool surface is severely incomplete for a server focused on isolated code execution. There are obvious gaps, such as no tools for managing containers, listing available environments, checking execution status, or handling input/output beyond the single execute command, which will limit agent capabilities.
Maintenance
Related MCP Connectors
Execute code in 8 languages (Python, JS, TS, Go, Java, C++, C, Bash) in gVisor sandboxes.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
- mcp-serverOAuthai.cdbx
Build Apps and run code in 30 languages — sandboxed, with persistent sessions for agent loops.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA TypeScript implementation of a Model Context Protocol server that provides a frictionless framework for developers to build and deploy AI tools and prompts, focusing on developer experience with zero boilerplate and automatic tool registration.681 npm14MIT
- AlicenseNot gradedqualityCmaintenanceA TypeScript implementation of a Model Context Protocol server that enables language models to securely query PostgreSQL databases, including those behind SSH bastion tunnels.9 npm1MIT

Akash MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceA TypeScript server implementing the Model Context Protocol that enables AI agents to interact with the Akash Network, allowing them to deploy applications, create leases, manage deployments, and access other Akash services through typed tools.58 npm13Apache 2.0- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that enables LLMs to run ANY code safely in isolated Docker containers.121MIT