Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Read any page with its JavaScript run: Markdown, screenshots, metadata, console errors, Lighthouse.
Pick the AI app you use, then copy the settings.
Passed 4/4 checks · What you ask goes through the maker’s server (urlpipe.dev) · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 5 min
You need a URLpipe key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
URLpipehttps://urlpipe.dev/mcpUnder Request headers, add this name and value
AuthorizationBearer <paste your key here>Paste the key only into the app’s field, never into a chat or to anyone
Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
+ConnectorsURLpipe
Use URLpipe and tell me what you can do for me, then show me one thing✓ If Claude says it is using URLpipe or shows a URLpipe tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect URLpipe yet
URLpipe needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify
A · Use an app that can connect URLpipe
Works with Claude Code · about 5 min
You need a URLpipe key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user urlpipe https://urlpipe.dev/mcp --header 'Authorization: Bearer {token}'Replace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see URLpipe listed as connected
Use URLpipe and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using URLpipe or shows a URLpipe tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 5 min
You need a URLpipe key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the URLpipe settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use URLpipe and tell me what you can do for me, then show me one thing✓ If Cursor says it is using URLpipe or shows a URLpipe tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 5 min
You need a URLpipe key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the URLpipe settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use URLpipe and tell me what you can do for me, then show me one thing✓ If VS Code says it is using URLpipe or shows a URLpipe tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://urlpipe.dev/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user urlpipe https://urlpipe.dev/mcp --header 'Authorization: Bearer {token}'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"urlpipe": {
"url": "https://urlpipe.dev/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"urlpipe": {
"type": "http",
"url": "https://urlpipe.dev/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}Descriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Tool names and descriptions exactly as the server reported them on Nov 13, 2026. The maker wrote them, not us; we show them as plain text.
list_projectsThe projects this token can reach, each with how many requests it has made in the last 30 days and where its results are delivered. Start here: every other tool takes a project_id from this list. A project is the unit a request is billed and recorded against — credits themselves
get_usageWhat the organization's plan allows, how much of it is left this period, and what each operation costs. Worth reading before a run of expensive calls: the operations differ by seventeen times in price, so the difference between fetch_markdown and summarize_page over a hundred pag
fetch_markdownExposes POST /markdown. Renders the page in headless Chrome and converts its main content to clean Markdown — headings, lists, links and code kept, navigation, sidebars and cookie banners dropped. Start here when you want to READ a page. It is the cheapest operation we sell (1 cr
fetch_htmlExposes POST /html. Returns the page's HTML after JavaScript has run and redirects have been followed — the DOM a real browser sees, not the empty shell curl returns. 1 credit. Use it when you need the markup itself: a specific attribute, a script tag, a structured-data block. If
capture_screenshotExposes POST /screenshot. Captures the whole rendered page as a PNG — JavaScript executed, web fonts and images included, exactly as a browser would draw it. 1 credit, whichever options you use. Use it to see a page rather than read it: layout, visual regressions, link previews,
capture_pdfExposes POST /pdf. Prints the whole rendered page to a PDF — JavaScript executed, web fonts and lazy-loaded images included, its headings as bookmarks. 1 credit, whichever options you use. Use it to archive or hand on a page as a document: a receipt, an article, a report, terms a
capture_console_errorsExposes POST /console. Loads the page in headless Chrome and returns what it reported through console.error and console.warn during load, plus uncaught exceptions and unhandled promise rejections (not console.log). 1 credit. What you would open DevTools for: broken third-party sc
run_lighthouse_auditExposes POST /lighthouse. Runs a real Google Lighthouse audit against the live page: performance, accessibility, best-practices and SEO scores plus Core Web Vitals. 2 credits — dearer than a page fetch because the audit runs in its own limited lane, so it also takes longer than a
extract_metadataExposes POST /meta. Reads everything a page declares about itself — Open Graph, Twitter cards, meta tags, JSON-LD, microdata and links — into one object with the same keys on every page: title, description, site name, kind of page, language, authors, publication and update dates,
detect_technologiesExposes POST /technologies. Detects what a page is built with — CMS, e-commerce platform, JavaScript frameworks and libraries, analytics and tag managers, advertising and marketing tools, CDN, web server, programming language, payment providers, chat widgets, consent managers and
extract_keywordsExposes POST /keywords. Returns the 5–15 terms and phrases that best represent the page, ordered by relevance — ranked by a language model, not by raw frequency. 15 credits. As with summarize_page: if you are going to reason over the result yourself, fetch_markdown costs 1 credit
summarize_pageExposes POST /summarize. Returns a concise Markdown summary of the page's main content, with the navigation, ads and boilerplate left out. The most expensive operation we sell, at 17 credits, because it runs a language model over the page. If YOU are the model that will read it,
extract_dataExposes POST /extract. Reads the page and fills an object YOU define: pass `fields`, each with a name, a type and a description of what to take from the page, and get back exactly those keys in that order. Anything the page does not give comes back null — values are never guessed
scrape_urlExposes POST /scrape. Runs any subset of the other operations in one request, served from a single page visit where possible. Each operation is billed and stored exactly as the individual call would be, so this is not a discount — with one exception, and it is the reason to use i
get_resultExposes GET /result/:token. Returns the result of a past request, in the same form the call that made it would have returned — Markdown as Markdown, a structured operation as its object, a screenshot as an image, a PDF as an embedded application/pdf resource, a scrape as its comb
list_requestsA project's recent requests, newest first, with each one's token. Look here before fetching a page: if somebody already pulled it, passing that token to get_result returns the same result for nothing. A /scrape appears as one entry — its per-operation children are internal, and t
get_requestEverything about one past request except its result: what was asked for, how long each stage took, whether it came from the store, and how the webhook delivery went. This is the metadata; get_result returns the page itself. Reach for this one when a call did not do what you expec
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified against the domain urlpipe.dev (the registry checks domain ownership)
Code last changed 32 days ago
Not applicable: a cloud server run by the owner of urlpipe.dev; you don't run code from the repo
Responded in 55 ms (HTTP 200)
No sign-in needed
Read 17 tool descriptions and found no hidden instructions to the AI
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 4 of 4 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed 32 days ago, and the latest version (1.4.0) reached the registry 32 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
In the same category: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
URLpipe MCP server
Give your agent a browser that runs the page's JavaScript before it reads it.
Website · Docs · Pricing
A plain fetch tool does an HTTP GET. On a site that builds itself in the browser — React, Vue, most docs sites and dashboards — that returns an empty shell, and the agent either says it can't read the page or guesses what was on it.
URLpipe loads every page in real Chrome first, then hands your agent what it asked for: the page as Markdown, a screenshot it can look at, a PDF, its metadata, data in a schema you define, its console errors or a Lighthouse audit.
https://urlpipe.dev/mcp. Nothing to install or run.This repository holds the server's registry entry (server.json) and the setup for each client. The server itself runs at urlpipe.dev.
Every client sends it as Authorization: Bearer YOUR_TOKEN.
claude mcp add --transport http urlpipe https://urlpipe.dev/mcp \
--scope user \ --header "Authorization: Bearer YOUR_TOKEN"
Or share it with your team in .mcp.json, each person setting their own URLPIPE_TOKEN:
{
"mcpServers": { "urlpipe": { "type": "http", "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${URLPIPE_TOKEN}" } } } }
Where your organization has request headers in Customize → Connectors → Add custom connector, add https://urlpipe.dev/mcp with *No sign-in* and an authorization header of Bearer YOUR_TOKEN. Otherwise use the open-source mcp-remote bridge in claude_desktop_config.json (needs Node.js):
{
"mcpServers": { "urlpipe": { "command": "npx", "args": [ "-y", "mcp-remote", "https://urlpipe.dev/mcp", "--header", "Authorization:${URLPIPE_AUTH}", "--transport", "http-only" ], "env": { "URLPIPE_AUTH": "Bearer YOUR_TOKEN" } } } }
~/.cursor/mcp.json, or .cursor/mcp.json in a project:
{
"mcpServers": { "urlpipe": { "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${env:URLPIPE_TOKEN}" } } } }
.vscode/mcp.json — VS Code asks for the token once and stores it securely:
{
"inputs": [ { "type": "promptString", "id": "urlpipe-token", "description": "URLpipe MCP token", "password": true } ], "servers": { "urlpipe": { "type": "http", "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${input:urlpipe-token}" } } } }
mcp_config.json:
{
"mcpServers": { "urlpipe": { "serverUrl": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${env:URLPIPE_TOKEN}" } } } }
cline_mcp_settings.json:
{
"mcpServers": { "urlpipe": { "type": "streamableHttp", "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "disabled": false, "autoApprove": ["list_projects", "get_usage", "get_result"] } } }
settings.json:
{
"context_servers": { "urlpipe": { "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }
URLpipe is listed on Smithery, Glama and cursor.directory (as a Cursor plugin), and in the official MCP Registry as dev.urlpipe/mcp. On Smithery, paste your token as it is — the server accepts it with or without the Bearer prefix.
Step-by-step pages for each client, with a first prompt to try and troubleshooting, are at urlpipe.dev/integrations.
| Tool | What it returns | Credits |
|---|---|---|
list_projects | The projects the token can reach. Start here: every fetching tool takes a project_id. | 0 |
get_usage | What the plan allows, what is left this period, and what each operation costs. | 0 |
fetch_markdown | The page's main content as clean Markdown, after its JavaScript ran. The one to use for reading. | 1 |
fetch_html | The rendered DOM — what a browser sees, not the shell curl gets. | 1 |
capture_screenshot | A full-page screenshot, returned as an image the model can look at. Viewport, device scale, dark mode, one element by selector, PNG/JPEG/WebP. | 1 |
capture_pdf | The whole rendered page as a PDF, with its web fonts and lazy-loaded images in. Paper size, orientation, margins, scale, the print or on-screen stylesheet. | 1 |
capture_console_errors | console.error and console.warn during load, uncaught exceptions and unhandled promise rejections. | 1 |
run_lighthouse_audit | A real Lighthouse audit: performance, accessibility, best practices, SEO and Core Web Vitals. | 2 |
extract_metadata | Everything the page declares about itself — Open Graph, Twitter cards, JSON-LD, meta tags — in one object with the same keys for every page: title, authors, dates, share image, icons, feeds and more. | 1 |
detect_technologies | What the site is built with — CMS, frameworks, analytics, CDN, web server — each with its version, a confidence and the signals that gave it away. | 1 |
extract_keywords | The 5–15 terms that best represent the page, ranked by a language model. | 15 |
summarize_page | A short Markdown summary of the page's main content. | 17 |
extract_data | Data from the page in a schema you define: name the fields and get back exactly those keys, null where the page gives no value. Product details, prices, contact data, lists of items. | 24 |
scrape_url | Several of the above from one page visit. Each operation is billed as usual. | sum |
get_result | The result of an earlier request, by its token. | 0 |
list_requests | A project's recent requests, newest first. | 0 |
get_request | Everything about one past request except its result: timings, cache, webhook delivery. | 0 |
Async is the default, as it is over HTTP: a fetching tool returns a token straight away and get_result collects the result. Pass sync: true to wait for it instead. Most agents work this out from the tool descriptions; saying "use sync: true" in the prompt saves a round trip.
A repeated request is free. Results are kept for 30 days and reused while they are fresher than max_age (7 days by default).
Clients that show MCP prompts (often as slash commands) get three ready-made ones:
| Prompt | Arguments | What it does |
|---|---|---|
read_page | url, question (optional) | Reads the page as Markdown and answers the question, or summarises the page. |
audit_page | url, device (optional: mobile or desktop) | A health report: Lighthouse scores, Core Web Vitals and console errors. |
compare_pages | url_a, url_b, focus (optional) | Two pages side by side: what each says and how each presents itself. |
The resource urlpipe://pricing holds the plans and what each operation costs, so an agent can check a price before it spends credits.
initialize, tools/list, prompts/list and resources/list answer without a token, so you can see all of this straight from the server:
curl -s https://urlpipe.dev/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Using urlpipe with sync: true, read https://news.ycombinator.com as Markdown and list
the five top stories with their links. Then take a screenshot of the first story's page and tell me what the page looks like.
URLpipe answers questions about one URL at a time. It doesn't crawl whole sites, discover URLs, or reach localhost and private addresses — it fetches public pages from its own servers. It follows each site's robots.txt by default.
Licensed under MIT: the configuration and documentation in this repository. The URLpipe service is covered by its terms.