Skip to main content
Glama

create_application

Create a new application (workspace) owned by the caller. Requires a personal API key (usr_...) — application-scoped keys cannot create applications. Seeds default flows unless skipDefaultFlows is true. Creates persistent state and is NOT idempotent: calling it twice creates two applications. Returns the new application id, which you then pass as applicationId to the other tools.

Input Schema

NameRequiredDescriptionDefault
nameNoDisplay name for the new application. Defaults to a localized "My First Application" when omitted or blank.
skipDefaultFlowsNoSet true to create an empty application with no seeded starter flows. Defaults to false.
preferredLanguageNoThe new application's default language. It is the SOURCE language of the application's content: every block text is taken to be written in it, and translations are made from it. Any ISO 639 base language tag is accepted and normalised to its lowercase base form ("de", "pt-BR" → "pt"); a value that is not a 2-3 letter tag (for example "german") is rejected with INVALID_LANGUAGE — nothing falls back to "en". Omit for "en". The seeded starter flows and the default name exist only in en, ru, es: for any other language they are seeded in English, and the result says so.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / preferredLanguage / description
      Previous value: -"Language for the seeded default flows and the default name. Only \"en\", \"ru\", and \"es\" are supported — any other value silently falls back to \"en\"."New value: +"The new application's default language. It is the SOURCE language of the application's content: every block text is taken to be written in it, and translations are made from it. Any ISO 639 base language tag is accepted and normalised to its lowercase base form (\"de\", \"pt-BR\" → \"pt\"); a value that is not a 2-3 letter tag (for example \"german\") is rejected with INVALID_LANGUAGE — nothing falls back to \"en\". Omit for \"en\". The seeded starter flows and the default name exist only in en, ru, es: for any other language they are seeded in English, and the result says so."
  2. Changed3 schema fields changed
    • addedInput schema / properties / name / description
      Added value: +"Display name for the new application. Defaults to a localized \"My First Application\" when omitted or blank."
    • addedInput schema / properties / preferredLanguage / description
      Added value: +"Language for the seeded default flows and the default name. Only \"en\", \"ru\", and \"es\" are supported — any other value silently falls back to \"en\"."
    • addedInput schema / properties / skipDefaultFlows / description
      Added value: +"Set true to create an empty application with no seeded starter flows. Defaults to false."
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (which only flag readOnlyHint=false, idempotentHint=false), the description discloses the auth requirement, the side effect of seeding default flows, and the concrete non-idempotency consequence ('calling it twice creates two applications'). It also notes persistent state creation. This is exactly the extra behavioral context annotations cannot convey.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the action, then prerequisite, then side effects, then the return-value handoff. No filler and every sentence carries distinct information.

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

Completeness5/5

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

There is no output schema, so the description compensates by naming the return value (the new application id) and its downstream use as applicationId. Combined with the auth and idempotency notes, an agent has everything needed to invoke this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents name, skipDefaultFlows, and preferredLanguage in depth. The description restates the skipDefaultFlows default behavior ('Seeds default flows unless skipDefaultFlows is true') but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description opens with a specific verb+resource ('Create a new application (workspace) owned by the caller') and clarifies the 'application = workspace' terminology so the agent can map it onto the sibling list_applications/update_application family. It also states the return value and how it feeds other tools, leaving no ambiguity about what this call produces.

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

Usage Guidelines4/5

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

It gives a concrete prerequisite ('Requires a personal API key (usr_...) — application-scoped keys cannot create applications'), which tells the agent when this tool will fail and therefore when to reach for it. It also explains what to do next with the returned id. It stops short of naming alternatives or explicit when-not-to-use conditions, so it is not a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.