netcafe-docs

Statements, invoices, tables, ledgers — every result carries its own arithmetic proof.

Sollte ich dies verwenden

Qualität und Sicherheit

B
Qualität der Beschreibung
93%
Vollständigkeit des Schemas
85%
Qualität der Benennung
83%
Risiko der Vergiftung
20%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (11)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'redact_text' description contains placeholder textin redact_text
  • MEDIUMTool description contains URL to non-standard domainin transcribe_audio
  • MEDIUMTool description contains URL to non-standard domainin convert_to_pdf
  • MEDIUMTool description contains URL to non-standard domainin check_job
  • LOWTool 'redact_text' description lacks action verbin redact_text
  • LOWTool 'pdf_watermark' description lacks action verbin pdf_watermark
  • LOWTool 'xlsx_to_pdf' description lacks action verbin xlsx_to_pdf
  • LOWTool 'pptx_to_pdf' description lacks action verbin pptx_to_pdf
  • LOWTool 'meeting_pack' description lacks action verbin meeting_pack

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,850Tokens (Tool-Definitionen)
~828 BTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.01% von 128k Kontext)

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-http

Was es kann

Tool-Inventar

Tools (23)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet23 Tools
verifiziertVersion nicht aufgezeichnet23 Tools