Gemina

co.gemina由 gemina.co 发布官方发布者v2.1.0更新于 Oct 24, 2026

Extract, search and tag any document: invoices, receipts, contracts, templates. OAuth or API key.

已验证Streamable HTTP可网页运行文件与存储知识与记忆数据与分析

概览

AI 生成的概览

Gemina 是一个托管式 MCP 服务器,让助手为发票、收据、合同等 PDF 和图片打标签、抽取字段,并进行搜索和汇总统计。

可以做什么
上传文档并打标签:获取结构化元数据、六个建议文件名,以及内嵌元数据的副本;也可由服务端抓取公开 URL 直接打标签,文件内容不经过模型上下文。抽取字段:使用现成的发票抬头与行项目模型、纯 OCR 或自定义模板,并可轮询结果、列出历史抽取、按 ID 获取文档及其全部抽取、对已存文档追加抽取类型,以及回传修正值作为反馈。检索与汇总已索引档案:结构化、语义或混合查询,按供应商、币种、类型或月份分组求和、平均和计数。对修正后的文档重新建立索引或补建索引。
适用场景
适合发票和收据录入、批量整理与重命名文档目录、分拣邮件附件,以及在不重新上传的情况下对已有文档档案提问或统计支出。也适合在 RAG 入库前为文档补充供应商、日期和类型元数据。
运行要求
远程 Streamable HTTP 端点,本地无需运行任何程序。需要 Gemina 账户并通过 OAuth 2.1 登录,无头客户端则使用 X-API-Key 请求头。需能访问该端点以及提供增强文件链接的存储主机。部分客户端需要额外步骤或无法登录;免费额度为每月 1,500 次 FileTag 标签。
安装前请注意
文档会上传到 Gemina 的服务器,发送敏感文件前请考虑数据驻留与保留策略;默认上传后 7 天内删除。抽取和文档智能工具需要付费套餐,并按抽取次数计费。X-API-Key 属于机密,避免放在可能被进程列表看到的命令行参数中。打标签和抽取会向账户写入数据,并将文档加入索引供后续检索。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Gemina,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/co.gemina%2Fgemina/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "gemina": {
      "type": "http",
      "url": "https://api.gemina.co/api/v1/mcp/"
    }
  }
}

README

[Gemina]

Gemina — MCP server

Tag, extract, and search your documents from any MCP client. Free tier: 1,500 FileTag tags/month, no credit card.

[License: MIT] [Free tier] [MCP] [Last commit]

Install • Examples • Product page • Full docs


What is this?

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.

What you get

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.

Sample: FileTag output (click to expand)
json
{  "document_id": "abc-123",  "suggested_filename": "2026-02-15_Acme-Corp_Invoice_12345.pdf",  "metadata": {    "document_type": "invoice",    "vendor": "Acme Corp",    "date": "2026-02-15",    "amount": 7200,    "currency": "ILS",    "document_number": "12345",    "title": "Invoice",    "tags": ["vendor", "invoice"]  },  "filename_patterns": {    "date_first": "2026-02-15_Invoice_12345.pdf",    "type_first": "Invoice_12345_2026-02-15.pdf",    "vendor_first": "Acme-Corp_Invoice_2026-02-15.pdf",    "date_vendor": "2026-02-15_Acme-Corp.pdf",    "vendor_date": "Acme-Corp_2026-02-15.pdf",    "compact": "Acme-Corp_Invoice.pdf"  },  "enriched_file_url": "https://api.gemina.co/files/tmp_abc123.pdf",  "enriched_file_expires_at": "2026-02-15T12:15:00Z"}
Sample: extraction output (abridged — extract_document with invoice_headers)
json
{  "status": "success",  "meta": { "extractionType": "invoice_headers", "modelType": "invictus", "extractionId": "…" },  "values": {    "vendorName":   { "value": "Acme Office Supplies Ltd.", "confidence": 0.98 },    "documentDate": { "value": "2026-02-15" },    "docNumber":    { "value": "12345" },    "netAmount":    { "value": 692.31 },    "vatAmount":    { "value": 117.69 },    "totalAmount":  { "value": 810.00 },    "currency":     { "value": "USD" }  },  "document": { "documentId": "…", "externalId": "your-idempotency-key" }}

