MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
MCPpedia last refreshed this data
org.web2md/web2md is an MCP server that MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc. Its tool list has not been published yet over stdio, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"org-web2md-web2md": {
"args": [
"-y",
"web2md-mcp-server"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'web2md-mcp-server' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked web2md-mcp-server against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in ai-ml / writing
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
An open-source AI agent that brings the power of Gemini directly into your terminal.
🛡️ BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.
MCP Security Weekly
Get CVE alerts and security updates for org.web2md/web2md and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Two packages live here, both MIT:
| Package | What it is | Install |
|---|---|---|
web2md-core | The HTML → Markdown engine. Pure library, no network. | npm install web2md-core |
web2md-mcp-server | MCP server so Claude Code, Cursor, and other agents can convert pages. | npx web2md-mcp-server |
Both are extracted from Web2MD, a Chrome extension that converts web pages to Markdown for AI tools.
An MCP server exposing 12 tools to any MCP client — Claude Code, Claude Desktop, Cursor, Cline, and others.
npx -p web2md-mcp-server web2md-mcp-setup
That writes the config for your client and, if a tool needs an account, opens the browser for OAuth — no password is typed anywhere.
Or configure it by hand (the binary is web2md-mcp):
{
"mcpServers": {
"web2md": { "command": "npx", "args": ["-y", "-p", "web2md-mcp-server", "web2md-mcp"] }
}
}
Tools: convert_url, convert_file, semantic_search, get_conversion,
bridge_convert_url, agent_convert, agent_batch_convert, list_skills,
get_skill, search_library, get_library_items, sync_library.
Two of these are worth calling out:
bridge_convert_url connects to your own signed-in Chrome session, so an
agent can read pages that need a login or run heavy JavaScript — the ones a
server-side fetch gets a login wall or an empty shell for.agent_batch_convert takes up to 50 URLs in one call and returns Markdown
plus token counts for each.convert_url works without an account. Tools that touch your library or the
hosted API need a free key — the setup command above handles that, or set
WEB2MD_API_KEY yourself.
Turn messy HTML into clean, LLM-ready Markdown.
This is the extraction and conversion engine behind Web2MD. It is a pure library — give it an HTML string, get Markdown back. No network calls, no API key, no account. Nothing in this package talks to a server.
npm install web2md-core
Feeding raw HTML to a language model wastes most of your context window on markup, navigation, and ads. Converting first cuts that down and gives the model a document it can actually follow.
The library reports both numbers so you can see the difference:
import { convertToMarkdown } from 'web2md-core'
const result = convertToMarkdown(html, { url: 'https://example.com/post' })
console.log(result.markdown)
console.log(result.metadata.originalTokenCount, '→', result.metadata.tokenCount)
// e.g. 417 → 281
convertToMarkdown returns null when it cannot find a main content block —
check for that rather than assuming a result.
convertToMarkdown(html, options?)The main entry point. Note the signature takes two arguments — the URL goes
inside options, not as a positional parameter:
convertToMarkdown(html, { url: 'https://example.com/post' })
| Option | Default | Meaning |
|---|---|---|
url | — | Source URL. Used to resolve relative links and fill metadata.url. |
includeLinks | false | Keep <a> as Markdown links. Off by default because link URLs are often the bulk of the tokens on navigation-heavy pages. |
| ` |