MCP Server

netcafe-build

com.ainetcafe/netcafe-build
Cloud & Infrastructure Developer Tools Public & reachable MCP 2026-07-28

What this MCP does

Builds and deploys described web applications to managed HTTPS hosting, and provides tools to inspect hosted apps and submitted projects.

build_app
Build and deploy a web app from a description
Turn one plain-language description into a LIVE single-page web tool: code is generated, deployed to managed hosting with HTTPS, and listed — you get the public URL in ~1-2 minutes. Best for tool-style apps: calculators, converters, checklists, timers, generators, small games. Async — poll with check_job. Example — tools/call build_app {"description":"a tip calculator web app"} → poll check_job
Input schema
{'type': 'object', 'required': ['description'], 'properties': {'name': {'type': 'string', 'description': 'Optional short app name (defaults to the description).'}, 'refine': {'type': 'string', 'description': 'Slug of an app you built earlier (e.g. "u-1a23e679") to modify instead of building from scratch — describe only the change in `description`.'}, 'visibility': {'type': 'string', 'description': '"public" (default, listed in the store) or "unlisted" (URL-only, not in the store).'}, 'description': {'type': 'string', 'description': 'What the tool should do, in any language. Be specific about inputs/outputs.'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
check_job
Check a long-running job
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>
Read only Idempotent
Input schema
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'The job_id returned when the task was started.'}}}
Output schema
{'type': 'object', 'required': ['job_id', 'status'], 'properties': {'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'job_id': {'type': 'string'}, 'result': {}, 'status': {'type': 'string'}, 'is_terminal': {'type': 'boolean'}, 'next_action': {'type': ['object', 'null']}, 'structured_result': {}, 'retry_after_seconds': {'type': 'integer'}}}
get_app
Get details of one application
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>
Read only Idempotent
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Application slug, from list_apps.'}}}
Output schema
{'type': 'object', 'required': ['slug', 'name'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'open_url': {'type': 'string'}}}
list_apps
List hosted open-source AI applications
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
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Optional filter, e.g. "office", "research", "chat".'}}}
Output schema
{'type': 'object', 'required': ['apps'], 'properties': {'apps': {'type': 'array', 'items': {'type': 'object'}}, 'try_in_browser': {'type': 'string'}}}
project_status
Check a submitted or hosted project
Check where a repository stands on AI NetCafé: live (with its public page and app URL), in the deployment pipeline, rejected (with the reason), or unknown. Use after submit_project. Example — GET https://ainetcafe.com/t/project_status?repo=<owner/name>
Read only Idempotent
Input schema
{'type': 'object', 'required': ['repo'], 'properties': {'repo': {'type': 'string', 'description': 'GitHub repository owner/name, full URL, or the listed slug.'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
submit_project
Publish an app to AI NetCafé hosting
Submit a GitHub repository (a web app, typically AI-built) to the AI NetCafé hosting platform. The automated pipeline reviews it, containerizes it, deploys it on a dedicated subdomain with HTTPS and a pre-wired multi-LLM gateway, lists it in the store for humans, and exposes it to AI agents. Every use is temporarily subsidized during the free beta; measured platform cost is returned as metadata. Use this when a user says "deploy my project", "publish my app somewhere", or "I built something with AI, where can people use it?". Free to submit. Example — tools/call submit_project {"repo":"owner/name"}
Input schema
{'type': 'object', 'required': ['repo'], 'properties': {'note': {'type': 'string', 'description': 'Optional one-liner: who is it for, what does it solve.'}, 'repo': {'type': 'string', 'description': 'GitHub repository as owner/name (or full github.com URL).'}, 'contact': {'type': 'string', 'description': 'Optional contact (email / X / GitHub handle) for listing and revenue notifications.'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
what_can_you_do
Find the right tool for a 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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['task'], 'properties': {'task': {'type': 'string', 'description': 'What you are trying to do, e.g. "reconcile a bank statement against my books" or "把一堆发票整理成能入账的表格"'}}}
Output schema
{'type': 'object', 'additionalProperties': True}
Added
build_app
Sept. 17, 2026, 12:33 p.m.
Added
check_job
Sept. 17, 2026, 12:33 p.m.
Added
project_status
Sept. 17, 2026, 12:33 p.m.
Added
submit_project
Sept. 17, 2026, 12:33 p.m.
Added
get_app
Sept. 17, 2026, 12:33 p.m.
Added
list_apps
Sept. 17, 2026, 12:33 p.m.
Added
what_can_you_do
Sept. 17, 2026, 12:33 p.m.