With custom_template, values contains exactly the fields you defined in the template.

Sample: Document Intelligence (abridged — aggregate_documents)
json
{  "rows": [    { "group": { "vendor_name": "Acme Office Supplies Ltd.", "currency": "USD" }, "values": { "sum_total_amount": 810.0, "count": 1 } },    { "group": { "vendor_name": "BluePeak Cafe",            "currency": "USD" }, "values": { "sum_total_amount": 26.19, "count": 1 } }  ]}

Quick install

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)

How OAuth sign-in works (click to expand)
  • Clients discover the authorization server from the MCP URL via RFC 9728 (protected-resource metadata) and RFC 8414 (authorization-server metadata):
    • https://api.gemina.co/.well-known/oauth-protected-resource/api/v1/mcp
    • https://api.gemina.co/.well-known/oauth-authorization-server/api/v1/mcp
  • Dynamic Client Registration (DCR) and Client ID Metadata Documents (CIMD) are both supported — no pre-registration, no client ID/secret to paste.
  • Scope: mcp. Access tokens last 1 hour; refresh tokens rotate and last 30 days.
  • Each connected app gets its own API key named <app> (OAuth). See and revoke them under Console → API Keys → Connected apps at https://console.gemina.co.
  • Most hosts need nothing beyond the URL. Three need an explicit second step — Codex CLI, OpenClaw and Hermes-Agent (see their sections) — and three can't sign in at all: Cline (no documented OAuth for remote servers as of 2026-08-27), curl and the OpenAI Responses API (no browser). ChatGPT is the mirror case: it signs in, but cannot send an API key.
Claude Desktop / claude.ai

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.

text
URL: https://api.gemina.co/api/v1/mcp/
1. Customize → Connectors2. Add → Add custom connector3. Paste the URL4. Sign in

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

  1. Node.js 18+ — install from nodejs.org (Windows: ensure "Add to PATH" stays checked; macOS/Linux: standard installer).

  2. Claude Desktop capabilities — open Settings → Capabilities and turn on:

    • Code execution and file creation
    • Allow network egress
    • Domain allowlist: All domains (or add 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:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Merge the mcpServers block alongside any existing config:

json
{  "mcpServers": {    "gemina": {      "command": "npx",      "args": [        "-y",        "mcp-remote",        "https://api.gemina.co/api/v1/mcp/",        "--header",        "X-API-Key:${GEMINA_API_KEY}"      ],      "env": {        "GEMINA_API_KEY": "<paste-your-key-here>"      }    }  }}

Save → fully quit Claude Desktop (Cmd+Q / right-click tray → Quit) → relaunch. First launch may take 10–30s while npx downloads mcp-remote.

Notes

  • No space after X-API-Key: in the --header arg — it's the documented workaround for npx's shell-split parsing.
  • The env-var indirection (${GEMINA_API_KEY}) keeps the literal key out of args, where it could leak via process listings.
  • Windows + spawn npx ENOENT: Claude Desktop doesn't inherit your shell's PATH. Replace "command": "npx" with the absolute path from where npx in PowerShell (forward slashes work in JSON), e.g. "C:/Program Files/nodejs/npx.cmd".
Claude Code (CLI)

OAuth (default): register the server, then run /mcp and sign in — Claude Code opens the Gemina sign-in in your browser.

bash
claude mcp add --transport http gemina https://api.gemina.co/api/v1/mcp/# then run /mcp and sign in

Inside Claude Code: /mcp → select gemina → Authenticate → sign in with your Gemina account in the browser → approve the consent page.

API key (headless):

bash
claude mcp add --transport http gemina https://api.gemina.co/api/v1/mcp/ \  --header "X-API-Key: <paste-your-key-here>"
Cursor

File: ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). Cursor registers itself dynamically and opens your browser on the first 401 — no client ID or secret in the file.

