> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pdfnoodle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup Guide

> Step-by-step instructions to configure pdf noodle MCP for your AI assistant

This guide walks you through configuring pdf noodle's MCP server for each supported AI assistant. Choose the setup that matches your environment.

## Prerequisites

Before you begin, you'll need:

<Steps>
  <Step title="pdf noodle Account">
    [Create an account](https://app.pdfnoodle.com/auth/sign-up) if you don't have one
  </Step>

  <Step title="API Key">
    Get your API key from [API Settings](https://app.pdfnoodle.com/settings/api)
  </Step>

  <Step title="AI Assistant">
    Have one of the supported AI assistants installed and ready
  </Step>
</Steps>

***

## Claude Desktop

Claude Desktop supports both local and remote MCP servers.

<Tabs>
  <Tab title="Local Server (Recommended)">
    The local server keeps your API key on your machine and works offline.

    **Step 1:** Locate your Claude Desktop configuration file:

    <CodeGroup>
      ```text macOS theme={null}
      ~/Library/Application Support/Claude/claude_desktop_config.json
      ```

      ```text Windows theme={null}
      %APPDATA%\Claude\claude_desktop_config.json
      ```

      ```text Linux theme={null}
      ~/.config/Claude/claude_desktop_config.json
      ```
    </CodeGroup>

    **Step 2:** Add the pdf noodle MCP server configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "command": "npx",
          "args": ["-y", "mcp-server-pdfnoodle"],
          "env": {
            "PDFNOODLE_API_KEY": "your-api-key-here"
          }
        }
      }
    }
    ```

    **Step 3:** Restart Claude Desktop

    <Note>
      The `-y` flag automatically confirms the npx prompt. The server will be downloaded on first use.
    </Note>
  </Tab>

  <Tab title="Remote Server">
    Connect to the hosted MCP endpoint without installing anything locally.

    **Step 1:** Open your Claude Desktop configuration file (same paths as above)

    **Step 2:** Add the remote server configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "url": "https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here"
        }
      }
    }
    ```

    **Step 3:** Restart Claude Desktop

    <Warning>
      With remote mode, your API key is included in the URL. Use this only on trusted networks.
    </Warning>
  </Tab>
</Tabs>

***

## Cursor

Cursor IDE works great with the local MCP server for secure, offline-capable PDF generation.

<Tabs>
  <Tab title="Local Server (Recommended)">
    **Step 1:** Open or create the MCP configuration file:

    ```text theme={null}
    ~/.cursor/mcp.json
    ```

    **Step 2:** Add the pdf noodle configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "command": "npx",
          "args": ["-y", "mcp-server-pdfnoodle"],
          "env": {
            "PDFNOODLE_API_KEY": "your-api-key-here"
          }
        }
      }
    }
    ```

    **Step 3:** Restart Cursor or reload the window

    <Tip>
      In Cursor, you can ask the AI to generate PDFs while coding. Try: "Generate a PDF report of this code documentation"
    </Tip>
  </Tab>

  <Tab title="Remote Server">
    **Step 1:** Open `~/.cursor/mcp.json`

    **Step 2:** Add the remote server configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "url": "https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here"
        }
      }
    }
    ```

    **Step 3:** Restart Cursor

    <Warning>
      With remote mode, your API key is included in the URL. Use this only on trusted networks.
    </Warning>
  </Tab>
</Tabs>

***

## ChatGPT

ChatGPT only supports remote MCP servers through its Connected Apps feature.

<Steps>
  <Step title="Open ChatGPT Settings">
    Click your profile icon → Settings
  </Step>

  <Step title="Navigate to Connected Apps">
    Go to **Connected Apps** or **MCP Servers** section
  </Step>

  <Step title="Add New Server">
    Click "Add Server" or "Connect App"
  </Step>

  <Step title="Configure the Connection">
    * **Name:** pdf noodle
    * **URL:** `https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here`
    * **Authentication:** None (API key is in the URL)
  </Step>

  <Step title="Save and Test">
    Save the configuration and try: "List my PDF templates"
  </Step>
</Steps>

<Note>
  ChatGPT's MCP support may vary by subscription tier and region. Check OpenAI's documentation for the latest availability.
</Note>

***

## Claude.ai (Web)

Use MCP with Claude directly in your browser.

<Steps>
  <Step title="Open Claude Settings">
    Click your profile → Settings
  </Step>

  <Step title="Go to Developer Settings">
    Navigate to **Developer** → **MCP Servers**
  </Step>

  <Step title="Add pdf noodle">
    * **Server URL:** `https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here`
    * **Name:** pdf noodle
  </Step>

  <Step title="Enable the Server">
    Toggle the server on and start a new conversation
  </Step>
</Steps>

***

## Windsurf

Windsurf supports MCP through its configuration system. The local server is recommended for better security and offline access.

