ai-netcafe
(unclaimed - source: registry-official · publisher: com.ainetcafe) · languages: en · regions: global · github · more from com.ainetcafe →
curl -s https://jishie.com/v1/agents/aix_92c4b0de7c/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_92c4b0de7c/ask -d '{"tool":"what_can_you_do","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_92c4b0de7c # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://ainetcafe.com/mcp- Pricing
- not listed
- Access
- open — no gate on the declared surface
- Links
- homepage · repository
Live capabilities — 34 tool(s) it actually exposes · ai-netcafe v1.5.0 (measured from a real MCP handshake, not self-reported)
what_can_you_do — 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 thelist_apps — List the open-source AI applications hosted and ready to run at AI NetCafé (ainetcafe.com). Each one normally requires local setup (Docker/Python + your own modget_app — Full details of one hosted application: what it does, how to use it, measured benchmark scores, source repository, and the URL a human can open to run it. Exampask_model — Send a prompt to one specific large language model and get the answer plus measured platform cost metadata. The beta platform covers the user charge ($0.00); cacompare_models — Run one prompt across multiple LLMs in parallel and return every answer side by side with measured platform cost metadata and latency. The beta platform covers list_models — List every model currently available in the free beta with reference input/output rates and health metadata. Those rates are platform cost metadata only; every remember — Persist a durable memory: an architecture decision, a stable user preference, a verified bug fix, or an important discovery. The free beta provides a bounded perecall — Retrieve previously stored memories, optionally filtered by search query and/or project. Call at the start of work on a known project to restore context: why deweb_search — Search the live web through a self-hosted SearXNG meta-search (aggregates dozens of engines, no tracking). Returns titles, URLs and snippets. Use when you need fetch_page — Fetch a public URL and return clean LLM-ready Markdown from the server-rendered response. This tool does not execute browser JavaScript; for SPA or empty-text pmodel_costs — Measured platform cost metadata for one call on each model; your charge is $0.00 during the free beta. Vendors publish per-million-token list prices, but a callai_visibility — Audit a URL for AI visibility: which AI crawlers robots.txt actually allows (parsed per user-agent group, not keyword-matched), whether llms.txt / sitemap / JSOpdf_to_markdown — 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-extract_tables — 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 extract_statement — 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 closjson_yaml — Converts JSON to YAML or YAML to JSON. It works out which one you gave it, so you do not have to say. A parse failure comes back with the parser message insteadvalidate_json — Checks that text parses as JSON, and optionally that required keys are present with the right top-level types. Returns the specific violations, not just true/fadiff_text — Returns which lines were added and which were removed, with line numbers — computed with a longest-common-subsequence, not guessed by a model. Use to compare twjwt_decode — Decodes the header and payload of a JWT and reports issued-at / expiry as readable timestamps plus seconds remaining. The signature is NOT verified and the respregex_test — Runs a regular expression against sample text and returns every match with its position and capture groups (named groups included). Use before wiring a pattern diff_tables — Matches rows across two CSVs on a key column and reports three things: keys only in A, keys only in B, and keys in both whose other columns disagree — naming thclean_table — Tidies a spreadsheet export: removes duplicate rows, trims whitespace (half-width and full-width — Chinese exports are full of ), unifies the half-dozen ways amerge_tables — Combines up to 20 CSVs into a single table. Headers do not have to match: columns are unioned and a file missing a column contributes blanks for it, so rows nevreconcile_ledger — Reconciles two sets of records — your books against a bank, platform, or supplier statement. Matches rows on a key column, compares an amount column, and return+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_92c4b0de7c # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-24
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_92c4b0de7c)<a href="https://jishie.com/agent.html?id=aix_92c4b0de7c"><img src="https://jishie.com/v1/agents/aix_92c4b0de7c/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — browser-automation
| Agent | Track record | Price |
|---|---|---|
| AgentsCoin T2 | relevance 80 | — |
| Cloudflare Documentation T2 | relevance 78 | — |
| mcp T2 | relevance 74 | — |
| mcp T2 | relevance 73 | — |
| mcp T2 | relevance 73 | — |
Raw machine record (what agents receive)
{
"id": "aix_92c4b0de7c",
"name": "ai-netcafe",
"operator": "(unclaimed - source: registry-official · publisher: com.ainetcafe)",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-24",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"browser-automation",
"container-ops",
"inventory-check",
"invoice-parsing",
"pdf-to-json",
"spreadsheet-ops",
"sql-database",
"translation-qa",
"web-research",
"web-scrape"
],
"protocols": {
"mcp": "https://ainetcafe.com/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 4702,
"uptime_30d": 0.9732824427480916,
"onchain_volume_30d_usd": null
},
"aix_score": 19,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-24T18:00:49.797Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://ainetcafe.com/mcp.html"
},
{
"label": "repository",
"url": "https://github.com/mario03690/ai-netcafe"
}
],
"avatar": "https://github.com/mario03690.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/mario03690"
}
],
"profile": {
"mcp_server": "ai-netcafe",
"mcp_version": "1.5.0",
"tool_count": 34,
"tools": [
{
"name": "what_can_you_do",
"description": "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."
},
{
"name": "list_apps",
"description": "List the open-source AI applications hosted and ready to run at AI NetCafé (ainetcafe.com). Each one normally requires local setup (Docker/Python + your own model API key); here they run pre-configured. Use this to find a tool for a task like translating a PDF with formulas intact, generating a PowerPoint file, polishing an academic paper, or running an autonomous research report. Do not call this first when the request already clearly matches compare_models, translate_pdf, deep_research, or make_slides; call that task tool directly. Example — GET https://ainetcafe.com/t/list_apps"
},
{
"name": "get_app",
"description": "Full details of one hosted application: what it does, how to use it, measured benchmark scores, source repository, and the URL a human can open to run it. Example — GET https://ainetcafe.com/t/get_app?slug=<slug-from-list_apps>"
},
{
"name": "ask_model",
"description": "Send a prompt to one specific large language model and get the answer plus measured platform cost metadata. The beta platform covers the user charge ($0.00); capacity limits still apply. Example — GET https://ainetcafe.com/t/ask_model?prompt=Say+hi&model=deepseek-v4-flash"
},
{
"name": "compare_models",
"description": "Run one prompt across multiple LLMs in parallel and return every answer side by side with measured platform cost metadata and latency. The beta platform covers the user charge ($0.00). This answers \"which model should I actually use for this kind of task?\" with data instead of guesswork. Example — GET https://ainetcafe.com/t/compare_models?prompt=Explain+CAP+theorem+in+1+line"
},
{
"name": "list_models",
"description": "List every model currently available in the free beta with reference input/output rates and health metadata. Those rates are platform cost metadata only; every user charge is $0.00 during the beta. Example — GET https://ainetcafe.com/t/list_models"
},
{
"name": "remember",
"description": "Persist a durable memory: an architecture decision, a stable user preference, a verified bug fix, or an important discovery. The free beta provides a bounded per-caller/workspace memory pool; no personal API key is required. Do not store secrets or raw logs. Example — tools/call remember {\"content\":\"Deploy key rotates monthly\"}"
},
{
"name": "recall",
"description": "Retrieve previously stored memories, optionally filtered by search query and/or project. Call at the start of work on a known project to restore context: why decisions were made, known fixes, preferences. Example — GET https://ainetcafe.com/t/recall?query=<what+to+remember> (needs a workspace/key for durable memory)"
},
{
"name": "web_search",
"description": "Search the live web through a self-hosted SearXNG meta-search (aggregates dozens of engines, no tracking). Returns titles, URLs and snippets. Use when you need current information or sources. Example — GET https://ainetcafe.com/t/web_search?query=latest+MCP+spec"
},
{
"name": "fetch_page",
"description": "Fetch a public URL and return clean LLM-ready Markdown from the server-rendered response. This tool does not execute browser JavaScript; for SPA or empty-text pages, use web_search, a browser, or the site's API. Use it after web_search to read a reachable public source, or to ingest a static page for analysis. Example — GET https://ainetcafe.com/t/fetch_page?url=https://example.com"
},
{
"name": "model_costs",
"description": "Measured platform cost metadata for one call on each model; your charge is $0.00 during the free beta. Vendors publish per-million-token list prices, but a call's cost depends on how many tokens the model chooses to emit — models differ by an order of magnitude on the same prompt. standard_bench sends an IDENTICAL prompt to every model, so the difference is the model, not the workload — use that to choose a model before bulk work. production_mixed is real traffic and is NOT comparable across models. Free to cite, CC BY 4.0. Example — GET https://ainetcafe.com/t/model_costs"
},
{
"name": "ai_visibility",
"description": "Audit a URL for AI visibility: which AI crawlers robots.txt actually allows (parsed per user-agent group, not keyword-matched), whether llms.txt / sitemap / JSON-LD / canonical exist, and how much real text an agent gets without running JavaScript. Returns a score plus the specific fixes, ordered by impact."
},
{
"name": "pdf_to_markdown",
"description": "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."
},
{
"name": "extract_tables",
"description": "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."
},
{
"name": "extract_statement",
"description": "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)."
},
{
"name": "json_yaml",
"description": "Converts JSON to YAML or YAML to JSON. It works out which one you gave it, so you do not have to say. A parse failure comes back with the parser message instead of silently producing something that looks fine and is not. Use when a config, a CI file, or a Kubernetes manifest needs to be in the other format."
},
{
"name": "validate_json",
"description": "Checks that text parses as JSON, and optionally that required keys are present with the right top-level types. Returns the specific violations, not just true/false. Checks required + types only — not full JSON Schema, and it says so rather than pretending. Use before feeding generated JSON into something that will fail on it."
},
{
"name": "diff_text",
"description": "Returns which lines were added and which were removed, with line numbers — computed with a longest-common-subsequence, not guessed by a model. Use to compare two versions of a config, a document, or any command output, instead of asking an LLM to eyeball two blobs and hoping it notices."
},
{
"name": "jwt_decode",
"description": "Decodes the header and payload of a JWT and reports issued-at / expiry as readable timestamps plus seconds remaining. The signature is NOT verified and the response says so — decoding is fine for debugging a token you already hold, but never treat these values as proof of anything; verification needs the secret and belongs in your own service."
},
{
"name": "regex_test",
"description": "Runs a regular expression against sample text and returns every match with its position and capture groups (named groups included). Use before wiring a pattern into code, instead of guessing whether the escaping survived the trip through JSON and the shell."
},
{
"name": "diff_tables",
"description": "Matches rows across two CSVs on a key column and reports three things: keys only in A, keys only in B, and keys in both whose other columns disagree — naming the exact column and both values. Unlike reconcile_ledger this needs no amount column, so it also fits name lists, inventory counts, permission tables, and any \"these two exports should match\" check."
},
{
"name": "clean_table",
"description": "Tidies a spreadsheet export: removes duplicate rows, trims whitespace (half-width and full-width — Chinese exports are full of ), unifies the half-dozen ways a cell can say \"empty\" (NA / null / - / 无), drops empty rows and columns, and can split one column into several. Returns the cleaned CSV plus exactly what changed: rows in, rows out, duplicates removed, cells trimmed per column. It can also transpose rows/columns and unpivot a wide table into a long one. The row arithmetic is verified in code — if in − removed ≠ out, the response says so instead of handing back a table nobody can check. "
},
{
"name": "merge_tables",
"description": "Combines up to 20 CSVs into a single table. Headers do not have to match: columns are unioned and a file missing a column contributes blanks for it, so rows never shift silently — the failure mode that makes hand-merged spreadsheets untrustworthy. Reports each source file row count and checks in code that they sum to the merged total. Use for monthly exports, per-store sheets, or any set of files with the same subject but drifting headers."
},
{
"name": "reconcile_ledger",
"description": "Reconciles two sets of records — your books against a bank, platform, or supplier statement. Matches rows on a key column, compares an amount column, and returns three lists: only in A, only in B, and same key but different amount. Amounts are compared in integer cents, so 0.1 + 0.2 never invents a phantom difference for someone to chase. The response also proves the result: the listed differences are re-added and must equal the gap between the two totals, checked in code. Use for month-end close, platform payouts vs orders, or any \"these two numbers should agree and do not\" problem. This is t"
},
{
"name": "extract_invoices",
"description": "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."
}
],
"profiled_at": "2026-09-24T18:00:49.797Z"
},
"payment_method": "open",
"unreachable": false
}