EasyDocForms
Healthcare intake for agents: import blank PDFs, create patient fill links, fetch completed PDFs.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
ghcr.io/easydocforms/easydocforms-mcp:0.1.2claude mcp add easydocforms -e 'EASYDOCFORMS_API_KEY=<your easydocforms_api_key>' -e 'EASYDOCFORMS_BASE_URL=<EASYDOCFORMS_BASE_URL>' -- docker run -i --rm ghcr.io/easydocforms/easydocforms-mcp:0.1.2
{
"mcpServers": {
"easydocforms": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/easydocforms/easydocforms-mcp:0.1.2"
],
"env": {
"EASYDOCFORMS_API_KEY": "<your easydocforms_api_key>",
"EASYDOCFORMS_BASE_URL": "<EASYDOCFORMS_BASE_URL>"
}
}
}
}
Environment variables
EASYDOCFORMS_API_KEYrequired secret EasyDocForms Partner API key (edfk_live_*), created under Settings → Integrations → Partner APIEASYDOCFORMS_BASE_URLOptional API base URL override
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
easydocforms-mcp
An MCP server for healthcare intake forms: give an AI agent the ability to turn a blank PDF intake packet into a hosted, mobile-friendly fillable form, hand the patient a link, and retrieve the completed, pixel-exact PDF — without any PHI ever entering the agent's context.
Built on EasyDocForms, whose document-understanding pipeline (field detection, checkbox semantics, consent blocks, signature models) runs healthcare intake in production. This server wraps the Partner API via the easydocforms-go SDK.
The PHI boundary (read this first)
This server is designed so protected health information never passes through the model:
- Imports are blank forms only.
import_pdf_from_urlrequiresblank_form_attestation: trueand takes a URL, never document bytes. get_submissionreturns metadata and an answer count — never the patient's answers. Answers stay server-side, behind your API key.get_completed_pdf_linkreturns a ~10-minute signed URL the agent can hand to a human or an EMR without exposing your API key. Treat it like a fax.external_refmust never contain PHI — it's an opaque correlation id (your visit or order number).
Tools
| Tool | What it does |
|---|---|
import_pdf_from_url | Import a blank PDF intake form (async; requires blank-form attestation) |
get_import_status | Poll an import until its template is ready |
list_templates | List the organization's active form templates |
create_fill_link | Mint a hosted URL where a patient fills the form |
get_submission | Submission metadata + answer count — never answers |
get_completed_pdf_link | Short-lived signed download URL for the completed PDF |
Install
go install github.com/easydocforms/easydocforms-mcp/cmd/easydocforms-mcp@latest
You'll need an API key from the EasyDocForms app: Settings → Integrations → Partner API (shown exactly once).
Or run the Docker image (no Go toolchain needed):
docker run -i --rm -e EASYDOCFORMS_API_KEY=edfk_live_... ghcr.io/easydocforms/easydocforms-mcp:latest
Claude Code
claude mcp add easydocforms --env EASYDOCFORMS_API_KEY=edfk_live_... -- easydocforms-mcp
Claude Desktop (or any MCP client)
{
"mcpServers": {
"easydocforms": {
"command": "easydocforms-mcp",
"env": { "EASYDOCFORMS_API_KEY": "edfk_live_..." }
}
}
}
Environment
| Variable | Required | Purpose |
|---|---|---|
EASYDOCFORMS_API_KEY | yes | edfk_live_* Partner API key |
EASYDOCFORMS_BASE_URL | no | API base URL override |
Try it
With MCP Inspector:
EASYDOCFORMS_API_KEY=edfk_live_... npx @modelcontextprotocol/inspector easydocforms-mcp
A typical agent session: "Import the intake form at https://clinic.example.com/forms/new-patient.pdf (it's blank), then give me a fill link for visit 8675309." The agent imports, polls, mints a link with external_ref: "visit-8675309", and hands back a URL. After the patient submits, "Is the PDF for that visit ready?" → get_submission + get_completed_pdf_link.
Transport
stdio only, credentials from the environment — per the MCP spec's guidance for locally-run servers. A hosted remote variant (Streamable HTTP + OAuth 2.1) is planned as a second wave.
Development
go test ./... -race
License
MIT
Frequently asked questions
What is EasyDocForms?
Healthcare intake for agents: import blank PDFs, create patient fill links, fetch completed PDFs.
How do I install EasyDocForms?
It runs on your machine. In Claude Code: claude mcp add easydocforms -e 'EASYDOCFORMS_API_KEY=<your easydocforms_api_key>' -e 'EASYDOCFORMS_BASE_URL=<EASYDOCFORMS_BASE_URL>' -- docker run -i --rm ghcr.io/easydocforms/easydocforms-mcp:0.1.2. For other clients, paste the JSON configuration from this page into their MCP settings.
Does EasyDocForms need an API key?
Yes. It expects EASYDOCFORMS_API_KEY, which you set in its configuration.
Is EasyDocForms open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains EasyDocForms?
It is published by easydocforms. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.