<Tabs>
  <Tab title="Local Server (Recommended)">
    **Step 1:** Open or create the Windsurf MCP configuration file (refer to Windsurf's documentation for the exact location)

    **Step 2:** Add the pdf noodle configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "command": "npx",
          "args": ["-y", "mcp-server-pdfnoodle"],
          "env": {
            "PDFNOODLE_API_KEY": "your-api-key-here"
          }
        }
      }
    }
    ```

    **Step 3:** Restart Windsurf
  </Tab>

  <Tab title="Remote Server">
    **Step 1:** Open your Windsurf MCP configuration file

    **Step 2:** Add the remote server configuration:

    ```json theme={null}
    {
      "mcpServers": {
        "pdfnoodle": {
          "url": "https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here"
        }
      }
    }
    ```

    **Step 3:** Restart Windsurf

    <Warning>
      With remote mode, your API key is included in the URL. Use this only on trusted networks.
    </Warning>
  </Tab>
</Tabs>

***

## n8n

Integrate pdf noodle MCP into automated workflows using n8n. n8n connects to the remote MCP server via HTTP requests.

<Steps>
  <Step title="Create a New Workflow">
    Open n8n and create a new workflow or edit an existing one
  </Step>

  <Step title="Add an HTTP Request Node">
    Click the **+** button and search for "HTTP Request"
  </Step>

  <Step title="Configure the Request">
    Set up the HTTP Request node with these settings:

    | Setting            | Value                                                     |
    | ------------------ | --------------------------------------------------------- |
    | **Method**         | `POST`                                                    |
    | **URL**            | `https://mcp.pdfnoodle.com/mcp?api_key=your-api-key-here` |
    | **Authentication** | `None`                                                    |
    | **Content-Type**   | `application/json`                                        |

    <Note>
      Authentication is set to **None** because the API key is passed directly in the URL query parameter.
    </Note>
  </Step>

  <Step title="Set the Request Body">
    Switch to the **Body** tab and select **JSON**. Use the JSON-RPC 2.0 format:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "html_to_pdf",
        "arguments": {
          "html": "<h1>Hello from n8n!</h1>",
          "pdfParams": "{\"format\": \"A4\"}"
        }
      }
    }
    ```
  </Step>

  <Step title="Execute and Test">
    Click **Test step** to run the request. You should receive a response with the PDF download URL.
  </Step>
</Steps>

### Available MCP Methods for n8n

| Method       | Description          | Example params.name                             |
| ------------ | -------------------- | ----------------------------------------------- |
| `tools/call` | Execute a tool       | `html_to_pdf`, `generate_pdf`, `list_templates` |
| `tools/list` | List available tools | —                                               |

### Example: Generate PDF from Template

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "generate_pdf",
    "arguments": {
      "templateId": "your-template-id",
      "data": "{\"customerName\": \"John Doe\", \"invoiceNumber\": \"INV-001\"}"
    }
  }
}
```

### Example: List All Templates

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_templates",
    "arguments": {}
  }
}
```

<Warning>
  For production workflows, store your API key securely using n8n credentials or environment variables instead of hardcoding it in the URL.
</Warning>

<Tip>
  You can chain multiple n8n nodes together to create complex workflows—for example, fetch data from a database, generate a PDF, and send it via email.
</Tip>

***

## Manual Execution

Run the MCP server directly from the command line for testing or debugging.

```bash theme={null}
# Set your API key
export PDFNOODLE_API_KEY=your-api-key-here

# Run the server
npx mcp-server-pdfnoodle
```

The server will start and listen for MCP protocol messages on stdin/stdout.

***

## Verifying Your Setup

After configuration, verify everything works:

<Steps>
  <Step title="Start a New Conversation">
    Open your AI assistant and start a fresh conversation
  </Step>

  <Step title="Test the Connection">
    Ask: **"List my pdf noodle templates"**
  </Step>

  <Step title="Check the Response">
    You should see a list of templates or a message that no templates exist yet
  </Step>
</Steps>

If you encounter issues, check the [Troubleshooting](#troubleshooting) section below.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Server not connecting">
    * Verify your API key is correct
    * Check that the configuration file syntax is valid JSON
    * Ensure you've restarted the AI assistant after configuration changes
    * For local servers, verify Node.js is installed (`node --version`)
  </Accordion>

  <Accordion title="Authentication errors">
    * Double-check your API key at [app.pdfnoodle.com/settings/api](https://app.pdfnoodle.com/settings/api)
    * Ensure there are no extra spaces in the API key
    * Verify your account is active and has available credits
  </Accordion>

  <Accordion title="Tools not appearing">
    * Some AI assistants cache tool lists—try restarting completely
    * Check if MCP is enabled in your assistant's settings
    * Verify the server name matches in your configuration
  </Accordion>

  <Accordion title="PDF generation fails">
    * Check your account has sufficient credits
    * For HTML-to-PDF, ensure the HTML is valid
    * Review the [PDF Best Practices](/integrations/mcp/best-practices) for formatting guidelines
  </Accordion>
</AccordionGroup>

***

## Security Considerations

<CardGroup cols={2}>
  <Card title="API Key Protection" icon="key">
    * Never commit API keys to version control
    * Use environment variables when possible
    * Rotate keys periodically
  </Card>

  <Card title="Network Security" icon="shield">
    * Remote URLs include your API key—use HTTPS only
    * Prefer local servers for sensitive environments
    * Review your assistant's data handling policies
  </Card>
</CardGroup>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Tools Reference" icon="wrench" href="/integrations/mcp/tools">
    Explore all available MCP tools
  </Card>

  <Card title="Examples" icon="lightbulb" href="/integrations/mcp/examples">
    See real-world prompts and use cases
  </Card>
</CardGroup>
