# EasyDocForms MCP server

> Converts blank PDF intake forms into mobile-friendly fillable links and retrieves completed PDFs while keeping PHI out of the AI context.

- Repository: https://github.com/easydocforms/easydocforms-mcp
- Page: https://hostedmcp.org/servers/easydocforms/easydocforms-mcp
- Transport: stdio
- Stars: 0
- License: MIT
- Latest version: 0.1.2

## Install

### Claude Code

```sh
claude mcp add --env EASYDOCFORMS_API_KEY=<YOUR_EASYDOCFORMS_API_KEY> easydocforms-mcp -- docker run -i --rm ghcr.io/easydocforms/easydocforms-mcp:0.1.2
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "easydocforms-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/easydocforms/easydocforms-mcp:0.1.2"
      ],
      "env": {
        "EASYDOCFORMS_API_KEY": "<YOUR_EASYDOCFORMS_API_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "easydocforms-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/easydocforms/easydocforms-mcp:0.1.2"
      ],
      "env": {
        "EASYDOCFORMS_API_KEY": "<YOUR_EASYDOCFORMS_API_KEY>"
      }
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "easydocforms-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/easydocforms/easydocforms-mcp:0.1.2"
      ],
      "env": {
        "EASYDOCFORMS_API_KEY": "<YOUR_EASYDOCFORMS_API_KEY>"
      }
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.easydocforms-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/easydocforms/easydocforms-mcp:0.1.2"]

[mcp_servers.easydocforms-mcp.env]
EASYDOCFORMS_API_KEY = "<YOUR_EASYDOCFORMS_API_KEY>"
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "easydocforms-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/easydocforms/easydocforms-mcp:0.1.2"
      ],
      "env": {
        "EASYDOCFORMS_API_KEY": "<YOUR_EASYDOCFORMS_API_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `EASYDOCFORMS_API_KEY` | yes | yes | EasyDocForms Partner API key (edfk_live_*), created under Settings → Integrations → Partner API |
| `EASYDOCFORMS_BASE_URL` | no | no | Optional API base URL override |

## Tools (6)

- `import_pdf_from_url`
- `get_import_status`
- `list_templates`
- `create_fill_link`
- `get_submission`
- `get_completed_pdf_link`

## FAQ

### How does the server protect patient privacy?

The server ensures protected health information never passes through the model by only importing blank forms and returning metadata instead of patient answers.

### How do I get the completed patient form?

You can use the get_completed_pdf_link tool to receive a short-lived signed URL for downloading the completed PDF.

### What authentication is required to use this server?

You need an API key from the EasyDocForms app, which can be found under Settings, Integrations, and Partner API.
