ocr_to_markdown
OCR to Markdown
Convert PDF/image files into Markdown through Frenchie
api_keyfile_pathuploaded_file_reference
io.github.Lab94Published by GitHub account Lab94v0.5.0Updated Oct 24, 2026
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Frenchie converts PDFs, images, audio, video and Office files to Markdown and generates images, using a paid credit-based cloud service.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.Lab94%2Ffrenchie-skill/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"frenchie": {
"type": "http",
"url": "https://mcp.getfrenchie.dev/",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}[Frenchie — your agent's best friend.]
Frenchie — your agent's best friend.
Install Frenchie in your coding agent with one command. Frenchie Kit gives agents file and multimodal capabilities: read PDFs and images, transcribe audio and video, extract Office/CSV files to Markdown, and generate images from text prompts. Frenchie Method gives teams a structured workflow from requirement to release.
Upgrading from 0.1.x or 0.2.x? See MIGRATION.md for the breaking changes in 0.3.0 (stdio metadata-only responses, absolute-path MCP configs, new
mcp --help/--selftestflags).
This package ships:
/ocr, /transcribe, /extract, /generate-image, /frenchie-status commands + HTTP/stdio MCP guidance)/frenchie-method, /requirement, /qa-analysis, /implement, /run-test, /pr-review, /release-check, and related workflow commands)lab94-frenchie mcp) bundled for npxFrom the root of your project:
This installs Frenchie Kit and Frenchie Method skills. Method is text-only and works without an API key.
Optional Method config:
This creates .frenchie/method.config.json and .frenchie/.gitignore; it does not edit your root .gitignore.
Create an account at getfrenchie.dev. You get 100 free credits on your first signup, once per email. No card required.
Then connect your local agent:
The login command opens a browser device-code flow, then writes FRENCHIE_API_KEY into the MCP config the installer created. The full key is never printed.
Fallback if you already have a key from the dashboard:
To target a specific agent:
User-level installs (Antigravity, Windsurf, Zed, Claude Desktop) need the --global flag — auto-detect never writes under $HOME:
Fallback with an existing key:
After login, your agent can call ocr_to_markdown, transcribe_to_markdown, extract_to_markdown, or generate_image. OCR/transcription/extraction results are saved to .frenchie/<name>/result.md automatically; generated images are saved to .frenchie/<slug>/generated.<ext>.
When a new Frenchie version ships, the pinned package spec inside each MCP config (@lab94/[email protected]) needs to point at the new version so npx stops serving a cached older bundle. Two upgrade commands cover everything:
install --global is upgrade-mode: it only rewrites frenchie entries that already exist. It will not surprise-install anything new under $HOME. First-time global installs still go through install --agent <name> --global.
The installer prints the restart hint for your agent. After that, ask:
…and Frenchie takes it from there.
For workflow orchestration, ask:
/frenchie remains the Kit entrypoint in agents that use a single Frenchie command. It is not an alias for Method.
These agents can't run local npm binaries. Use the hosted MCP endpoint instead:
The same @lab94/frenchie skill files work in HTTP mode — install them once with install --agent <name> and the included SKILL.md will tell the agent to upload files via upload_file before calling OCR/transcription/extraction. Image generation does not need an upload step in HTTP mode; it returns a short-lived imageUrl that the agent should download for the user.
Under the hood, Frenchie exposes these MCP tools:
ocr_to_markdowntranscribe_to_markdownextract_to_markdowngenerate_imageget_job_resultupload_file (HTTP mode only)fetch_result_file (HTTP mode only)Slash notation is the canonical Method command name. Claude Code reads command
files directly. Codex Desktop gets the same entries through wrapper skills such
as requirement and qa-analysis; restart Codex after install before trying
/requirement. Hosts without slash support can use natural language such as
Frenchie Method requirement ....
Method stores optional workflow artifacts under .frenchie/docs/feature/. install --init-method also writes a visible skillTriggers skeleton in .frenchie/method.config.json; command keys are empty slots teams can fill with installed agent skills, for example "requirement": ["brainstorming"]. Teams decide whether to commit or ignore Method config and artifacts.
Every agent handles MCP a little differently. /ocr is a Claude Code-only slash command; Method slash commands are host-dependent and use Codex wrapper skills outside Claude Code. Other agents use natural language, @-mention, or a server-name slash command. All facts below are dogfood-verified.
Something not working? See the symptom-first troubleshooting guide — every error we've hit in dogfood has a canonical entry.
Simple numbers. No subscriptions.
File extraction pricing: DOCX 0.5 credits per page, XLSX 0.5 credits per sheet, CSV/TSV 0.5 credits per file, PPTX 1 credit per slide.
$1 = 100 credits. Credits don't expire.
Files are processed and deleted. Results expire about 30 minutes after first delivery. If you need a durable copy, save the Markdown when it comes back.
OCR: PDF, PNG, JPG, JPEG, WebP
Transcription: MP3, M4A, WAV, MP4, MOV, WebM
File extraction: DOCX, XLSX, CSV, TSV, PPTX
Image generation: PNG, JPEG, WebP output from text prompts
Source: README.md at commit 91ba927
OCR to Markdown
Convert PDF/image files into Markdown through Frenchie
api_keyfile_pathuploaded_file_referenceTranscribe to Markdown
Convert audio/video files into Markdown transcripts through Frenchie. Set language (ISO 639-1 code, e.g. 'th', 'en', 'ja') for better accuracy; omit for auto-detection.
api_keylanguagefile_pathuploaded_file_referenceGenerate Image
Generate a single image from a text prompt through Frenchie. Required: prompt. Optional: style (free-text style direction), size, quality, format, background. stdio mode auto-saves the image to .frenchie/<slug>/generated.<ext>; HTTP mode returns a presigned imageUrl that the agent should download for the user.
sizestyleformatpromptrequiredapi_keyqualitybackgroundoutput_dirExtract to Markdown
Extract structured documents (.docx, .xlsx, .csv, .tsv, .pptx) into Markdown through Frenchie. stdio mode auto-saves the result to .frenchie/<name>/result.md; HTTP mode returns inline Markdown.
api_keyfile_pathuploaded_file_referenceGet Job Result
Fetch the latest async Frenchie job result
job_idrequiredapi_keyUpload File (HTTP)
Get a presigned upload URL for use with ocr_to_markdown, transcribe_to_markdown, or extract_to_markdown in HTTP mode. After calling this tool, PUT the file to upload_url (with the correct Content-Type header), then pass object_key as uploaded_file_reference to the processing tool.
api_keyfilenamerequiredfile_sizerequiredmime_typerequiredFetch Result File (HTTP)
Get a temporary download URL for a result file from OCR/transcription output. Use this to download images referenced as frenchie-result: in the result markdown.
api_keyobject_keyrequired100% 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.
npx @lab94/frenchie installnpx @lab94/frenchie install --init-methodnpx @lab94/frenchie loginnpx @lab94/frenchie install --api-key fr_your_key_herenpx @lab94/frenchie login --agent claudenpx @lab94/frenchie login --agent cursornpx @lab94/frenchie login --agent codexnpx @lab94/frenchie login --agent vscodenpx @lab94/frenchie login --agent gemininpx @lab94/frenchie login --agent antigravity --globalnpx @lab94/frenchie login --agent windsurf --globalnpx @lab94/frenchie login --agent zed --globalnpx @lab94/frenchie login --agent claude-desktop --globalnpx @lab94/frenchie install --agent claude --api-key fr_…npx @lab94/frenchie install --agent codex --api-key fr_…npx @lab94/frenchie install --agent antigravity --global --api-key fr_…npx @lab94/frenchie install --agent claude-desktop --global --api-key fr_…# Project-scoped configs in this directory (.mcp.json, .cursor/mcp.json, .codex/config.toml, etc.)npx @lab94/frenchie@latest install
# Every $HOME config that already has a frenchie entry — Antigravity, Claude Desktop, Windsurf, Zed,# and any global Claude Code / Cursor / Codex / Gemini configs you set up. cwd doesn't matter.npx @lab94/frenchie@latest install --globalOCR ./report.pdf with Frenchie/frenchie-methodURL: https://mcp.getfrenchie.devHeader: Authorization: Bearer fr_your_key_here