# 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:

```text
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 public HTTPS page 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 static public HTTPS HTML or text page. It sends no
caller cookies or credentials, rejects private-network and credential-bearing
targets, follows bounded redirects, and applies content and time limits. Do not
submit private, signed, access-controlled, paywalled, or sensitive URLs.

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`

MCP is a Beta integration. Review conversion output against the source before
using it for consequential decisions.
