For AI agents & developers

The image CDN your agent can install.

Other image CDNs provide setup instructions. CDN.MN gives your agent a documented path from discovery to verified installation — registration, scoped tools, dry runs, validation, and rollback.

Read auth.md · Provision a live workspace or claim a device code · Adopt it from your inbox

AGENT TOOLCHAIN

auth.mdRegister and request scoped accessLIVE
MCPCall CDN.MN toolsLIVE
Audit LogEvery claim, approval, and revoke recordedLIVE
AGENTS.mdHonor a “do not auto-edit” ruleLIVE
OpenAPIUse structured API operationsLIVE
SKILL.mdFollow the installation workflowLIVE
CLI / SDKDetect, modify, test, and verifyLIVE
Live now

Device-code registration, scoped access, a per-scope approval valve & instant revoke, machine-readable discovery (auth.md, llms.txt, OpenAPI, and the SKILL.md workflow), and the MCP server with 18 tools — the reads, public-site image analysis + savings estimates, project creation, cache purge, domain verification, and every production mutation behind a sensitive scope: hostname activation, adding funds, origin configuration, project archive, and applying the delivery configuration. Each runs on its own for an autonomous agent — except money, which always waits for your approval — or opens an approval card when you ask to be in the loop. The published @cdnmn/cli + @cdnmn/sdk let an agent detect, configure, rewrite, test, and verify straight from the project — honoring the repo’s AGENTS.md.

Rolling out

The integration-planning + preview tool set (integration plans, non-production previews) and the anonymous no-claim registration path are on the roadmap — labelled below wherever they appear.

Machine-facing surfaces

Authentication and discovery are live at well-known locations — an agent can register and hold a scoped token today:

GET  /auth.md                → the human-readable access guide
GET  /llms.txt               → machine index of the agent surfaces
GET  /openapi.json           → OpenAPI 3.1 for the REST endpoints
GET  /.well-known/oauth-protected-resource
GET  /.well-known/oauth-authorization-server
POST /api/agent/register     → device_code + user_code
POST /api/agent/token        → poll → cdnmn_at_… bearer token
POST /api/mcp                → MCP 2025-06-18: tools/list, tools/call

Liveserved by the CDN.MN app

Two live ways in: the plain device-claim path pairs the agent to your account — you open the claim link (/agents/claim) and grant the scopes; or an agent with your email registers with provision_workspace to get a live workspace and token immediately, no human step, which you adopt from an email later. Billing and deletion stay locked until you adopt it.

The agent skill Workflow live

The install workflow is published at /SKILL.md — a step-by-step playbook over the live tools (verify → activate → fund). The packaged platform references and verification scripts below are still rolling out:

cdn-mn-agent/
├── SKILL.md
├── scripts/
│   ├── detect-platform
│   ├── analyze-images
│   ├── create-preview
│   └── verify-installation
├── references/
│   ├── nextjs.md · wordpress.md · nuxt.md
│   ├── static-sites.md · nginx.md
│   └── rollback.md
└── assets/
    ├── config-templates/
    └── report-template.md

Planned packaged layout — the SKILL.md workflow is live today.

Precise scopes, not master keys

Agents request exactly the capability they need. Nothing generic like api.write.

site:analyzeAnalyze a public website or origin
project:readInspect a CDN.MN project
project:createCreate a new project
origin:readView origin configuration
origin:writeConfigure or change an origin
integration:planGenerate an integration plan
integration:previewCreate a non-production preview
integration:applyApply approved changes to production
domain:readView domain status
domain:verifyRun origin-ownership verification for a site
domain:activateActivate production delivery
analytics:readRead usage and savings data
cache:purgePurge selected objects
billing:readRead plan and usage
billing:writeChange plan or authorize spend
project:deleteDelete a project

Scopes in red (origin:write, integration:apply, domain:activate, billing:write, project:delete) are never granted by default. When you do grant one, the agent acts on its own within it — unless you tick “require my approval each time” at connect time to keep a per-use approval card. Money (billing:write) always requires that approval — its valve is locked on and cannot be opted out.

How an agent gets in

Following the auth.md model — with practical fallbacks, not “works with every agent” claims.

01 · PROVISIONED WORKSPACE

Live

No human step to start

An agent with your email registers with provision_workspace and gets a live workspace + a scoped token immediately — it can analyze, create a project, verify a domain, and serve on a one-time $5 starter credit with no approval to begin. You adopt the workspace from an email later; billing, deletion, and custom origins stay locked until you do.

owner_email + provision_workspace → token on the first poll · adopt by email · unadopted swept ~72h

02 · USER-CLAIMED

Live

You confirm a claim code

The agent registers for a device code and shows you a claim link. You sign in to CDN.MN, see exactly the scopes it asked for, and approve — the agent then polls and receives a scoped bearer token. A live path when you'd rather grant access up front.

device-code ceremony on a CDN.MN-owned page · tokens stored hashed

03 · ANONYMOUS PREVIEW

Planned

No user identity

The read-only preview scopes an agent may request before any human is involved — analyze a public site, but touch nothing a customer owns. The no-claim path and its plan/preview tools are still rolling out.

site:analyze · analytics:read · billing:read (plan/preview scopes reserved until their tools ship)

04 · AGENT-VERIFIED

Planned

Provider attests identity

Where the agent provider supports identity assertion, the agent will request an audience-specific assertion after your consent; CDN.MN verifies it and returns a scoped credential. Planned, and never the only path.

arrives as providers adopt it — the paths above always work

High-level, idempotent MCP tools 18 tools live

18 tools are callable today at /api/mcp — the reads, public-site image analysis, project creation, domain verification, cache purge, and every sensitive production mutation. A sensitive tool runs on its own for an autonomous agent — except adding funds, which always waits for your approval — or opens an approval card when you asked to be in the loop; the integration-plan + preview tools are still rolling out, and the agent never assembles low-level configuration blindly:

list_projects
get_analytics
get_billing
get_domains
get_approval_status
activate_hostname
verify_domain
add_funds
change_plan
configure_origin
delete_project
apply_integration
purge_urls
create_project
rollback_configuration
analyze_website
estimate_image_savings
detect_integration_strategy
create_preview
generate_integration_plan
verify_image_delivery

green = callable now · grey = rolling out

Every mutating tool supports

Designed so it’s hard to accidentally create duplicates, route to the wrong origin, or produce an unbounded bill. Live today on every sensitive tool (activate_hostname shown here): dry_run and idempotency_key are accepted and bound to the action, and a repeated call with the same key never runs twice.

accepted on every sensitive tool (example: activate_hostname):
  site_id: "s_..."
  dry_run: true
  idempotency_key: "..."

→ returns now, when autonomous:
  status: executed · execution.hostname
  (the action ran inline)

→ returns now, when you require approval:
  approval_required · approval_id
  poll_with: get_approval_status

→ every sensitive action returns a self-describing contract:
  proposed_changes · warnings
  rollback_plan · verification_steps
  (on the tool response, on get_approval_status,
   and on the owner's approval card)

Copyable agent prompts

These appear on the homepage, code repository, agent skill, and framework guides.

Add CDN.MN to this website.

Keep the current origin and existing application behavior. Analyze the
image pipeline, estimate potential savings, detect the safest
integration strategy, create the CDN.MN project, configure responsive
image delivery and modern formats, run the project tests, and ask me
before changing DNS, billing, or production deployment.

Optional AGENTS.md snippet for your project

AGENTS.md is the emerging convention for giving coding agents persistent project guidance. If your agent honors it, add this section so every CDN.MN change follows your project’s rules — your direct instruction always takes priority.

## CDN.MN image delivery

- Read the current CDN.MN project configuration before changing image URLs.
- Keep the existing image origin as the fallback unless explicitly instructed.
- Never commit CDN.MN access tokens, claim tokens, or API credentials.
- Create integration changes in a separate branch.
- Run the project build, tests, and broken-image verification before completion.
- Use a CDN.MN preview before requesting production activation.
- Do not modify DNS, billing, or production deployment without explicit approval.
- Report all changed files, configuration changes, verification results,
  and rollback steps.
For AI Agents — CDN.MN — CDN.MN