netcafe-docs
Statements, invoices, tables, ledgers — every result carries its own arithmetic proof.
使うべきか
品質と安全性
検出事項(11)
- HIGH
- MEDIUMredact_text 内
- MEDIUMtranscribe_audio 内
- MEDIUMconvert_to_pdf 内
- MEDIUMcheck_job 内
- LOWredact_text 内
- LOWpdf_watermark 内
- LOWxlsx_to_pdf 内
- LOWpptx_to_pdf 内
- LOWmeeting_pack 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"netcafe-docs": {
"url": "https://ainetcafe.com/mcp/docs?s=registry"
}
}
}リモートエンドポイント
https://ainetcafe.com/mcp/docs?s=registrystreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"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": []
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the resume (PDF or .docx)."
}
},
"required": [
"url"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the PDF, or of a page image (png/jpg) for scanned documents."
}
},
"required": [
"url"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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).
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the statement PDF."
}
},
"required": [
"url"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"urls": {
"type": "string",
"description": "Invoice URLs — comma-separated, or pass an array. Up to 20 per call."
}
},
"required": [
"urls"
]
}出力スキーマ
{
"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}".
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL of the CSV."
},
"text": {
"type": "string",
"description": "Or paste the CSV content directly."
}
},
"required": []
}出力スキーマ
{
"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>
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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
入力スキーマ
{
"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)."
}
}
}出力スキーマ
{
"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
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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>
入力スキーマ
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned when the task was started."
}
},
"required": [
"job_id"
]
}出力スキーマ
{
"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
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"url": {}
},
"additionalProperties": true
}⚪xlsx_to_pdf(url)
Excel .xlsx (by URL) → PDF.
入力スキーマ
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪pptx_to_pdf(url)
PowerPoint .pptx (by URL) → PDF handout.
入力スキーマ
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪webpage_to_docx(url)
Any article URL → Word .docx (rendered page → clean document).
入力スキーマ
{
"type": "object",
"properties": {
"url": {}
},
"additionalProperties": true
}⚪meeting_pack(url, audio)
会议录音 → 纪要包 PDF:转写、要点、决议、待办。纪要里点名的负责人会与转写原文比对 —— 把任务安排给一个从没在录音里出现过的人,报告会判不通过。入参 url(音频直链)。自证不通过不计费。
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"audio": {}
},
"additionalProperties": true
}⚪doc_translate_cn(text, url, target)
文档翻译成中文,保留段落结构。逐段翻译并核对段落条数进出一致 —— 漏译最常见的形态就是整段消失,这里会当场发现。入参 url(文档链接)或 text,可选 target(默认 zh)。自证不通过不计费。
入力スキーマ
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"url": {},
"target": {
"type": "string"
}
},
"additionalProperties": true
}コミュニティ
エビデンス