Skip to main content

mdfi-connect

MCP stdio server that lets coding agents (Claude Code, Cursor) read documents through the mdfi cloud API: PDFs and scans, Word, PowerPoint, Excel, HTML, email, images and text. Tables come back structured, anything uncertain is marked, and tables can be exported to CSV.

Install

Claude Code:

claude mcp add mdfi --env MDFI_API_KEY=mdfi_... --env MDFI_API_URL=https://api.mdfi.ai -- uvx mdfi-connect

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "mdfi": {
      "command": "uvx",
      "args": ["mdfi-connect"],
      "env": { "MDFI_API_KEY": "mdfi_...", "MDFI_API_URL": "https://api.mdfi.ai" }
    }
  }
}

Claude Code plugin (asks for your key when you install it and keeps it as a sensitive setting; runs the plugin's own locked project with uv run --locked):

/plugin marketplace add TopTop-Oy/mdfi-connect
/plugin install mdfi@mdfi

Cursor plugin (once listed in the Cursor Marketplace): install mdfi and set MDFI_API_KEY under Plugins → Configure.

The Connect page of your mdfi dashboard (https://app.mdfi.ai) shows these snippets with your key filled in. Plans and pricing: https://mdfi.ai/docs/pricing/

Configuration

  • MDFI_API_KEY (required): create one on the Connect page of your mdfi dashboard.
  • MDFI_API_URL (optional): defaults to https://api.mdfi.ai.

Nothing else is configurable.

Tools

  • read_document(path): uploads the file (only if mdfi has not seen it before) and returns the outline (before conversion only for PDFs with bookmarks and PowerPoint decks with slide titles; for other files once their pages are converted), the text of the ready pages and a header with the document id, quality and uncertainty. It waits up to 20 seconds; a large document keeps converting, so call it again with the same path (no re-upload, no extra charge).
  • read_pages(document_id, pages | section): specific pages ("3,7,9-11") or the pages under one outline heading. Free. If the page quality flags cannot be loaded, the text still comes back with a ⚠ line saying so.
  • export_table(document_id, table, path, overwrite): writes one table to CSV. The table id comes from the table's label in the page text, e.g. p13-t1 from [table p13-t1 — 42 rows × 6 cols]. Default ./mdfi-tables/<file-stem>-<table-id>.csv. Free. Only once the document is ready (while it converts, a page still being enhanced can extend a table).

Only real concerns get a ⚠. Clean scans are listed once (read from scans: pages 1–40), and informational table notes (read by vision, combined header, continues on a page) are shown plain. The header does not show the pages left this month (the API does not expose it). document_id must be the id read_document printed.

A document is charged once, when conversion finishes. read_pages and export_table never charge.

Guards

  • Reads: only supported file types (pdf, docx, pptx, xlsx, html, htm, eml, png, jpg, jpeg, tif, tiff, bmp, gif, webp, txt, md). Symbolic links are resolved first. Hidden files and folders are refused.
  • CSV export: .csv paths only, inside the working directory. Existing files are never overwritten unless overwrite=true; symbolic links are refused. UTF-8 with a byte-order mark, header row, standard quoting.
  • A table with notes (problems or informational) gets a <name>.csv.notes.txt beside the CSV. Both files are written to temporary files and renamed into place once complete (the notes first), so a failed write never leaves a partial CSV or a notes file without its CSV; an overwritten file keeps its permissions. Non-numeric cells starting with =, +, - or @ are written with a leading ' so spreadsheets do not run them as formulas; the notes file states how many.

Development

uv run pytest -q
uv run ruff check src tests

Dependencies: mcp>=1.2,<3 and httpx only. Licence: Apache-2.0. This is the client only: it holds no conversion code and calls the hosted mdfi API.

Metadata

Release files for mdfi-connect 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mdfi-connect 0.1.1
File Size Uploaded Provenance Actions
mdfi_connect-0.1.1.tar.gz 103.1 kB With provenance Details for mdfi_connect-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mdfi-connect 0.1.1
File Interpreter ABI Platform Actions
mdfi_connect-0.1.1-py3-none-any.whl Python 3 none any Details for mdfi_connect-0.1.1-py3-none-any.whl

Total release size: 122.2 kB

Release files / mdfi_connect-0.1.1.tar.gz

Download URL mdfi_connect-0.1.1.tar.gz
Size 103.1 kB
Tags Source
SHA-256 checksum
How to use checksums
87ddcc536384fc8bca4ab24166169ac920ba3c60feef072f858773067ce815a0
BLAKE2b-256 checksum
How to use checksums
4367f80b301bf179939980e06a6bebfa8670c99fddc63b19bd0ad2fa67229f31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

Release files / mdfi_connect-0.1.1-py3-none-any.whl

Download URL mdfi_connect-0.1.1-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37e35358f23ceb16db78bfcd0578766d73e4510e4f9268d04c522c6509594238
BLAKE2b-256 checksum
How to use checksums
51dca20c2e5d6508cfe4c832ac94d16a69cf494c04e06a424ee6c8b32a90a7cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

Security for mdfi-connect 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mdfi_connect-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page