Docs
Developer hub

MCP server

Connect Danubia to your AI agent over the Model Context Protocol, so fetching and reading any web page becomes a tool your agent can call on demand.

Danubia speaks the Model Context Protocol: connect your AI agent to https://app.danubia.tech/api/mcp and fetching any page on the web becomes one of its tools. Ask for a summary, a comparison, a fact-check, or a source for a draft — the agent fetches the page itself and works from the same clean markdown the API produces.

Why you'd want it

Anything you currently do by copy-pasting a URL into the API playground, you can now ask your agent to do directly:

  • Research and fact-checking. Your agent reads a page before it answers, instead of working from stale knowledge or a washed-out search snippet.
  • Writers and editors. Ask for a briefing, an outline, or a rewrite of a live article; the agent pulls the source itself.
  • Knowledge pipelines and RAG. Fetch pages as clean markdown on demand, feed them to your own index, and keep it current without maintaining a separate scraper.
  • Monitoring. Your agent can check a page regularly, diff what changed, and only tell you about the bits that matter.

Because every fetch goes through the regular Danubia pipeline, you get the same guarantees as the REST API: polite crawling (robots.txt enforced), caching so repeats are cheap, JavaScript rendering when you ask for it, and metered billing from the same credit balance.

How it works

  1. Your agent requests access to Danubia; you approve it in the dashboard sign-in and consent flow. With better-auth's OAuth 2.1 flow, no API key ever leaves your agent.
  2. The agent receives a token for the endpoint below and discovers the available tools.
  3. Every fetch_url call runs the same pipeline as the REST API: normalized URL, robots.txt, caching, rendering and billing are shared by construction.

Connecting

Danubia speaks the standard MCP OAuth flow: the first connection opens the Danubia sign-in and consent pages in your browser, and your client stores the token it receives. Tokens are scoped to mcp:tools, so the connected agent can call the tools and nothing else. The endpoint is https://app.danubia.tech/api/mcp.

Claude Code

One command is all it takes — Claude Code discovers the server's OAuth support (dynamic client registration and CIMD are both supported) and opens the flow in your browser on first use:

claude mcp add --transport http danubia https://app.danubia.tech/api/mcp

Reconnect or sign out later with claude mcp login danubia and claude mcp logout danubia.

Opencode

Opencode drives the same OAuth flow (dynamic client registration) the first time it calls a tool. Add a remote server to your OpenCode config:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "danubia": {
      "type": "remote",
      "url": "https://app.danubia.tech/api/mcp"
    }
  }
}

On first use Opencode prompts you to authorize in your browser; you can also trigger the flow yourself with opencode mcp auth danubia, and check status with opencode mcp list.

Any other MCP client

The endpoint is a standard stateless HTTP MCP server, so any MCP client that speaks HTTP works. The generic client-config shape is:

{
  "mcpServers": {
    "danubia": {
      "type": "http",
      "url": "https://app.danubia.tech/api/mcp",
      "auth": "oauth"
    }
  }
}

The fetch_url tool

Fetches the given URL and returns the page's clean, extracted content — markdown by default — with a short metadata preamble (title, HTTP status, redirects, cache freshness, credits consumed). Danubia strips the navigation and ads before you see the page, so asking your agent to "fetch the content of page X" gives you the same readable text the API produces, not raw HTML.

ArgumentDefaultDescription
url (required)—The page to fetch. Normalized at decode, exactly like the REST API: canonical form, session ids and fragments stripped.
maxAge86400 (24 h)Maximum cache age in seconds; 0 always fetches fresh, capped at 30 days.
formatmarkdownThe content format: markdown (default for agents), html, plain or raw.
fetchModehttphttp for plain HTTP, or browser for JavaScript-rendered pages.
allowStaletrueServe cached content when the refresh fails (stale: true in the response), or fail the request.

The tool returns the page's main content as text with a short preamble: the normalized URL, the format, the HTTP status, whether it was stale, and the credits consumed. Errors come back as tool errors your agent can read.

What's next

  • Browse the REST API reference for every format and option behind the tool.
  • Learn about the batch API when you need thousands of pages, not one.
  • Get started with an API key for non-MCP integrations.

© 2026 Danubia. All rights reserved.

Built & hosted in the EU

Built with daisyUI