OAuth (default):

json
{  "mcpServers": {    "gemina": {      "url": "https://api.gemina.co/api/v1/mcp/"    }  }}

API key (headless):

json
{  "mcpServers": {    "gemina": {      "url": "https://api.gemina.co/api/v1/mcp/",      "headers": {        "X-API-Key": "<paste-your-key-here>"      }    }  }}
VS Code

File: .vscode/mcp.json (per workspace), or run MCP: Open User Configuration from the Command Palette for all of them. VS Code registers dynamically and opens a browser on first connection; confirm the trust prompt, then find the account under Accounts → Manage Trusted MCP Servers.

OAuth (default):

json
{  "servers": {    "gemina": {      "type": "http",      "url": "https://api.gemina.co/api/v1/mcp/"    }  }}

API key (headless):

json
{  "servers": {    "gemina": {      "type": "http",      "url": "https://api.gemina.co/api/v1/mcp/",      "headers": {        "X-API-Key": "<paste-your-key-here>"      }    }  }}
Cline

In Cline's MCP settings (gear icon → MCP Servers → Edit Config), add:

OAuth (default):

Cline is API-key only. As of 2026-08-27 Cline has no documented OAuth path for remote MCP servers — its MCP docs never mention OAuth, and the one release note that does (v4.1.7) names the legacy SSE transport, not streamableHttp. Use the API-key form below.

API key (headless):

json
{  "mcpServers": {    "gemina": {      "type": "streamableHttp",      "url": "https://api.gemina.co/api/v1/mcp/",      "headers": {        "X-API-Key": "<paste-your-key-here>"      }    }  }}
Windsurf

File: ~/.codeium/windsurf/mcp_config.json, or the MCPs icon in the Cascade panel. Remote servers take serverUrl (url also works), then reload the MCP list. Now shipped as Devin Desktop — the Windsurf docs redirect there.

The docs say Cascade "supports OAuth for each transport type" but describe no explicit sign-in step, so if no browser prompt appears, use the API-key form.

OAuth (default):

json
{  "mcpServers": {    "gemina": {      "serverUrl": "https://api.gemina.co/api/v1/mcp/"    }  }}

API key (headless):

json
{  "mcpServers": {    "gemina": {      "serverUrl": "https://api.gemina.co/api/v1/mcp/",      "headers": {        "X-API-Key": "<paste-your-key-here>"      }    }  }}
Codex CLI

OAuth (default):

bash
codex mcp add gemina --url https://api.gemina.co/api/v1/mcp/codex mcp login gemina

codex mcp add detects OAuth on the URL and usually starts the browser sign-in by itself; codex mcp login is the documented guarantee. Do not paste a bare [mcp_servers.gemina] block for OAuth — Codex will connect to the server unauthenticated and every tool call fails. Verified against codex-cli 0.150.1 on 2026-08-27.

For the API-key lane, append to ~/.codex/config.toml:

API key (headless):

toml
[mcp_servers.gemina]url = "https://api.gemina.co/api/v1/mcp/"http_headers = { "X-API-Key" = "<paste-your-key-here>" }
OpenClaw

OAuth (default):

bash
openclaw mcp set gemina '{"url":"https://api.gemina.co/api/v1/mcp/","transport":"streamable-http","auth":"oauth"}'openclaw mcp login gemina

Both lines are required. mcp set stores the server with auth: "oauth"; mcp login runs the flow — OpenClaw does not start OAuth off a 401 on its own. On a headless box, pass the code back with openclaw mcp login gemina --code <code>, and check it with openclaw mcp doctor gemina --probe.

API key (headless):

