netcafe-build
Deploy a live web app from one sentence. build_app + poll to a public HTTPS URL you own.
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- HIGH
- MEDIUMlist_apps에서
- MEDIUMget_app에서
- MEDIUMproject_status에서
- MEDIUMcheck_job에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"netcafe-build": {
"url": "https://ainetcafe.com/mcp/build"
}
}
}원격 엔드포인트
https://ainetcafe.com/mcp/buildstreamable-httphttps://ainetcafe.com/mcp/build?s=registrystreamable-http할 수 있는 일
도구 목록
도구 (7)
🟢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
}🟢list_apps(category)
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
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional filter, e.g. \"office\", \"research\", \"chat\"."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "object"
}
},
"try_in_browser": {
"type": "string"
}
},
"required": [
"apps"
]
}🟢get_app(slug)
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>
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Application slug, from list_apps."
}
},
"required": [
"slug"
]
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"open_url": {
"type": "string"
}
},
"required": [
"slug",
"name"
]
}🟡submit_project(repo, contact, note)
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"}
입력 스키마
{
"type": "object",
"properties": {
"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."
},
"note": {
"type": "string",
"description": "Optional one-liner: who is it for, what does it solve."
}
},
"required": [
"repo"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢project_status(repo)
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>
입력 스키마
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "GitHub repository owner/name, full URL, or the listed slug."
}
},
"required": [
"repo"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢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"
]
}🟢build_app(description, name, visibility, refine)
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
입력 스키마
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "What the tool should do, in any language. Be specific about inputs/outputs."
},
"name": {
"type": "string",
"description": "Optional short app name (defaults to the description)."
},
"visibility": {
"type": "string",
"description": "\"public\" (default, listed in the store) or \"unlisted\" (URL-only, not in the store)."
},
"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`."
}
},
"required": [
"description"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}커뮤니티
증거