URLpipe
概览
作者提供的说明(英文原文)
Read any page with its JavaScript run: Markdown, screenshots, metadata, console errors, Lighthouse.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i3 项中通过 3 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在云端运行
- 传输方式: Streamable HTTP
- 分类: 文档、表格与办公
- 你需要填写:Authorization
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:3 项中通过 3 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 可以做 17 件事(工具) list_projects, get_usage, fetch_markdown, fetch_html …
- 需要你自己填写:
Authorization
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- 在云端运行无需安装任何东西,通过互联网连接
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http urlpipe https://urlpipe.dev/mcp --header 'Authorization: Bearer {token}'运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"urlpipe": {
"url": "https://urlpipe.dev/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"urlpipe": {
"type": "http",
"url": "https://urlpipe.dev/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
Authorization机密 必填 HTTP headerBearer followed by a URLpipe organization token, created under Organization → MCP access at https://urlpipe.dev
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
工具名称和描述与服务器在 2026年11月8日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
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
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ✓ 通过
作者与仓库一致
注册名称已通过域名 urlpipe.dev 验证(注册中心会核实域名所有权)
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- ✓ 通过
端点有响应
在 605 毫秒内响应(HTTP 200)
- – 不适用
使用 OAuth 登录
无需登录
- ✓ 通过
工具描述中没有隐藏指令
已读取 17 个工具描述,未发现针对 AI 的隐藏指令
与“文档、表格与办公”中的其他服务器比较i
- 星标数多于此分类中其他 3607 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3607 个服务器的 53% 更新
- 基础检查结果等于或优于此分类中其他 3607 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
URLpipe 安全吗?
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:Authorization
它在我的电脑上运行还是在云端?
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.4.0)于27天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Excel MCP Server
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
MCP Server for Excel
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
- Hosted. Streamable HTTP at
https://urlpipe.dev/mcp. Nothing to install or run. - One bearer token. Can be read-only, limited to one project, or set to expire.
- 17 tools. Every API operation, plus results, request history, projects and usage.
- Same credits as the HTTP API. 1,000 free every month, no card. Cached results cost nothing.
- Processed in the EU. Fetching, rendering and storage happen in Europe.
This repository holds the server's registry entry (server.json) and the setup for each client. The server itself runs at urlpipe.dev.
Get a token
- Sign up and confirm your email address.
- In the dashboard, open Organization → MCP access and create a token. Choose Fetch pages and read results for an agent that works normally, or Read past results only for one that must never spend credits.
- Copy it — it is shown once.
Every client sends it as Authorization: Bearer YOUR_TOKEN.
Connect your client
Claude Code
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}" } } } }
Claude Desktop
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
~/.cursor/mcp.json, or .cursor/mcp.json in a project:
{
"mcpServers": { "urlpipe": { "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${env:URLPIPE_TOKEN}" } } } }
VS Code
.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}" } } } }
Windsurf
mcp_config.json:
{
"mcpServers": { "urlpipe": { "serverUrl": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer ${env:URLPIPE_TOKEN}" } } } }
Cline
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"] } } }
Zed
settings.json:
{
"context_servers": { "urlpipe": { "url": "https://urlpipe.dev/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }
From a directory
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.
Tools
| 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).
Prompts and resources
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"}'
A first prompt
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.
What it doesn't do
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.
Links
- MCP server overview
- MCP docs — tokens, scopes, limits
- HTTP API docs and OpenAPI spec
- Free tools — try every operation without an account
- Questions: contact@urlpipe.dev
Licensed under MIT: the configuration and documentation in this repository. The URLpipe service is covered by its terms.