bash
openclaw mcp set gemina '{"url":"https://api.gemina.co/api/v1/mcp/","transport":"streamable-http","headers":{"X-API-Key":"<paste-your-key-here>"}}'
Hermes-Agent

Append under mcp_servers in ~/.hermes/config.yaml:

OAuth (default):

yaml
mcp_servers:  gemina:    url: "https://api.gemina.co/api/v1/mcp/"    auth: oauth

Then run hermes mcp login gemina from a fresh terminal, not inside a live session — the in-session config reload times out at 30s, too short for a browser sign-in. The auth: oauth line is what turns OAuth on; Hermes never infers it from a 401.

API key (headless):

yaml
mcp_servers:  gemina:    url: "https://api.gemina.co/api/v1/mcp/"    headers:      X-API-Key: "<paste-your-key-here>"
Grok

xAI's coding agent. Install with curl -fsSL https://x.ai/cli/install.sh | bash. OAuth triggers a browser flow on first use; tokens cache in ~/.grok/mcp_credentials.json. On grok.com instead: Connectors → New Connector → Custom, paste the URL.

OAuth (default):

bash
grok mcp add --transport http gemina https://api.gemina.co/api/v1/mcp/

API key (headless):

bash
grok mcp add --transport http gemina https://api.gemina.co/api/v1/mcp/ \  --header "X-API-Key: <paste-your-key-here>"
Gemini CLI

Google's terminal agent. Add -s user to install Gemina for every project. Nothing to configure for OAuth — the default dynamic_discovery provider registers itself off the 401 and opens your browser; tokens cache in ~/.gemini/mcp-oauth-tokens.json. Re-run the sign-in with /mcp auth gemina.

OAuth (default):

bash
gemini mcp add --transport http gemina https://api.gemina.co/api/v1/mcp/

API key (headless):

bash
gemini mcp add --transport http \  --header "X-API-Key: <paste-your-key-here>" \  gemina https://api.gemina.co/api/v1/mcp/
n8n

Workflow automation, cloud or self-hosted. Use the MCP Client Tool node under an AI Agent, or MCP Client for a plain workflow step. For OAuth, create an MCP OAuth2 API credential and leave Dynamic Client Registration on with Resource URL empty — n8n registers itself with Gemina. Needs MCP Client Tool node v1.2 or later.

OAuth (default):

text
URL: https://api.gemina.co/api/v1/mcp/
1. Add the MCP Client Tool node (under an AI Agent), or MCP Client for a plain step2. MCP Endpoint URL: paste the URL above3. Server Transport: HTTP Streamable4. Authentication: MCP OAuth25. Credentials -> create an "MCP OAuth2 API" credential; leave Dynamic Client   Registration on and Resource URL empty6. Click sign in, approve Gemina in the browser, then set Tools to Include

API key (headless):

text
URL: https://api.gemina.co/api/v1/mcp/
1. Add the MCP Client Tool node (under an AI Agent), or MCP Client for a plain step2. MCP Endpoint URL: paste the URL above3. Server Transport: HTTP Streamable4. Authentication: Header Auth -> Name: X-API-Key, Value: <paste-your-key-here>5. Set Tools to Include (All, or a subset)
Copilot Studio

Microsoft's agent builder — a browser wizard, no config file. Dynamic discovery is the right lane: Gemina publishes DCR and the discovery documents, so no client ID, secret or endpoint URL has to be typed. Copilot Studio supports the Streamable transport only. MCP access flows through Power Platform connectors, so tenant DLP policies apply.

OAuth (default):

text
URL: https://api.gemina.co/api/v1/mcp/
1. In your agent: Tools -> Add a tool -> New tool -> Model Context Protocol2. Server name: Gemina3. Server URL: paste the URL above4. Authentication: OAuth 2.0 -> Type: Dynamic discovery5. Create -> Create a new connection -> Add to agent

API key (headless):

