Skip to main content
Glama
ANTHELIS

puter-claude-mcp

by ANTHELIS

@anthelis/puter-claude-mcp

Free, unlimited Claude access for any AI coding agent or IDE — powered by Puter.js.

This is an MCP (Model Context Protocol) server that gives AI coding assistants like Antigravity, Cursor, Windsurf, and others access to Claude Sonnet 4.6 and Claude Fable 5 completely for free — no API keys, no billing, no limits.

It uses Puter.js (the "User-Pays" model) via a local browser bridge, so the requests run through your own logged-in Puter account in a browser tab.

Legal note: Each user must log into their own Puter.com account in the browser bridge. This project does not circumvent any API limits — it simply makes Puter's official free developer offering accessible via MCP. This project is not affiliated with, endorsed by, or sponsored by Puter or Anthropic. All Claude AI capabilities are provided by Puter.js under their Terms of Service.


How It Works

  [ Your IDE ]                      [ Browser Tab ]
       │                                  │
       │ (MCP / stdio)                    │ (polls /api/poll)
       ▼                                  ▼
  [ index.js ] ──(HTTP POST)──► [ relay.js ]
  (MCP Server)                  (Express Relay)
                                          │
                                          │ (puter.ai.chat)
                                          ▼
                                   [ Claude API ]
  • relay.js — A small Express server you run once. It holds requests from the MCP server and delivers them to the browser.

  • index.js — The MCP server your IDE launches. It exposes the ask_claude tool and talks to the relay via HTTP.

  • Browser tab — You open http://localhost:8081 in your browser. It polls the relay every second, sends requests to Claude via Puter.js, and posts the results back.


Related MCP server: claude-max-mcp

Prerequisites

  • Node.js v18 or higher

  • A free Puter.com account (sign up is free)

  • An IDE that supports MCP (Antigravity, Cursor, Windsurf, VS Code with MCP extension, etc.)


Installation

# Run the relay server directly
npx @anthelis/puter-claude-mcp relay

That's it! No cloning, no npm install.

Option B: Install globally

npm install -g @anthelis/puter-claude-mcp

# Then run the relay:
puter-claude-relay

Option C: Clone from source

git clone https://github.com/ANTHELIS/puter-claude-mcp.git
cd puter-claude-mcp
npm install
npm run relay

Setup

Step 1: Start the Relay Server

Open a terminal in the project folder and run:

npm run relay

Keep this terminal open. You should see:

✅ Puter-Claude Relay Server running at http://localhost:8081

Step 2: Open the Browser Bridge

Open http://localhost:8081 in your web browser (Chrome, Edge, Firefox — any works).

You will be prompted to log in to Puter if you haven't already. Once logged in, the page will show:

✅ Connected — Waiting for IDE requests...

Keep this tab open while you code.

Step 3: Configure Your IDE

Add the following to your IDE's MCP configuration file:

{
  "mcpServers": {
    "puter-claude": {
      "command": "npx",
      "args": ["-y", "@anthelis/puter-claude-mcp"]
    }
  }
}

If you cloned from source, use "command": "node" and "args": ["/absolute/path/to/@anthelis/puter-claude-mcp/index.js"] instead.

IDE

Config file location

Antigravity IDE

C:\Users\<you>\.gemini\config\mcp_config.json

Cursor

~/.cursor/mcp.json

Windsurf

~/.codeium/windsurf/mcp_config.json

VS Code (MCP ext)

.vscode/mcp.json in workspace

Step 4: Reload Your IDE

Reload the IDE window so it picks up the new MCP server. You're ready!


Usage

Once everything is set up, just ask your AI coding agent to "ask Claude" to do something:

  • "Ask Claude to write a Python script that reads a CSV and outputs a chart"

  • "Ask Claude to review my index.js for bugs"

  • "Ask Claude to generate unit tests for this function"

The agent will call the ask_claude MCP tool, the browser tab will handle it silently, and Claude's response comes back in seconds.

Available Models

Model

Puter.js name

Claude Sonnet 4.6

claude-sonnet-4-6

Claude Fable 5

claude-fable-5


Configuration

You can configure the relay port via an environment variable:

PUTER_RELAY_PORT=9090 npm run relay

And set the relay URL for the MCP server:

{
  "mcpServers": {
    "puter-claude": {
      "command": "node",
      "args": ["/path/to/index.js"],
      "env": {
        "PUTER_RELAY_URL": "http://localhost:9090"
      }
    }
  }
}

Stopping the Server

To stop the relay server, simply press Ctrl+C in the terminal running npm run relay.


Architecture Details

  • The relay uses a request queue — only one Claude request is processed at a time.

  • The browser bridge polls every second for new work, keeping the connection alive.

  • The MCP server waits up to 120 seconds for a response before timing out.

  • All communication is localhost-only — nothing leaves your machine except the Puter.js API call from your browser.


Contributing

PRs are welcome! Some ideas for improvements:

  • Support for concurrent requests (queue-based)

  • Support for streaming responses

  • A richer bridge UI with request history

  • Support for additional Puter.js models (GPT-4o, Gemini, etc.)


License

MIT — do whatever you want with it.


Credits

Available Tools

1 tool
ask_claudeA

Ask Claude (via Puter.js) to write code, answer questions, or solve problems — for free, with no API key. Requires the relay server (relay.js) to be running and the browser bridge tab (http://localhost:8081) to be open.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoWhich Claude model to use.claude-sonnet-4-6
promptYesThe full prompt to send to Claude.

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions the need for a relay server and browser bridge but does not describe side effects, safety, or what happens if prerequisites are not met. This lack of transparency is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences, front-loads the purpose, and includes only necessary prerequisites. Every sentence earns its place; no redundant or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two well-described parameters and no output schema, the description is reasonably complete. It covers purpose, cost, and setup requirements. Minor missing details like response format or limitations are acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaningful extra context for the 'model' or 'prompt' parameters beyond what the schema already provides. It merely restates 'the full prompt', which is already in the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool asks Claude to write code, answer questions, or solve problems, and notes it is free with no API key required. The verb 'Ask' and resource 'Claude via Puter.js' are specific, and the description distinguishes the tool from paid alternatives by highlighting the cost benefit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implicitly tells when to use (when a free Claude interaction is desired) and lists prerequisites (relay server running, browser bridge open). However, no explicit alternatives or when-not-to-use guidance is provided, but given no siblings, this is acceptable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

With only one tool, there is no ambiguity at all. The agent cannot confuse it with any other tool.

Naming Consistency5/5

The single tool name 'ask_claude' follows a clear verb_noun pattern. Consistency is trivially perfect as there is no other tool to conflict with.

Tool Count5/5

The server's purpose is to ask Claude questions via Puter.js. A single tool is perfectly scoped for this narrow, focused function.

Completeness5/5

For the stated purpose of asking Claude to write code, answer questions, or solve problems, one tool that accepts a prompt is sufficient. There are no obvious missing operations.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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/ANTHELIS/puter-claude-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server