Markovo

Convert PDF, DOCX, PPTX, XLSX and authorized public HTTPS pages into clean, structured Markdown for agent context.

Hosted MCP Server

npx add-mcp 'https://markovo.net/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Markovo Remote MCP

Canonical Streamable HTTP endpoint: https://markovo.net/mcp

Markovo Remote MCP lets an MCP host use a Markovo account without asking the user to copy a credential into a prompt or configuration file. The host follows the MCP OAuth 2.1 discovery flow, opens Markovo sign-in, and asks the account owner to approve the requested scopes. Authorization Code with PKCE is required; tokens are audience-bound to the Markovo MCP resource.

Connect

Add this URL as a custom remote MCP server in a client that supports Streamable HTTP and OAuth:

https://markovo.net/mcp

The first connection returns the protected-resource metadata URL. The client then discovers Markovo's authorization server, registers its redirect URI when needed, opens the Markovo sign-in and consent pages, and returns after approval. Only HTTPS redirect URIs are accepted, except standard loopback HTTP redirects used by native desktop clients.

The available scopes are:

  • markovo:read: read capabilities, Credit usage, owned jobs, and verified result-image metadata.
  • markovo:convert: estimate and queue a conversion for one explicitly supplied public HTTPS page, and manage short-lived result-image grants.

The authorization screen does not share a Markovo password, billing credential, administrator access, or document contents with the MCP client. Disconnect or revoke the integration in the connected client when it is no longer needed.

Tools

  • markovo_capabilities: list supported conversion capabilities and limits.
  • markovo_usage: inspect the authenticated workspace's Credit balance.
  • markovo_jobs: list recent jobs owned by the authenticated workspace.
  • markovo_job_status: inspect one owned job.
  • markovo_convert_url: convert one supported public HTTPS source after applying an explicit max_credit_units ceiling.
  • markovo_job_assets: list verified images in a completed result.
  • markovo_create_asset_link: create an unguessable public image URL that expires after 60–600 seconds.
  • markovo_revoke_asset_link: revoke one image URL early.
  • markovo_billing_help: return usage and the official billing page without opening checkout or changing the account.

Remote MCP deliberately has no local file, arbitrary network request, shell, filesystem, credential, billing mutation, or administrator tool. Use the local stdio distribution described at https://markovo.net/docs#mcp, or REST multipart upload, when a file on your machine must be converted.

Credits and billing

markovo_convert_url first obtains a server-side estimate. It queues the job only when estimated_credit_units is at or below the caller's positive max_credit_units value. One Credit equals 1,000 credit units. A failed, timed-out, or system-cancelled job is not charged.

Markovo never buys Credits, starts checkout, changes a plan, or retries a job above the confirmed ceiling automatically. When the account lacks Credits, the tool returns structured recovery guidance and the account owner can choose what to do at https://markovo.net/app#billing.

Public-page and result-link safety

URL conversion accepts one supported public HTTPS source: HTML/text, a public Google Doc, a Notion page or bounded database, GitHub text resources or discussions, a Hacker News thread, or a downloadable YouTube video. It sends no caller cookies or credentials, rejects private-network and credential-bearing targets, follows bounded redirects, and applies content and time limits. Private, signed, login-only, browser-only, generic binary-file, and Tencent Docs sources are not supported. Remote document images are not downloaded.

YouTube uses audio transcription at 0.5 Credits per decoded minute with a 0.3-Credit minimum, rather than the URL fetch-time and word-count rate. Audio must fit within one hour, 32 MB, and the account upload limit. Captions are not required; video frames are not analyzed. Review transcription against the recording.

For example, call markovo_convert_url with {"url":"https://example.com/","max_credit_units":15000} for a 15-Credit ceiling. The specific URL call authorizes fetching that source. Remote MCP remains authenticated through OAuth; Web guest previews are a separate flow. For local files and stdio configuration, use the local stdio developer guide or CLI.

An asset link is a bearer capability: anyone who receives it can view that one image until expiry or revocation. Do not log or persist the URL. The underlying storage address is never disclosed.

Support and policies

  • Product documentation: https://markovo.net/docs
  • Pricing and Credits: https://markovo.net/pricing
  • Billing: https://markovo.net/app#billing
  • Privacy: https://markovo.net/privacy
  • Terms: https://markovo.net/terms
  • Support: support@markovo.net
  • Found a conversion issue? Report a reproducible case to support@markovo.net. If we confirm and fix it, you'll receive 1 month of Markovo Pro.

Review conversion output against the source before using it for consequential decisions.