netcafe-docs
Statements, invoices, tables, ledgers — every result carries its own arithmetic proof.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (11)
- HIGH
- MEDIUMin redact_text
- MEDIUMin transcribe_audio
- MEDIUMin convert_to_pdf
- MEDIUMin check_job
- LOWin redact_text
- LOWin pdf_watermark
- LOWin xlsx_to_pdf
- LOWin pptx_to_pdf
- LOWin meeting_pack
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"netcafe-docs": {
"url": "https://ainetcafe.com/mcp/docs?s=registry"
}
}
}Remote-Endpunkte
https://ainetcafe.com/mcp/docs?s=registrystreamable-httpWas es kann
Tool-Inventar
Tools (23)
🟢what_can_you_do(task)
Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready-to-run example calls — instead of reading the whole catalogue and guessing. Also returns multi-step recipes when a task needs several tools chained (invoices to a ledger, a bank statement reconciled, a messy CSV turned into a deliverable). Deterministic and free: it calls no model, costs nothing, and never runs out of quota. Call this FIRST when you are not sure what this server offers.
Eingabe-Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "What you are trying to do, e.g. \"reconcile a bank statement against my books\" or \"把一堆发票整理成能入账的表格\""
}
},
"required": [
"task"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢redact_text(text, only)
Strip emails, phone numbers, ID numbers, API keys, private keys, JWTs, card numbers and IPs out of text, returning the redacted text plus a mapping table to restore them afterwards. Rule-based only — no model sees the input. The same value always maps to the same placeholder, so the answer can be restored.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to redact."
},
"only": {
"type": "string",
"description": "Optional comma-separated subset, e.g. \"EMAIL,API_KEY,PRIVATE_KEY\"."
}
},
"required": [
"text"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢csv_to_qbo(csv, url, account_id, bank_id, currency)
Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount columns (or debit + credit). Pairs with extract_statement: statement PDF in, importable bank feed out.
Eingabe-Schema
{
"type": "object",
"properties": {
"csv": {
"type": "string",
"description": "CSV content with a header row."
},
"url": {
"type": "string",
"description": "Or a link to the CSV."
},
"account_id": {
"type": "string",
"description": "Your account number as the accounting software expects it."
},
"bank_id": {
"type": "string",
"description": "Routing / bank identifier, if your import asks for one."
},
"currency": {
"type": "string",
"description": "Three-letter currency code, default USD."
}
},
"required": []
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢check_resume(url)
Check a resume (PDF or .docx) the way an applicant tracking system reads it: is the text extractable, are email/phone/sections findable, do multi-column layouts, tables or emoji break parsing. Returns a score plus concrete fixes ordered by impact — like the W3C validator, but for resumes.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the resume (PDF or .docx)."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢pdf_to_markdown(url)
Convert a PDF (or a scanned page image) into clean Markdown that keeps headings, lists and tables, and puts multi-column pages in the right reading order. Text-layer PDFs are read exactly and cost far less; images go through a vision model.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the PDF, or of a page image (png/jpg) for scanned documents."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢extract_tables(url, fields)
Extract tables from a PDF into structured rows (JSON + CSV). Pass fields to force a fixed set of columns — that aligns a pile of documents that each name their headers differently into one consistent table. Rows the model was unsure about are flagged rather than guessed. Text-layer PDFs only.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the PDF."
},
"fields": {
"type": "string",
"description": "Optional comma-separated target columns, e.g. \"invoice_no,supplier,date,amount\". Omit to infer from the header."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢extract_statement(url)
Turn a bank statement or transaction PDF into a clean transaction table (JSON + CSV), then cross-check it: opening + credits - debits must equal the stated closing balance. If it does not balance you get the exact difference and which row the running balance first breaks at — so you know whether the table is safe to use for accounting. Text-layer PDFs only (scanned images not yet supported).
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the statement PDF."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢extract_invoices(urls)
Give it up to 20 invoice URLs (PDF or page images) and get back one table ready to post: number, date, seller, buyer, net / tax / gross, currency. Every row is checked in code — net + tax must equal gross — and the batch total is re-added independently, so a row the model misread is flagged with the exact difference instead of quietly landing in your books. Mixed currencies get no batch total on purpose: adding them together would be an accounting error. CSV is UTF-8 with BOM so Excel opens it right.
Eingabe-Schema
{
"type": "object",
"properties": {
"urls": {
"type": "string",
"description": "Invoice URLs — comma-separated, or pass an array. Up to 20 per call."
}
},
"required": [
"urls"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢pdf_add_page_numbers(url, style, start_at, skip_first, position, ...)
Stamp page numbers or footer text onto every page of a PDF. Supports a starting number, roman numerals, skipping a cover page, position and font size — the combination Acrobat cannot do without scripting. Template supports {n} and {total}, e.g. "Page {n} of {total}".
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the PDF."
},
"style": {
"type": "string",
"description": "arabic (default) | roman (i, ii, iii) | ROMAN (I, II, III)"
},
"start_at": {
"type": "integer",
"description": "Number to start from (default 1)."
},
"skip_first": {
"type": "integer",
"description": "Leave this many leading pages unnumbered, e.g. 1 for a cover."
},
"position": {
"type": "string",
"description": "bottom-center (default) | bottom-left | bottom-right | top-center | top-left | top-right"
},
"text": {
"type": "string",
"description": "Template, default \"{n}\". Use {n} and {total}."
},
"font_size": {
"type": "integer",
"description": "Font size, default 10."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢fix_csv_encoding(url, text)
Detect the real encoding of a CSV (GB18030, Shift-JIS, Windows-1252…), repair mojibake (UTF-8 that was read as Latin-1, e.g. "é"), and re-emit UTF-8 with a BOM so Excel opens it correctly.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the CSV."
},
"text": {
"type": "string",
"description": "Or paste the CSV content directly."
}
},
"required": []
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢transcribe_audio(url, language)
Fetch an audio file from a URL and transcribe it to text with open-source Whisper (100 languages, self-hosted). Good for voice memos, podcast clips and meeting recordings up to ~15 MB. Example — GET https://ainetcafe.com/t/transcribe_audio?url=<public-audio-url>
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the audio file (mp3/wav/m4a/ogg, ≤15 MB)."
},
"language": {
"type": "string",
"description": "Hint language code like \"zh\", \"en\"; default auto-detect."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢convert_to_pdf(url, html)
Print-quality PDF from a URL or raw HTML via self-hosted Gotenberg (headless Chromium). Returns a hosted PDF download URL. Example — GET https://ainetcafe.com/t/convert_to_pdf?url=https://example.com
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Page URL to convert (either url or html is required)."
},
"html": {
"type": "string",
"description": "Raw HTML to convert (alternative to url)."
}
}
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢deep_research(topic, depth)
Start an autonomous web research task. The agent plans sub-questions, searches the web, reads the sources and writes a report with citations — this is real research, not a single model call, and takes 2-5 minutes. Returns a job_id immediately; poll check_job to get the report. Use this when you need sourced, current information rather than what a model already knows. Powered by gpt-researcher (29k stars) hosted at AI NetCafé. Example — tools/call deep_research {"topic":"State of MCP adoption in 2026?"} → poll check_job
Eingabe-Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The research question. Phrase it as a question, not a keyword."
},
"depth": {
"type": "string",
"enum": [
"quick",
"standard"
],
"description": "quick = outline only (~1 min); standard = full cited report (~3 min). Default standard."
}
},
"required": [
"topic"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"status": {
"type": "string"
},
"poll_interval_seconds": {
"type": "integer"
}
},
"required": [
"job_id",
"status"
]
}🟢check_job(job_id)
Get the status or result of a job started by deep_research, translate_pdf, or make_slides. Poll every 15-30 seconds until status is "done" or "error". While work is pending, follow retry_after_seconds and next_action; when complete, prefer structured_result when present. Example — GET https://ainetcafe.com/t/check_job?job_id=<id-from-a-job-tool>
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned when the task was started."
}
},
"required": [
"job_id"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"status": {
"type": "string"
},
"is_terminal": {
"type": "boolean"
},
"retry_after_seconds": {
"type": "integer"
},
"next_action": {
"type": [
"object",
"null"
]
},
"result": {},
"structured_result": {},
"error": {
"type": "string"
}
},
"required": [
"job_id",
"status"
]
}🟢translate_pdf(url, lang_to, pages)
Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators that flatten the document. Returns a job_id; poll check_job for the download links (translated-only and bilingual side-by-side). Typically 20-60 seconds for a few pages. Powered by PDFMathTranslate (36k stars) hosted at AI NetCafé. Example — tools/call translate_pdf {"url":"<pdf-url>","target":"zh"} → poll check_job
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Direct URL to the PDF (e.g. an arXiv PDF link)."
},
"lang_to": {
"type": "string",
"description": "Target language, e.g. \"Simplified Chinese\", \"Japanese\". Default Simplified Chinese."
},
"pages": {
"type": "string",
"enum": [
"first",
"first5",
"all"
],
"description": "How much to translate. first = 1 page, first5 = first 5 pages (default), all = whole document (slow and expensive)."
}
},
"required": [
"url"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"status": {
"type": "string"
},
"poll_interval_seconds": {
"type": "integer"
}
},
"required": [
"job_id",
"status"
]
}🟢make_slides(topic, slides, language, instructions)
Turn a topic or an outline into a real downloadable .pptx file — not a link into someone's web editor. Returns a job_id; poll check_job for the download URL. Usually 1-3 minutes. Powered by Presenton (open source) hosted at AI NetCafé. Example — tools/call make_slides {"topic":"Q3 review","slides":8} → poll check_job
Eingabe-Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic, or a full outline to follow."
},
"slides": {
"type": "integer",
"description": "Number of slides (default 8)."
},
"language": {
"type": "string",
"description": "Output language, e.g. \"Chinese\", \"English\". Default Chinese."
},
"instructions": {
"type": "string",
"description": "Optional extra guidance on style or emphasis."
}
},
"required": [
"topic"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"status": {
"type": "string"
},
"poll_interval_seconds": {
"type": "integer"
}
},
"required": [
"job_id",
"status"
]
}🟢pdf_page_count(url)
Count pages and report each page size of a PDF (by URL).
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪pdf_watermark(text, url)
Stamp diagonal text watermark on every page of a PDF (by URL). text = the watermark.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"url": {}
},
"additionalProperties": true
}⚪xlsx_to_pdf(url)
Excel .xlsx (by URL) → PDF.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪pptx_to_pdf(url)
PowerPoint .pptx (by URL) → PDF handout.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪webpage_to_docx(url)
Any article URL → Word .docx (rendered page → clean document).
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪meeting_pack(url, audio)
会议录音 → 纪要包 PDF:转写、要点、决议、待办。纪要里点名的负责人会与转写原文比对 —— 把任务安排给一个从没在录音里出现过的人,报告会判不通过。入参 url(音频直链)。自证不通过不计费。
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"audio": {}
},
"additionalProperties": true
}⚪doc_translate_cn(text, url, target)
文档翻译成中文,保留段落结构。逐段翻译并核对段落条数进出一致 —— 漏译最常见的形态就是整段消失,这里会当场发现。入参 url(文档链接)或 text,可选 target(默认 zh)。自证不通过不计费。
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"url": {},
"target": {
"type": "string"
}
},
"additionalProperties": true
}Community
Nachweis