Skip to main content
Glama

create_app

Create a data app on autario in ONE call, owned by you. You give it a name and an entry: either an https URL where the app already runs, or the app itself which autario then hosts and serves inside a locked sandbox: one HTML document (content, max 512 KB), or index.html plus the JavaScript, CSS, images, fonts and further pages it loads by relative path (files, max 50 files, 1 MB each, 2 MB in total). The app id is derived from the name, so you never invent one. The new app is PRIVATE: only you can open it, it is in no catalog and at no public URL until you call publish_app. Use this as the FIRST step whenever a user asks you to build them an app, a dashboard, a report page or a tool that runs on autario data | the public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC) or the user's own connector tables (Google Search Console, GA4, Google Ads, Meta Ads, YouTube, TikTok, Instagram, Facebook, Shopify, LinkedIn). Inside the HTML read data with autario.js, never with fetch (the sandbox has no network): autario.ready(), autario.datasets(), autario.query(datasetId, {limit, orderBy, where}), autario.artifacts.get/set(key); autario inlines the SDK into every app, docs at https://autario.com/developer/docs/autario-js. Pass datasets with the ids of the user's own tables the app may read. Follow it with write_app_artifact (to save the app's data or saved views), get_app_preview_url (to hand the user a link to try) and publish_app (to make it public). Requires authentication.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name of the app. The app id is derived from it (lowercased, hyphenated); needs at least three letters or digits.
filesNoA multi-file app: index.html plus every file it loads by relative path (e.g. "app.js", "css/style.css", "img/logo.png", "about.html"). Paths are relative, use "/", no "..". Allowed: html, js, mjs, css, json, svg, png, jpg, webp, woff2. Max 50 files, 1 MB each, 2 MB in total. Put index.html in this list or pass it as content. Links between the HTML pages work, every page gets autario.js.
contentNoThe app's entry document when entry_kind is "upload": one HTML file, or index.html when you also send files. It runs in a sandbox with no outbound network: read autario data through autario.js, not through fetch to third parties.
taglineNoOne line saying what the app does, max 200 chars. Worth writing: it is what a user reads in the app store, and an app cannot be indexed without one.
datasetsNoIds of the user's OWN datasets (connector tables, uploads; get them from get_my_workspace) this app may read through autario.js. Everyone the owner shares the app with (role reader and up) reads exactly these, nothing else. Public catalog datasets need no declaration.
entry_urlNoREQUIRED when entry_kind is "url". Must start with https://.
entry_kindNo"url" = the app already runs somewhere (give entry_url). "upload" = you are sending the app itself (give content or files). Default "url".
source_urlNoOptional link to the app's open source repository.
content_typeNoType of the uploaded content. Default text/html.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / content / description
      Previous value: -"REQUIRED when entry_kind is \"upload\". The app's entry document, normally a single self-contained HTML file. It runs in a sandbox with no outbound network: read autario data through the sandbox bridge, not through fetch to third parties."New value: +"The app's entry document when entry_kind is \"upload\": one HTML file, or index.html when you also send files. It runs in a sandbox with no outbound network: read autario data through autario.js, not through fetch to third parties."
    • changedInput schema / properties / entry_kind / description
      Previous value: -"\"url\" = the app already runs somewhere (give entry_url). \"upload\" = you are sending the app itself (give content). Default \"url\"."New value: +"\"url\" = the app already runs somewhere (give entry_url). \"upload\" = you are sending the app itself (give content or files). Default \"url\"."
    • addedInput schema / properties / files
      Added value: +{
      +  "description": "A multi-file app: index.html plus every file it loads by relative path (e.g. \"app.js\", \"css/style.css\", \"img/logo.png\", \"about.html\"). Paths are relative, use \"/\", no \"..\". Allowed: html, js, mjs, css, json, svg, png, jpg, webp, woff2. Max 50 files, 1 MB each, 2 MB in total. Put index.html in this list or pass it as content. Links between the HTML pages work, every page gets autario.js.",
      +  "items": {
      +    "properties": {
      +      "content": {
      +        "description": "The file: text as is, binary (images, fonts) as base64 with encoding \"base64\".",
      +        "type": "string"
      +      },
      +      "encoding": {
      +        "description": "Default utf8.",
      +        "enum": [
      +          "utf8",
      +          "base64"
      +        ],
      +        "type": "string"
      +      },
      +      "path": {
      +        "description": "Relative path inside the app, e.g. \"js/app.js\".",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "path",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / datasets
      Added value: +{
      +  "description": "Ids of the user's OWN datasets (connector tables, uploads; get them from get_my_workspace) this app may read through autario.js. Everyone the owner shares the app with (role reader and up) reads exactly these, nothing else. Public catalog datasets need no declaration.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources