Skip to content

Overview

#CLI

The CLI is the most flexible way to use curl.md. It works well with agents or in terminals, editors, scripts, and anywhere else you can shell out.

#Quick Start

Install the CLI, optionally authenticate, and fetch your first page.

  1. Install CLI

    Install the CLI via curl, npm, or bun.

    curl -fsSL https://curl.md/install.sh | bash
  2. Authenticate

    Optionally log in to unlock higher usage limits and features, like objective extraction.

    curl.md auth login
  3. Use CLI

    Fetch a page from your terminal:

    curl.md curl.md/docs/guide/cli

#Install

Install the CLI using your favorite method.

npm i -g curl.md

Or with Bun:

bun i -g curl.md

If you prefer a script-based install:

curl -fsSL https://curl.md/install.sh | bash

Verify it works:

curl.md --version

You can also install by downloading releases on the GitHub Releases page.

#Usage

Tip

The CLI can be invoked through curl.md or via the short md alias.

Fetch a page:

md example.com

Narrow by objective with --objective:

md zod.dev/error-formatting --objective tree error formatting

Add keywords with --keywords:

md developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch \
  --objective streaming response body \
  --keywords ReadableStream,getReader

Choose a mode with --mode:

md developers.cloudflare.com/d1/get-started \
  --objective how to query D1 from a worker \
  --keywords D1,bindings \
  --mode rush

Choosing a mode

smart is the default and is best for most docs lookups. Use rush when you want a faster pass over the page.

Bypass cache with --fresh:

md example.com --fresh

Finally, learn more about the CLI with --help:

md --help

#Authentication

Log in from the CLI to unlock higher usage limits and features, like objective extraction.

curl.md auth login

For non-interactive environments, set CURLMD_API_KEY.

#Agents

If your agent can shell out locally and does not already have a first-party integration, sync the curl.md CLI skills into it:

curl.md skills add

These generated skills teach the agent how to use the curl.md CLI effectively inside your terminal workflow.

If you want to install the skills into the current project instead of your global agent config, use:

curl.md skills add --no-global

It’s recommended to use native agent plugins instead of direct CLI usage when possible.

#MCP

If your editor or agent supports MCP stdio servers, you can run the CLI directly in MCP mode:

curl.md --mcp

That exposes curl.md’s fetch command as an MCP tool, so hosts without a first-party curl.md integration can still fetch URLs through the normal CLI/API path.

If your agent supports automatic MCP registration, you can also use:

curl.md mcp add

See mcp add below for supported options and agent targeting.

#Commands

#curl.md <url>

URL to markdown for agents

ArgumentTypeDescription
urlurlURL to fetch
OptionTypeDefaultDescription
--fresh, -fbooleanForce fresh fetch (bypass cache)
--keywords, -karrayPre-filter by keywords (comma-separated)
--mode, -mrush|smartsmartMode when narrowing content with --objective
--objective, -ostringNarrow content to a specific objective
--token, -tstringAPI token for authentication (env: CURLMD_API_KEY)
curl.md example.comcurl.md docs.github.com/en/webhooks/webhook-events-and-payloads --objective pull request webhook event payload and actions --keywords pull_requestcurl.md developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch --objective streaming response body --keywords ReadableStream,getReadercurl.md developers.cloudflare.com/d1/get-started --objective how to query D1 from a worker --keywords D1,bindingscurl.md ai-sdk.dev/docs/ai-sdk-core/generating-text --objective how to stream text with the ai sdk --keywords streamText,generateTextcurl.md zod.dev/error-formatting --objective tree error formatting --keywords treeifyError

#auth

Authenticate with curl.md (login, logout, status)

CommandDescription
loginLog in with curl.md
logoutLog out of the curl.md CLI
statusCheck authentication status

#login

Log in with curl.md

curl.md auth login

#logout

Log out of the curl.md CLI

curl.md auth logout

#status

Check authentication status

curl.md auth status [options]
OptionTypeDescription
--tokenstringAPI token to check

#credits

Manage prepaid credits (add, status)

CommandDescription
addAdd credits
statusCheck credits

#add

Add credits

curl.md credits add <5|10|20|50>
ArgumentTypeDescription
amount5|10|20|50Amount in dollars

#status

Check credits

curl.md credits status

#fetch

Fetch URL as markdown

curl.md fetch <url> [options]
ArgumentTypeDescription
urlurlURL to fetch
OptionTypeDefaultDescription
--fresh, -fbooleanForce fresh fetch (bypass cache)
--keywords, -karrayPre-filter by keywords (comma-separated)
--mode, -mrush|smartsmartMode when narrowing content with --objective
--objective, -ostringNarrow content to a specific objective
--token, -tstringAPI token for authentication (env: CURLMD_API_KEY)
curl.md fetch example.comcurl.md fetch docs.github.com/en/webhooks/webhook-events-and-payloads --objective pull request webhook event payload and actions --keywords pull_requestcurl.md fetch developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch --objective streaming response body --keywords ReadableStream,getReadercurl.md fetch developers.cloudflare.com/d1/get-started --objective how to query D1 from a worker --keywords D1,bindingscurl.md fetch ai-sdk.dev/docs/ai-sdk-core/generating-text --objective how to stream text with the ai sdk --keywords streamText,generateTextcurl.md fetch zod.dev/error-formatting --objective tree error formatting --keywords treeifyError

#org

Manage organizations (create, invite, list, member, switch, view)

CommandDescription
createCreate organization
inviteManage organization invites (accept, create, list, revoke)
list, lsList organizations
memberManage organization members (add, list, remove, role)
switchSwitch organization
viewView active organization

#create

Create organization

curl.md org create <login> [options]
ArgumentTypeDescription
loginloginOrganization login (e.g. "wevm")
OptionTypeDescription
--namestringDisplay name

#invite

Manage organization invites (accept, create, list, revoke)

CommandDescription
acceptAccept organization invite
createCreate organization invite link
list, lsList organization invites
revokeRevoke organization invite
#accept

Accept organization invite

curl.md org invite accept <token>
ArgumentTypeDescription
tokentokenInvite URL or token
#create

Create organization invite link

curl.md org invite create [options]
OptionTypeDefaultDescription
--expires-in, -enumber604800Expiry in seconds
--max-uses, -mnumberMaximum number of uses
--role, -rmember|adminmemberRole for invited members
#list

List organization invites

curl.md org invite list
#revoke

Revoke organization invite

curl.md org invite revoke [invite] [options]
ArgumentTypeDescription
inviteinviteInvite token or ID to revoke
OptionTypeDescription
--force, -fbooleanSkip confirmation

#list

List organizations

curl.md org list

#member

Manage organization members (add, list, remove, role)

CommandDescription
addAdd member to active organization
list, lsList members of the active organization
remove, rmRemove member from active organization
roleChange member role
#add

Add member to active organization

curl.md org member add <login> [options]
ArgumentTypeDescription
loginloginAccount login to add
OptionTypeDefaultDescription
--role, -rmember|adminmemberRole for the new member
#list

List members of the active organization

curl.md org member list
#remove

Remove member from active organization

curl.md org member remove [login] [options]
ArgumentTypeDescription
loginloginMember login to remove
OptionTypeDescription
--force, -fbooleanSkip confirmation
#role

Change member role

curl.md org member role [login] [options]
ArgumentTypeDescription
loginloginMember login to change role for
OptionTypeDescription
--force, -fbooleanSkip confirmation
--role, -rmember|adminNew role

#switch

Switch organization

curl.md org switch [login]
ArgumentTypeDescription
loginloginOrganization login to switch to (or "account")

#view

View active organization

curl.md org view [options]
OptionTypeDescription
--web, -wbooleanOpen in browser

#request

Manage requests (list, view)

CommandDescription
list, lsList requests
viewView request

#list

List requests

curl.md request list [options]
OptionTypeDescription
--limit, -lnumberNumber of requests to show
--page, -pnumberPage number
--search, -sstringFilter by URL

#view

View request

curl.md request view [request] [options]
ArgumentTypeDescription
requestrequestRequest ID to view
OptionTypeDescription
--verbosebooleanShow all request fields
--web, -wbooleanOpen original URL in browser

#token

Manage API tokens (create, list, delete)

CommandDescription
createCreate API token
delete, rmDelete API token
list, lsList API tokens

#create

Create API token

curl.md token create <name>
ArgumentTypeDescription
namenameToken name

#delete

Delete API token

curl.md token delete [name] [options]
ArgumentTypeDescription
namenameToken name to delete
OptionTypeDescription
--force, -fbooleanSkip confirmation

#list

List API tokens

curl.md token list

#update

Update curl.md CLI

curl.md update [options]
OptionTypeDescription
--targetstringUpdate to specific version

#Integrations

#completions

Generate shell completion script

curl.md completions <bash|fish|nushell|zsh>
ArgumentTypeDescription
shellbash|fish|nushell|zshShell to generate completions for

#mcp add

Register as MCP server

curl.md mcp add [options]
OptionTypeDescription
--agentstringTarget a specific agent (e.g. claude-code, cursor)
--command, -cstringOverride the command agents will run (e.g. "pnpm my-cli --mcp")
--no-globalbooleanInstall to project instead of globally

#skills

Sync skill files to agents (add, list)

CommandDescription
addSync skill files to agents
list, lsList skills

#add

Sync skill files to agents

curl.md skills add [options]
OptionTypeDefaultDescription
--depthnumber1Grouping depth for skill files
--no-globalbooleanInstall to project instead of globally

#list

List skills

curl.md skills list

#Environment Variables

VariableTypeDefaultDescription
CURLMD_API_KEYstringAPI token for authentication
CURLMD_BASE_URLstringhttps://curl.mdBase URL

#When to use the CLI

Use the CLI when you want your agent to be able to use curl.md, but there isn’t a plugin, or in shell scripts, editor terminals, local automation, or quick one-off research.