Skip to main content

Model Context Protocol server for the DocAuto document-generation API.

Project description

DocAuto MCP server

A Model Context Protocol server that exposes the DocAuto document-generation workflow to AI assistants. It is a thin client over the public /api/v1 surface — it holds no secrets and enforces no business logic; multi-tenancy and validation live in the backend.

  • Transport: stdio (local) and a hosted Streamable-HTTP server at https://mcp.docauto.com.br/mcp (add it as a remote connector — no install).
  • Auth (local): OAuth 2.0 Device Authorization Grant against the Keycloak docauto-cli public client. You sign in once in your browser; tokens are cached at ~/.docauto/mcp-tokens.json (0600) and refreshed automatically.

Install

The server is a standalone Python package (it is not part of the backend). Requires Python ≥ 3.11.

# run on demand, no install:
uvx docauto-mcp
# or install it:
pipx install docauto-mcp

From a checkout (dev): pip install ./mcp.

Configure your MCP client

Claude Desktop — automatic

The package ships a setup helper that writes claude_desktop_config.json for you (handling the Windows Store/MSIX config-path quirk):

docauto-mcp-install            # register the installed `docauto-mcp` command
docauto-mcp-install --command uvx   # zero-install: run via `uvx docauto-mcp`
docauto-mcp-install --print    # print the JSON block instead of writing it

Claude Desktop — manual

{
  "mcpServers": {
    "docauto": {
      "command": "docauto-mcp"
    }
  }
}

If docauto-mcp is not on your PATH, use the uvx form ("command": "uvx", "args": ["docauto-mcp"]) or point command at the script inside your virtualenv.

Claude Code (CLI)

claude mcp add docauto -- uvx docauto-mcp

Cursor / VS Code / other clients

These accept a remote MCP server by URL — see the hosted server below (https://mcp.docauto.com.br/mcp), which needs no local install.

Environment overrides (optional)

Defaults target production; override only for local dev:

Variable Default
DOCAUTO_MCP_ISSUER https://auth.docauto.com.br/realms/docauto
DOCAUTO_MCP_API_BASE https://api.docauto.com.br (server-to-server; set to the internal service in-cluster)
DOCAUTO_MCP_PUBLIC_API_BASE https://api.docauto.com.br (public base for user-facing links, e.g. signed download URLs)
DOCAUTO_MCP_PUBLIC_APP_BASE https://docauto.com.br (public frontend base for the upload page link)
DOCAUTO_MCP_CLIENT_ID docauto-cli
DOCAUTO_MCP_HOME ~/.docauto (token cache location)

Logging in

You sign in with your normal DocAuto account (the MCP server does not create a different kind of account):

  1. Call login_start — it returns a verification URL and a short code.
  2. Open the URL, sign in (email/password or Google), and approve.
  3. Call login_finish — it completes the login and caches your tokens.

After that the assistant can use the tools below; tokens refresh silently until the session expires.

Prompts

  • generate_documents (argument: output_format = pdf | docx) — a guided template that drives the whole batch-generation flow. Available in any client that surfaces MCP prompts, over both transports.

Tools

  • Session: login_start, login_finish, logout, whoami, doctor, workflow_guidedoctor reports the version, the configured endpoints, API reachability, and sign-in state (no secrets)
  • Templates: list_templates, get_template, upload_template, delete_template
  • Datasets: list_datasets, get_dataset, preview_dataset, upload_dataset, delete_dataset
  • Generation: validate_mapping, create_generation_job, get_job, list_jobs, cancel_job, delete_job, list_job_documents
  • Downloads: download_document, download_job_zip — over stdio these save to the user's local Downloads folder; over the hosted HTTP transport download_job_zip returns a short-lived signed URL the user opens in a browser (the ZIP is never streamed through the model, so there is no size cap)
  • Uploads (hosted HTTP only): over stdio upload_template/upload_dataset read a local path; over the hosted transport they take only a filename and return an upload_url the user opens to send the file (the bytes never pass through the model), plus an upload_ref to poll with check_upload until the result is ready

Typical flow

login_startlogin_finishwhoamiupload_template(path)upload_dataset(path)validate_mapping(...)create_generation_job(...) → poll get_job(job_id)download_job_zip(job_id, dest).

The field_mapping maps each template variable to a dataset column, e.g. {"nome_cliente": "nome_cliente", "cpf": "cpf"}. output_format is pdf (default) or docx.

Development

# unit tests (no MCP SDK needed — auth/client/tools are isolated)
python -m pytest tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docauto_mcp-0.2.1.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docauto_mcp-0.2.1-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file docauto_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: docauto_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for docauto_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 75f70b6ee5718027b54d5501de5eb54adc5406521e31d1fbf01cf4b5b8252b13
MD5 b47ba603765ad3a848da5e225d4ec65e
BLAKE2b-256 d489f6a530b1476d930cd28c0f52826311b6250713604c2b2bca3921b335b3eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for docauto_mcp-0.2.1.tar.gz:

Publisher: publish-mcp.yml on gzucob/docauto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docauto_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: docauto_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for docauto_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20765967cd286de60054391ae0d2dfec62accb0d6fe53eb2f3999642c20d2fad
MD5 84dc1cc2f6a95f16c638e021226d66e1
BLAKE2b-256 0cabe1792a3c727ecf06a66e88b8ab78df0e2c2d694e2a01687f8b478b395417

See more details on using hashes here.

Provenance

The following attestation bundles were made for docauto_mcp-0.2.1-py3-none-any.whl:

Publisher: publish-mcp.yml on gzucob/docauto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page