cinch-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cinch-mcpRun this Python code and show output: print(2**10)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@cinch-codes/mcp
MCP server for Cinch. Gives your AI assistant a real sandbox to run code in.
Without it, an assistant writes code and you run it yourself. With it, the assistant runs the code and reads the actual output — inside a gVisor-isolated container on Cinch's infrastructure, with no access to your machine, filesystem, or local network.
Pay per execution. No subscription floor.
Setup
Get an API key at cinch.codes, then add the server to your MCP client.
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"cinch": {
"command": "npx",
"args": ["-y", "@cinch-codes/mcp"],
"env": {
"CINCH_API_KEY": "cinch_live_..."
}
}
}
}Claude Desktop on Windows — same file, but Windows can't spawn npx directly, so wrap it with cmd /c:
{
"mcpServers": {
"cinch": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@cinch-codes/mcp"],
"env": {
"CINCH_API_KEY": "cinch_live_..."
}
}
}
}Claude Code (macOS/Linux):
claude mcp add --scope user cinch -e CINCH_API_KEY=cinch_live_... -- npx -y @cinch-codes/mcpClaude Code (Windows):
claude mcp add --scope user cinch -e CINCH_API_KEY=cinch_live_... -- cmd /c npx -y @cinch-codes/mcpCursor — .cursor/mcp.json, same shape as the Claude Desktop config above.
Restart the client. That's it — no install step, npx fetches it on first run.
Related MCP server: Code Sandbox MCP Server
What it exposes
execute_code
Runs a self-contained Python or JavaScript program and returns stdout, stderr, exit code, and duration.
Parameter | Type | Default | Description |
| string | — | The complete program to run. Must print to stdout to return anything. |
|
|
| Runtime to execute in. |
Each call gets a clean sandbox. State does not persist between calls, so every snippet needs to stand on its own.
The sandbox environment
Deliberately minimal. Worth knowing before you wonder why an import failed:
Runtimes | Python 3.12, Node 20 |
Packages | Standard library only. No pip or npm packages are installed, and none can be installed at runtime. |
Network | None. HTTP, DNS, and package installs all fail. |
Filesystem | Root is read-only. |
Memory | 256 MB |
CPU | 0.5 cores |
Time limit | 10 seconds |
Isolation | gVisor ( |
The tool description tells the model all of this up front, so it writes stdlib-only code instead of reaching for numpy and failing on the first call.
Configuration
Variable | Required | Default | Description |
| yes | — | Your Cinch API key. |
| no |
| Client-side timeout in ms. The API caps execution at 10s regardless. |
| no |
| Override the API endpoint. |
Troubleshooting
Windows: "Failed to connect" in claude mcp list — you're missing the cmd /c wrapper. Windows resolves npx to a batch script that can't be spawned directly; re-add the server using the Windows command above.
Windows: npm error ENOENT ... AppData\Roaming\npm — some Node installs never create npm's global folder, and npx refuses to run without it. Create it once and retry:
mkdir %APPDATA%\npmServer exits immediately with "CINCH_API_KEY is not set" — the env var didn't reach the server. In Claude Code, put -e CINCH_API_KEY=... before the server name in claude mcp add. In config files, check the env block is inside the cinch entry.
Debugging any connection failure — run the server directly to see the real error instead of a generic status:
CINCH_API_KEY=cinch_live_... npx -y @cinch-codes/mcp # macOS/Linuxset CINCH_API_KEY=cinch_live_... && cmd /c npx -y @cinch-codes/mcp # WindowsCorrect behavior is cinch-mcp ... ready followed by silence — an MCP server waits for a client. Anything else printed is the actual failure.
Why sandboxed execution
Code written by a model is untrusted code — nothing reviewed it before it ran. Executing it directly on your machine means handing it your filesystem, your network, and your credentials. Cinch runs it somewhere else entirely, in a disposable container with kernel-level isolation, and sends back only the output.
Notes
Requires Node 18 or newer.
Output is capped at 20,000 characters per stream to protect your context window; anything beyond that is truncated with a marker.
Runs that time out or exit non-zero are returned as tool errors, so the assistant knows the code failed and can correct it.
Out-of-credit responses are surfaced clearly and instruct the assistant not to retry, so a drained balance does not turn into a retry loop.
Links
JS/TS SDK:
@cinch-codes/pangolinPython SDK:
pangolin-sdk
MIT
Available Tools
1 toolexecute_codeRun code in a Cinch sandboxA
Execute Python or JavaScript in a secure, isolated, disposable sandbox and return its output. The sandbox is a gVisor-isolated container on Cinch's infrastructure with no access to the user's machine, filesystem, or network, so it is safe to run code you generated yourself, code from an untrusted source, or code whose behaviour you are unsure about. Use it whenever running code gives a more reliable answer than reasoning about it: checking a script works, exact calculations, parsing or transforming data, testing a regex, verifying language behaviour.
The environment is deliberately minimal. Read these limits before writing code:
Python 3.12 and Node 20, STANDARD LIBRARY ONLY. No third-party packages are installed and none can be installed. numpy, pandas, requests, scipy, axios, lodash and everything else on PyPI or npm are unavailable. Use json, csv, re, math, statistics, itertools, collections, datetime, hashlib, decimal, fractions and the rest of the stdlib instead.
NO network access. HTTP requests, DNS, package installs and API calls all fail.
NO filesystem persistence. The root filesystem is read-only; only /tmp is writable, and it is destroyed when the run ends.
10 second execution limit, 256 MB memory, 0.5 CPU.
Every call gets a brand new sandbox. Nothing persists between calls — no variables, no files, no imports. Each snippet must be complete and self-contained.
Only stdout and stderr are returned. Print anything you want to see; a bare expression on the last line returns nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | A complete, self-contained program using only the standard library. Must print results to stdout. | |
| language | No | Runtime to execute the code in. Python 3.12 or Node 20. | python |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the annotations by detailing the gVisor isolation, read-only filesystem except /tmp, 10-second execution limit, 256 MB memory, 0.5 CPU, lack of network access, disposable fresh sandbox per call, and that only stdout/stderr are returned. It also clarifies that nothing persists between calls. This discloses behavioral traits and constraints comprehensively, and it does not contradict the annotations.
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 well-structured with a clear opening sentence, a use-case rationale, and a 'Read these limits' bulleted list. The length is appropriate for the tool's complexity — every sentence carries essential information about safety, constraints, or output behavior. It is front-loaded with purpose and usage, making it easy to scan.
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 sandbox's complexity and the absence of an output schema, the description thoroughly covers the environment, resource limits, persistence semantics, return values (stdout/stderr only), and security model. It provides enough context for an agent to use the tool correctly and anticipate failures such as no network or missing packages. No critical operational detail appears omitted.
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?
The schema already provides 100% coverage of both parameters, including descriptions for `code` (self-contained, must print to stdout) and `language` (enum, default, runtime versions). The description adds meaningful guidance beyond the schema, such as explicitly noting that a bare expression returns nothing, listing available stdlib modules, and emphasizing self-containedness. These additions help the agent construct valid code, though some repetition of schema text exists.
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 opens with a precise statement: 'Execute Python or JavaScript in a secure, isolated, disposable sandbox and return its output.' This gives a specific verb, resource, and environment, making the tool's core purpose immediately clear. Since there are no sibling tools, the description doesn't need to differentiate, but it still does by emphasizing isolation/disposability.
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?
The description explicitly guides usage: 'Use it whenever running code gives a more reliable answer than reasoning about it' with concrete examples like checking scripts, exact calculations, and testing regex. It also communicates when not to use it through constraints such as no network, no third-party packages, and no persistence, though it does not name alternative tools.
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. Dates show when Glama detected each change.
1 tool update
v0.1.1- First observed
execute_code
TDQS
Only one tool exists, so there is no possibility of confusing it with others. The tool's purpose is clearly stated, making selection unambiguous.
The single tool name 'execute_code' follows a clear verb_noun pattern and accurately reflects its function. Consistency is trivially maintained.
At one tool, the server is minimal but appropriate for its narrow purpose of code execution. It is not a trivial tool, and no additional tools seem necessary for the described sandbox functionality.
The server fully covers its stated domain: executing Python and JavaScript in a sandbox. All necessary parameters and constraints are documented, and there are no obvious missing operations for this focused use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
An MCP server that gives your AI access to the source code and docs of all public github repos
- ArcjetOAuthcom.arcjet
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
MCP server for Superserve sandboxes: create, exec, and manage Firecracker microVMs
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that enables LLMs to run ANY code safely in isolated Docker containers.121MIT
- AlicenseBqualityDmaintenanceA secure Model Context Protocol server that allows AI assistants and LLM applications to safely execute Python and JavaScript code snippets in containerized environments.2203MIT
- AlicenseNot gradedqualityCmaintenanceProduction-grade MCP server that enables AI assistants to execute code securely in isolated E2B sandboxes.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides secure code execution capabilities using AWS Bedrock AgentCore's CodeInterpreter, supporting Python, JavaScript, TypeScript, shell commands, and file operations.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yusufkadry/cinch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server