text
URL: https://api.gemina.co/api/v1/mcp/
1. In your agent: Tools -> Add a tool -> New tool -> Model Context Protocol2. Server name: Gemina3. Server URL: paste the URL above4. Authentication: API key -> Type: Header -> Name: X-API-Key5. Create -> Create a new connection (paste <paste-your-key-here>) -> Add to agent
Zapier

Connects Gemina's tools to 8,000+ apps through the MCP Client app (Beta). A connection form, not a config file.

Bearer only. Zapier has no custom-header field, so the key goes in the Bearer Token box — Gemina accepts it as Authorization: Bearer. There is no X-API-Key lane here.

OAuth (default):

text
URL: https://api.gemina.co/api/v1/mcp/
1. Apps -> + Add connection -> MCP Client -> Add connection2. Server URL: paste the URL above3. Transport: Streamable HTTP4. OAuth: Yes (leave Bearer Token blank)5. Continue, then sign in to Gemina in the tab that opens

API key (headless):

text
URL: https://api.gemina.co/api/v1/mcp/
1. Apps -> + Add connection -> MCP Client -> Add connection2. Server URL: paste the URL above3. Transport: Streamable HTTP4. OAuth: No5. Bearer Token: <paste-your-key-here>
ChatGPT

Add Gemina as a custom MCP app in ChatGPT on the web. Needs Developer mode and a Pro, Plus, Business, Enterprise or Edu account.

OAuth only. ChatGPT cannot send a custom header or an API key to a remote MCP server, so there is no headless lane here — sign in instead, or use Codex CLI if you need a specific key.

Setup steps:

text
URL: https://api.gemina.co/api/v1/mcp/
1. Settings -> Security and login -> turn on Developer mode2. Go to chatgpt.com/plugins and select +3. Name it "Gemina" and paste the URL above under Connection4. Create, then sign in to Gemina when ChatGPT prompts
OpenAI Responses API

For embedding Gemina in your own product: one tool entry turns the whole Gemina surface into an OpenAI-side capability.

API key only. This is a server-side lane with no browser, so there is no OAuth sign-in to run — the API forwards a credential you already hold.

API key:

bash
curl https://api.openai.com/v1/responses \  -H "Content-Type: application/json" \  -H "Authorization: Bearer $OPENAI_API_KEY" \  -d '{    "model": "gpt-5.6",    "input": "Extract the totals from the invoice I uploaded.",    "tools": [{      "type": "mcp",      "server_label": "gemina",      "server_url": "https://api.gemina.co/api/v1/mcp/",      "headers": { "X-API-Key": "<paste-your-key-here>" },      "require_approval": "never"    }]  }'

For the full machine-readable install guide (used by agents), see llms-install.md.

Free tier

Free tier: 1,500 FileTag tags per month. No credit card required. Sign up at gemina.co/filetag, then sign in from your MCP client — or grab an API key for headless use. The same key works for both MCP and the REST API.

Need more? Paid plans add larger monthly allowances, the extraction and document-intelligence tools, configurable data residency, and longer retention. See pricing.

Tools

One endpoint, 13 tools in three groups, plus 2 prompts. Every tool is listed for every key; the extraction and document-intelligence groups require a paid plan (see pricing). Anonymous discovery (tools/list, prompts/list) is available at https://api.gemina.co/api/v1/mcp/public/.

FileTag (free tier)

ToolWhat it does
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.

Extraction (Core-OCR)

ToolWhat it does
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 recommended for new work). Model choice is a recommendation, not a rule: velox for headers, invictus with thinking for line items.
get_extraction_resultPoll an asynchronous extraction by meta.correlationId.
list_extractionsList past extractions, newest first, with filters and pagination.
get_extractionFetch one extraction by id, including the full extracted data.
get_documentFetch one document by id, including all of its extractions.
add_document_extractionsRun more extraction types on a document Gemina already stores (by id) — no re-upload; paid per extraction. Two modes: wait for the values (default), or wait=false to file the document for later search and return at once.
submit_extraction_feedbackSend verified/corrected field values back — the extraction-quality feedback loop.

