Openunfurl MCP server
online · 100% uptimeZero-signup anonymous link-unfurl API. One GET returns clean JSON metadata for any public URL.
2 stars
Reviews
Write oneNobody has reviewed Openunfurl yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Openunfurl tools (1)
write = sends, deletes, buys or postsunfurlFreeFetch clean link-preview metadata (title, description, image, siteName, favicon, oembed) for any public URL. No signup, no API key. Static-HTML parse only (no JS/SPA render).
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 323ms20/20
- Tool poisoning1 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 134 days ago8/15
- Maintainer identityregistry namespace matches repository owner7/10
How Openunfurl compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 60% of 48,255 servers
- Tools
- 1
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 173 ms
- faster than 69% of 30,031 servers
- GitHub stars
- 2
- more than 75% of 28,688 servers
What its tools let an agent do: 1 read
Install Openunfurl in Claude Code, Cursor or VS Code
claude mcp add --transport http openunfurl https://openunfurl.vercel.app/api/mcp
What the publisher says
From the Openunfurl repository's README, as published. We do not edit it. Read it on GitHub
OpenUnfurl
A zero-signup link-unfurl / link-preview API. No account, no API key — one GET request.
Give it any public URL, get back clean preview metadata (title, description, image, siteName, favicon, Open Graph / Twitter Card, oembed) as JSON. Built so autonomous AI agents can use it as a tool — an agent has no human to do a signup.
Live: https://openunfurl.vercel.app
Quick start
curl "https://openunfurl.vercel.app/api/unfurl?url=https://github.com"Sample response:
{
"url": "https://github.com",
"resolvedUrl": "https://github.com/",
"title": "GitHub · Build and ship software on a single, collaborative platform",
"description": "Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.",
"image": "https://github.githubassets.com/assets/campaign-social-031d6161fa10.png",
"siteName": "GitHub",
"type": "object",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"oembed": null,
"fetchedAt": "2026-05-17T00:00:00.000Z",
"engine": "static-html-v0.1",
"note": "v0.1 parses static HTML only — no JS/SPA render"
}Any missing field is null. Errors return JSON with an error key and an appropriate HTTP status (400 bad/blocked/missing URL, 422 fetch failed, 429 rate limited, 405 wrong method).
JavaScript
const base = "https://openunfurl.vercel.app";
const r = await fetch(
base + "/api/unfurl?url=" + encodeURIComponent("https://example.com")
);
const meta = await r.json(); // { title, description, image, favicon, ... }Use as an MCP tool (AI agents / Claude / Cursor / LLM clients)
OpenUnfurl is also a remote MCP server, so an agent can call it as a tool with no signup, no API key, no OAuth.
application/json response — no sessions, no SSE)
- Endpoint: https://openunfurl.vercel.app/api/mcp
- Transport: Streamable HTTP, stateless (POST JSON-RPC 2.0, single
returns the same preview JSON as the REST endpoint (also as structuredContent)
- Exposes exactly one tool: unfurl — input { "url": "https://example.com" },
Drop this into any MCP client config (Claude Desktop, Cursor, or any client that speaks the Streamable HTTP transport):
{ "mcpServers": { "openunfurl": { "url": "https://openunfurl.vercel.app/api/mcp" } } }Quick smoke test:
curl -s -X POST https://openunfurl.vercel.app/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"unfurl","arguments":{"url":"https://example.com"}}}'Over MCP, an upstream error comes back as a tool result with isError: true.
Why
Managed link-preview alternatives — Microlink, OpenGraph.io, LinkPreview.net, Unfurl.io, LinkPeek — all gate even their free tier behind a signup and/or an API key. OpenUnfurl does not: it's a single anonymous GET (or one MCP tools/call). That's especially useful to autonomous agents, which have no human in the loop to complete a signup or paste in a key.
Limitations
If a site renders its tags client-side you get the static fallback.
- v0.1 parses static HTML only — no headless browser, no JS-rendered SPAs.
guarantee (serverless instances are ephemeral and not shared).
- Best-effort per-instance IP rate limit — a soft abuse brake, not a
- SSRF-guarded — rejects localhost / private / reserved IP ranges.
- MIT licensed and self-hostable — see below.
Self-host — it's zero-dependency files
The entire API is two single zero-dependency Node serverless functions: api/unfurl.js (REST) and api/mcp.js (remote MCP). No npm install, no cheerio/jsdom. Deploy the folder to Vercel (zero-config /api detection) or drop the handlers into any Node serverless runtime.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Openunfurl: common questions
- Is Openunfurl MCP server safe?
- Mostly: it is graded B (80/100). Read the Openunfurl safety report
- How do I install Openunfurl?
- It runs remotely at openunfurl.vercel.app. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Openunfurl need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Openunfurl maintained?
- The last commit was 171 days ago (2026-05-17). The latest release is v0.1.0.
- Is Openunfurl up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Openunfurl compare with other MCP servers?
- safety score 80/100 (higher than 60% of 48,255 servers); tools 1 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.