Tag, rename, and enrich PDFs and images. Free tier: 1,500 tags/month, no credit card.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Gemina FileTag.
files_create_uploadReserve a pre-signed PUT slot. Returns `file_id`, the upload URL, the headers to echo on the PUT, and a `next_tool_call` recipe β `tag_file` by default, `extract_document` with `purpose='extract'`. One slot type: any slot works with either tool.
tag_fileRun the FileTag pipeline on an uploaded slot: metadata, six filename patterns, and a short-lived enriched-file URL.
tag_urlFetch a public HTTPS URL server-side and tag it β the bytes never pass through the model context.
extract_documentRun one or more extraction types on an uploaded slot (from `files_create_upload`): `invoice_headers`, `invoice_line_items`, `custom_template`, `ocr` (plain text; runs only on the `praetorian` model), plus the legacy `document_details_hebrew` / `document_line_items_hebrew` (praetorian-only, not recoβ¦
get_extraction_resultPoll an asynchronous extraction by `meta.correlationId`.
list_extractionsList past extractions, newest first, with filters and pagination.
Tag, extract, and search your documents from any MCP client. Free tier: 1,500 FileTag tags/month, no credit card.
Install β’ Examples β’ Product page β’ Full docs
This repository is the discovery, install, and examples surface for Gemina's MCP server. The server itself is hosted at https://api.gemina.co/api/v1/mcp/ β there is no daemon to run locally. Point your MCP-compatible client at the endpoint, sign in with your Gemina account (or paste an API key for headless use), and tag your first document in under a minute.
One server, three tool groups: FileTag (free tier β tag, rename, and enrich any PDF or image), Extraction (Core-OCR: invoice headers, line items, full text, custom templates), and Document Intelligence (ask questions and run spend analytics over your indexed documents β no re-upload). See Tools for the full list.
The server itself is closed-source (operated by Gemina). Everything in this repo β install snippets, examples, integration code β is MIT-licensed and contributions are welcome.
One sign-in, three tool groups. Every group takes any PDF or image up to 50 MB (PDF, PNG, JPEG, GIF, WebP, HEIC/HEIF, AVIF).
1. FileTag β tag, rename, enrich (free tier). Send a document, get structured metadata, six suggested filenames, and a downloadable copy with the metadata embedded in the file itself. Tools: files_create_upload β tag_file, or tag_url.
2. Extraction β pull the fields out (paid). Ready-made models for invoice headers and invoice line items (plus Hebrew document details and line items); and custom templates β you define the fields, Gemina extracts them from any document type: contracts, forms, statements, delivery notes, IDs, anything. Tools: files_create_upload (purpose='extract') β extract_document β get_extraction_result, list_extractions, get_extraction, get_document, add_document_extractions (run more extraction types on a stored document β no re-upload; wait for the values, or wait=false and just file it for later search), submit_extraction_feedback (send corrections back).
3. Document Intelligence β ask your archive (paid). Ask questions and run spend analytics across your whole indexed collection β no re-upload. Every document you tag (FileTag) or run a structured extraction on is submitted for indexing when indexing is enabled β plain OCR isn't, and a document can be skipped (no extractable fields, or no indexing credits). Search by vendor, date, amount, type or free text (query_documents); get sums, averages and counts grouped by vendor, currency, type or month (aggregate_documents) β e.g. βtotal spent per vendor last quarterβ. Tools: query_documents, aggregate_documents, index_document.
extract_document with invoice_headers)With custom_template, values contains exactly the fields you defined in the template.
aggregate_documents)Sign in with your Gemina account β no API key to copy. Every snippet below points your client at the endpoint; the client discovers Gemina's authorization server and opens a browser sign-in. Don't have an account? Create one free (no credit card) at https://console.gemina.co/registration/create-account.
Running headless (CI, servers, scripts, or a client that doesn't prompt to sign in)? Use the API-key form shown under each client instead.
Endpoint: https://api.gemina.co/api/v1/mcp/ Β· Transport: Streamable HTTP Β· Auth: OAuth 2.1 sign-in (default) or X-API-Key header (headless)
https://api.gemina.co/.well-known/oauth-protected-resource/api/v1/mcphttps://api.gemina.co/.well-known/oauth-authorization-server/api/v1/mcpmcp. Access tokens last 1 hour; refresh tokens rotate and last 30 days.<app> (OAuth). See and revoke them under Console β API Keys β Connected apps at https://console.gemina.co.Recommended: OAuth via Connectors. claude.ai and Claude Desktop use the same flow β no config file, no mcp-remote, no API key. Gemina creates a key for the app when you approve it.
Sign in with your Gemina account when prompted and approve the consent page. The Gemina tools appear in new chats immediately.
Fallback: API key via mcp-remote. Claude Desktop's Connectors UI doesn't accept custom headers, so an API key has to go through the mcp-remote stdio bridge. Use this only if you need a specific key (headless or shared machines).
Prerequisites
Node.js 18+ β install from nodejs.org (Windows: ensure "Add to PATH" stays checked; macOS/Linux: standard installer).
Claude Desktop capabilities β open Settings β Capabilities and turn on:
storage.googleapis.com to the narrow allowlist β that's where signed enriched-file URLs are hosted).Without network egress, tag_file/tag_url return JSON correctly but Claude can't fetch the enriched-file URL from storage and you'll see "Host not in allowlist". Settings only apply to new chats β start a fresh conversation after toggling.
Config
In Claude Desktop, Settings β Developer β Edit Config opens claude_desktop_config.json at:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonMerge the mcpServers block alongside any existing config:
Save β fully quit Claude Desktop (Cmd+Q / right-click tray β Quit) β relaunch. First launch may take 10β30s while npx downloads mcp-remote.
Notes
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gemina-filetag)<a href="https://allmcps.com/mcp/gemina-filetag"><img src="https://allmcps.com/api/badge/gemina-filetag?style=directory" alt="Gemina FileTag on AllMCPs" /></a>