Document Intelligence

ToolWhat it does
query_documentsSearch your indexed documents: structured filters, semantic similarity, or hybrid (best default).
aggregate_documentsSums/averages/min/max/counts over indexed documents, grouped by vendor, currency, type, month, and more.
index_document(Re)index one document into the searchable index — after corrections or to backfill.

Prompts: explain_filename_patterns (the six filename patterns and when to use each) · explain_upload_flow (files_create_upload → PUT → tag_file).

The full reference for each group is in llms-install.md.

Use cases

Use caseToolsExample
🧾 Invoice / receipt data entryextract_document (invoice_headers, invoice_line_items) → your accounting, ERP or spreadsheetexamples/bulk-tag-folder
📄 Any document, your fieldsextract_document with a custom_template (contracts, forms, statements, delivery notes, IDs)— define the template in the console
📊 Questions over your archivequery_documents, aggregate_documents ("total spend with vendor X in Q2")—
📥 Email attachment triageFileTag: tag inbound attachments, route to folders by vendor/typeexamples/gmail-attachment-triage
🔍 RAG ingestionFileTag metadata on vector-store entries so retrieval can filter by vendor, date, typeexamples/llamaindex-reader · examples/langchain-loader
📁 Bulk document filingFileTag: walk a directory, rename every file to a consistent patternexamples/bulk-tag-folder
⚡ Quickstart (curl)First tag in three minutes, no MCP client neededexamples/curl-quickstart
🖥️ Claude Desktop walkthroughStep-by-step setup with screenshotsexamples/claude-desktop

Why Gemina, not a raw LLM call?

A naive "ask the model to read this PDF" pipeline breaks in production: hallucinated vendor names, inconsistent dates, no stable schema, no line-item arithmetic, no feedback loop, nothing to search afterwards.

Raw LLMGemina
Structured outputFree text, requires parsingStable JSON schema per extraction type, or your own template fields
Line itemsRows guessed from textColumn-aware line-item extraction with totals reconciliation
HallucinationsFrequentCross-checked, refuses when unsure; corrections fed back with submit_extraction_feedback
Search & totalsBuild your own indexEvery extraction indexed; query_documents / aggregate_documents
FilingDIYSix filename patterns + metadata-embedded copy (FileTag)
Data residencyWherever the model runsYou pick the region per account: EU, US, Israel or Asia
Cost$$ per callFree tier: first 1,500 FileTag tags/month

Privacy & trust

  • No model training. Your documents are never used to train AI models — Gemina's or anyone else's.
  • 7-day deletion. Files are deleted within 7 days of upload (configurable per plan).
  • Encryption. AES-256 at rest, TLS 1.3 in transit.
  • Compliance. GDPR and CCPA compliant. Configurable data residency on paid plans.

Full details on the Gemina Trust Center.

Documentation

Community & support

For aggregators and directory listings

The Dockerfile at the repo root is not for end users. It exists so directory operators (e.g. Glama's /mcp/servers/ tier) can build a container that introspects the public tool surface without provisioning credentials. The container runs mcp-remote against https://api.gemina.co/api/v1/mcp/public/ — a read-only discovery endpoint that serves initialize / tools/list / prompts/list to anonymous callers but refuses tools/call. End users should follow the Quick install section above and connect to the authenticated endpoint by signing in (or with their personal API key).

Contributing

Examples PRs welcome — see CONTRIBUTING.md. The server itself is closed-source, so PRs that touch the actual MCP server logic will be declined, but bug reports against the live server are very welcome.

License

The contents of this repository — install snippets, example code, documentation, configuration files, and sample assets — are released under the MIT License.

The Gemina MCP server itself is a hosted closed-source service operated by Gemina (https://gemina.co) and is not covered by this license. Use of the server is governed by Gemina's Terms of Service and Privacy Policy.

来源:README.md,提交 f47ecef

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v2.1.0最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Gemina 集成