Defuddle Server
FreeNot checkedFetches webpages and returns clean, structured Markdown with metadata (title, author, publish date, description, domain, word count).
About
Fetches webpages and returns clean, structured Markdown with metadata (title, author, publish date, description, domain, word count).
README
A thin MCP wrapper around the Obsidian team's Defuddle tool. It fetches a webpage and returns clean, structured Markdown with metadata (title, author, publish date, description, domain, word count).
What it does
- Exposes one MCP tool:
webpage_to_markdown - Converts webpages into focused Markdown, stripping ads, navigation, and other clutter.
- Returns both plain Markdown text and structured metadata.
- Requires Bearer-token authorization on every HTTP endpoint.
Endpoints
| Endpoint | Method | Auth | Purpose |
|---|---|---|---|
/mcp |
POST | Bearer token | MCP tool calls |
/health |
GET | Bearer token | Health check |
Default listening port is 3000 inside the container. The included docker-compose.yml exposes it on host port 3007.
Quick start
With Docker Compose
Copy the example environment file and set a real token:
cp .env.example .env # edit .env # DEFUDDLE_MCP_TOKEN=your-secret-bearer-tokenBuild and run:
docker compose up --build -dThe server is now available at
http://localhost:3007/mcp.
Locally with Node.js
Install dependencies and build:
npm install npm run buildSet the required token:
export DEFUDDLE_MCP_TOKEN=your-secret-bearer-token # optional: export PORT=4000Start the server:
npm start
Configuration
| Variable | Default | Description |
|---|---|---|
DEFUDDLE_MCP_TOKEN |
(required) | Bearer token clients must send as Authorization: Bearer <token> |
PORT |
3000 |
Port the server listens on inside the container |
To use a custom port, set both PORT and adjust the Docker Compose port mapping, e.g.:
ports:
- "4000:4000"
Connect an MCP client
Add a server config like this (example for a client that supports streamable HTTP):
{
"mcpServers": {
"defuddle": {
"url": "http://localhost:3007/mcp",
"headers": {
"Authorization": "Bearer your-secret-bearer-token"
}
}
}
}
Development
npm run dev— run directly from TypeScript.npm run build— compile todist/.
Installing Defuddle Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/codysandahl/defuddle-mcpFAQ
Is Defuddle Server MCP free?
Yes, Defuddle Server MCP is free — one-click install via Unyly at no cost.
Does Defuddle Server need an API key?
No, Defuddle Server runs without API keys or environment variables.
Is Defuddle Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Defuddle Server in Claude Desktop, Claude Code or Cursor?
Open Defuddle Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Defuddle Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
