Formfill

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Create BaseStation PDF form autofill jobs from natural-language instructions via its API.

Overview

AI-generated overview

Creates BaseStation PDF form autofill jobs from natural-language instructions, sending the PDF as base64 and returning a job ID and upload page URL.

What you can do
  • Create a BaseStation autofill job from plain-language instructions plus a base64-encoded PDF form
  • Receive the upstream job ID, upload page URL and BaseStation's parsed summary of the instructions
  • Optionally pass a callback URL for job completion notification
  • Run the same operation from the command line as well as through the MCP tool
When to use it
Useful when you want an assistant to hand a PDF form to BaseStation for filling based on a short written description, and to get back a job reference and upload link. It covers only this single job-creation step, not form retrieval or job tracking.
Requirements
Runs locally via npx or Docker (stdio). Requires a BaseStation API key in BASESTATION_API_KEY; optional BASESTATION_API_URL, MAX_PDF_MB (default 15) and REQUEST_TIMEOUT_MS (default 15000). Network access to the BaseStation API is needed.
Before you install
The API key in BASESTATION_API_KEY is sent as a bearer credential to the BaseStation API, and the PDF contents plus your instructions are uploaded to that third party. Jobs are created upstream, which may consume paid BaseStation quota. The README notes the endpoint path and auth header form are a labelled reconstruction, so calls may not match the live API.

Installation

In SourceWeft

  1. Open Formfill 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

formfill

Hand BaseStation a PDF form and a sentence about what goes in it. formfill creates a BaseStation autofill job: you describe in plain language how the form should be filled, attach the form itself as base64, and BaseStation returns a job ID, an upload page URL, and its parsed summary of your instructions.

This package is a small API-key REST client for that one operation, exposed both as an MCP tool and as a CLI command behind a single bin.

Configuration

  • BASESTATION_API_KEY (required) — your BaseStation API key. Without it every call fails with an error naming the variable; no request is made and no job is invented.
  • BASESTATION_API_URL (optional) — API base URL. Defaults to https://app.hellobasestation.com.
  • MAX_PDF_MB (optional) — maximum decoded PDF size, in megabytes. Defaults to 15. A formFile decoding to more than the limit is refused locally, before any request.
  • REQUEST_TIMEOUT_MS (optional) — outbound request timeout in milliseconds. Defaults to 15000.

Tool

  • basestation.create_autofill_job — creates a BaseStation autofill job for PDF form filling.
    • instructions (string, required): natural language instructions for how to fill the form.
    • formFile (string, required): base64-encoded PDF file to fill.
    • callbackUrl (string, optional): callback URL for job completion notification.
    • On success the result is the upstream JSON as JSON text, carrying job_id, upload_page_url, and instructions_summary.

How a call flows

  1. Arguments are checked locally: required strings present, formFile valid base64, decoded size within MAX_PDF_MB, and BASESTATION_API_KEY set. Any failure is an error result and nothing is sent.
  2. A POST goes to the autofill jobs endpoint with a JSON body of {instructions, formFile, callbackUrl} (the callback only when given) and the API key as a bearer credential.
  3. An upstream HTTP error surfaces as formfill error: HTTP <status>, plus the upstream error text when the body carries one. A 2xx reply that is missing job_id, upload_page_url, or instructions_summary is reported as an error rather than dressed up as a job.

Provenance

The tool name, parameters, return fields, and configuration above come from the upstream package's published README. The endpoint path (/api/autofill/jobs) and the Authorization: Bearer <key> header form are a labelled reconstruction — the README pins the tool surface but not the API's endpoint path or payload envelope.

CLI

bash
npx @reneturcios/formfill basestation.create_autofill_job '{"instructions":"Fill in the applicant name as Ada Lovelace","formFile":"<base64-pdf>"}'npx @reneturcios/formfill --version

Output is the tool's result text (the upstream JSON on success). Exit codes: 0 on success, 1 on an error result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/formfill mcp

MCP client config:

json
{  "mcpServers": {    "formfill": {      "command": "npx",      "args": ["-y", "@reneturcios/formfill", "mcp"],      "env": {        "BASESTATION_API_KEY": "<your key>"      }    }  }}

Docker

bash
docker run -i -e BASESTATION_API_KEY=<your key> ghcr.io/cloudcorprecords/formfilldocker run --rm -e BASESTATION_API_KEY=<your key> ghcr.io/cloudcorprecords/formfill basestation.create_autofill_job '{"instructions":"...","formFile":"..."}'

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # tsx --test test/*.test.ts (fake fetch only, no network)npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Source: README.md at commit ee73f19

Tools

1

basestation.create_autofill_job

Creates a BaseStation autofill job for PDF form filling.

ParametersformFilerequiredcallbackUrlinstructionsrequired

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% 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
  • 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts