# Getting started

pdf-mcp creates PDFs from HTML, text, and images. You can also extract text, merge documents, fill forms, and render reusable templates. Use it from an AI client, your own application, or an automation workflow.

## Choose your starting point

| You want to… | Start here |
| --- | --- |
| Create PDFs in an AI conversation | [Connect an MCP client](https://pdf-mcp.io/docs/mcp-server) |
| Generate a PDF from your code | [REST API quick start](https://pdf-mcp.io/docs/quick-start) |
| Add PDF tools to an automation | [n8n](https://pdf-mcp.io/docs/integration-n8n), [Make](https://pdf-mcp.io/docs/integration-make), or [Zapier](https://pdf-mcp.io/docs/integration-zapier) |
| Look up an endpoint or parameter | [API reference](https://pdf-mcp.io/docs/api-reference) |

## Create an account

Sign in at [app.pdf-mcp.io](https://app.pdf-mcp.io) with the magic link sent to your email. Choose the workspace you want to use.

For an AI client, connect with OAuth and approve access in your browser. For application code or an automation, create an API key under **API Keys**. Both credentials belong to the workspace selected when you create or authorize them.

## Connect your AI client

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=pdf-mcp&config=eyJ1cmwiOiJodHRwczovL2FwaS5wZGYtbWNwLmlvL21jcCJ9)
[Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22pdf-mcp%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.pdf-mcp.io%2Fmcp%22%7D)

For [Claude](https://pdf-mcp.io/docs/mcp-client-claude), [ChatGPT](https://pdf-mcp.io/docs/mcp-client-chatgpt), [Claude Code](https://pdf-mcp.io/docs/mcp-client-claude-code), or [Codex](https://pdf-mcp.io/docs/mcp-client-codex), follow the client guide. Every client connects to the same hosted server:

```text
https://api.pdf-mcp.io/mcp
```

Once connected, try:

> Use pdf-mcp to create a one-page PDF titled “Hello, PDF!”. Store it and return the browser view link.

## Make your first API request

Set `PDF_MCP_API_KEY` in your local environment, then run:

```bash
curl --fail-with-body https://api.pdf-mcp.io/htmlToPdf \
  -H "Authorization: Bearer $PDF_MCP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<h1>Hello, PDF!</h1><p>My first document.</p>",
    "storage": { "mode": "memory" }
  }' \
  --output hello.pdf
```

A successful request saves `hello.pdf`. Memory mode returns the PDF directly without storing a document. The [quick start](https://pdf-mcp.io/docs/quick-start) includes API-key setup and Python and Node.js examples.

## Storage, access, and credits

- [Storage modes](https://pdf-mcp.io/docs/storage-modes): return a PDF directly, store it privately, or use your own bucket.
- [Workspaces](https://pdf-mcp.io/docs/workspaces): understand shared credits, member roles, and document access.
- [Authentication](https://pdf-mcp.io/docs/authentication): create and revoke API keys or authorize an MCP client.
- [Credits](https://pdf-mcp.io/credits): check the cost of each operation and add prepaid credits.

For page layout, fonts, and print CSS, start with [Print styling](https://pdf-mcp.io/docs/print-styling). For request errors, see the [API reference](https://pdf-mcp.io/docs/api-reference#error-codes).
