Skip to main content
Glama
Tealfabric MCP Server for Cursor

Tealfabric MCP Server for Cursor

Official
by tealfabric

tealfabric_create_webapp

Creates a new unpublished Tealfabric webapp from required name, type, HTML page content, and webapp user ID so you can define and later publish it.

Instructions

Create a new Tealfabric webapp (unpublished by default). Requires name, type, page_content, and webapp_user_id.

Input Schema

NameRequiredDescriptionDefault
nameYesWebapp name
typeYesWebapp type
versionNo
custom_jsNo
page_headNo
custom_cssNo
process_idNoLink to a process ID
descriptionNo
page_footerNo
page_headerNo
public_urisNo
auth_requireNo
code_snippetNo
http_headersNo
is_publishedNo
page_contentYesHTML page content
auth_transportNo
webapp_user_idYesUsers.user_id with role webapp_user (required; never use tenant_admin)
public_uri_hostNo
public_uri_pathNo
custom_referrer_policyNo
custom_security_policyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv0.2.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / auth_require
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / auth_transport
      Added value: +{
      +  "enum": [
      +    "cookie",
      +    "bearer",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / code_snippet
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / custom_referrer_policy
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / custom_security_policy
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / http_headers
      Added value: +{}
    • addedInput schema / properties / is_published
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / page_content / description
      Added value: +"HTML page content"
    • addedInput schema / properties / page_head
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / public_uri_host
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / public_uri_path
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / public_uris
      Added value: +{}
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "Webapp type",
      +  "enum": [
      +    "webapp",
      +    "webhook",
      +    "websocket",
      +    "callback",
      +    "document-viewer",
      +    "document_viewer"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / version
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / webapp_user_id
      Added value: +{
      +  "description": "Users.user_id with role webapp_user (required; never use tenant_admin)",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "name"
      -]New value: +[
      +  "name",
      +  "type",
      +  "page_content",
      +  "webapp_user_id"
      +]
  2. First observedv0.1.3

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the 'unpublished by default' safe default state, but for a 22-param mutation tool it says nothing about auth setup requirements (auth_require/auth_transport), how public_uris/custom_security_policy behave, or what a successful response looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core purpose and the key default. No waste, though the second sentence adds little beyond the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A complex 22-param creation tool with 23% schema coverage, no annotations, and no output schema demands far more than this. The description omits the bulk of parameter semantics, auth configuration behavior, and the publishing relationship to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 23%, so the description needs to compensate heavily. Instead it merely restates the four required params already declared in the schema's required array, and says nothing about the 18 optional params (custom_css, http_headers, public_uris, etc.) that an agent would struggle to set correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create a new Tealfabric webapp'), which distinguishes it from list/get/update/delete siblings. However, it doesn't explicitly differentiate from the closely related tealfabric_create_webapp_version sibling, leaving a small ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The '(unpublished by default)' note hints at a publish workflow but never says when to use this vs create_webapp_version or publish_webapp, and gives no when-not conditions. An agent must infer the workflow entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.