EasyDocForms

com.easydocformsPublished by easydocforms.comv0.1.2Updated Oct 24, 2026

Healthcare intake for agents: import blank PDFs, create patient fill links, fetch completed PDFs.

Overview

AI-generated overview

Lets an assistant import blank healthcare intake PDFs, create patient fill links, and retrieve completed PDFs without handling patient answers.

What you can do
Wraps the EasyDocForms Partner API so an assistant can import a blank PDF intake form from a URL, poll until the template is ready, list the organization's active templates, and mint a hosted fill link for a patient. It can also fetch submission metadata with an answer count and produce a short-lived signed download link for the completed PDF. Patient answers stay server-side and are never returned to the model.
When to use it
Useful for clinics, intake teams, or healthcare software that want an assistant to move a blank intake packet into a hosted fillable form and hand a patient a link, then check whether the completed PDF is ready. It fits workflows where the assistant coordinates the form but should not see protected health information.
Requirements
Runs locally over stdio, either as a Go binary installed with go install or as the published Docker image. Requires an EasyDocForms Partner API key in EASYDOCFORMS_API_KEY, created under Settings, Integrations, Partner API. An optional EASYDOCFORMS_BASE_URL overrides the API base URL. Network access to the EasyDocForms API is needed.
Before you install
The API key EASYDOCFORMS_API_KEY is a live credential and should be kept out of shared configuration. Imports must be blank forms and require a blank-form attestation. The external_ref field must never contain protected health information. The completed PDF link is a short-lived signed URL that grants access to the document, so treat it like a fax and share it only with the intended recipient.

Installation

In SourceWeft

  1. Open EasyDocForms in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

easydocforms-mcp

[CI]

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_url requires blank_form_attestation: true and takes a URL, never document bytes.
  • get_submission returns metadata and an answer count — never the patient's answers. Answers stay server-side, behind your API key.
  • get_completed_pdf_link returns 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_ref must never contain PHI — it's an opaque correlation id (your visit or order number).

Tools

ToolWhat it does
import_pdf_from_urlImport a blank PDF intake form (async; requires blank-form attestation)
get_import_statusPoll an import until its template is ready
list_templatesList the organization's active form templates
create_fill_linkMint a hosted URL where a patient fills the form
get_submissionSubmission metadata + answer count — never answers
get_completed_pdf_linkShort-lived signed download URL for the completed PDF

Install

sh
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):

sh
docker run -i --rm -e EASYDOCFORMS_API_KEY=edfk_live_... ghcr.io/easydocforms/easydocforms-mcp:latest

Claude Code

sh
claude mcp add easydocforms --env EASYDOCFORMS_API_KEY=edfk_live_... -- easydocforms-mcp

Claude Desktop (or any MCP client)

json
{  "mcpServers": {    "easydocforms": {      "command": "easydocforms-mcp",      "env": { "EASYDOCFORMS_API_KEY": "edfk_live_..." }    }  }}

Environment

VariableRequiredPurpose
EASYDOCFORMS_API_KEYyesedfk_live_* Partner API key
EASYDOCFORMS_BASE_URLnoAPI base URL override

Try it

With MCP Inspector:

sh
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

sh
go test ./... -race

License

MIT

Source: README.md at commit 34dc9f3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts