Skip to main content
Glama

Create dynamic endpoint

create_dynamic_endpoint

Dynamic endpoint authoring — create a BRAND-NEW dynamic endpoint (mints the endpoint + its version 1). The definition binds the endpoint to a workflow (by versioned-slug reference) plus a cache setting; fetch its JSON Schema with get_dynamic_endpoint_definition_schema and author against it. Pass publish=true to take the endpoint live in one step, or publish later with publish_dynamic_endpoint. (To add a version to a dynamic endpoint that already exists, use create_dynamic_endpoint_version.)

Input Schema

NameRequiredDescriptionDefault
slugYesURL-safe slug; becomes the path on the tenant's subdomain in the public URL (https://<tenant>.tessryx.app/<slug>). Segments are lowercase letters/numbers/hyphens/dots, or :param placeholders. Dots let you serve spec-mandated files at their exact paths — 'robots.txt', 'sitemap.xml', 'favicon.ico', '.well-known/security.txt'. :param segments do path-parameter routing, e.g. 'post/:slug' serves every /post/<value> from one endpoint — pair it with the definition's input_transform to turn params into the workflow $input (the workflow's input_schema then validates, so a bad URL returns 404). The last segment may instead be a *name catch-all taking the rest of the address: 'docs/*path' serves every /docs/<a>/<b>/... with params.path = 'a/b'; it needs a fixed first segment, and the endpoint needs a cache setting, since every distinct address it serves is a run. A segment may not be '.' or '..'.
publishNoIf true, immediately publish the version this call creates (the common create-then-publish in one step). Defaults to false; omit to leave the version as an unpublished draft.
definitionYesThe dynamic endpoint definition, as a JSON object. Fetch the exact JSON Schema it must satisfy with get_dynamic_endpoint_definition_schema and author against it (or copy an existing one with the get_*_version tool). The owning service validates it on submit.
descriptionNoWhat this endpoint serves.
content_typeNoThe response Content-Type this endpoint serves (e.g. text/html, application/json). When set, it is authoritative — set text/html here for a page so it isn't served as text/plain. Leave blank to use whatever content-type the workflow returns.
display_nameNoHuman-readable name.

Output Schema

NameRequiredDescriptionDefault
noteNo
slugYes
versionYes
publishedYes
public_urlNo
endpoint_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / slug / description
      Previous value: -"URL-safe slug; becomes the path on the tenant's subdomain in the public URL (https://<tenant>.tessryx.app/<slug>). Segments are lowercase letters/numbers/hyphens/dots, or :param placeholders. Dots let you serve spec-mandated files at their exact paths — 'robots.txt', 'sitemap.xml', 'favicon.ico', '.well-known/security.txt'. :param segments do path-parameter routing, e.g. 'post/:slug' serves every /post/<value> from one endpoint — pair it with the definition's input_transform to turn params into the workflow $input (the workflow's input_schema then validates, so a bad URL returns 404). A segment may not be '.' or '..'."New value: +"URL-safe slug; becomes the path on the tenant's subdomain in the public URL (https://<tenant>.tessryx.app/<slug>). Segments are lowercase letters/numbers/hyphens/dots, or :param placeholders. Dots let you serve spec-mandated files at their exact paths — 'robots.txt', 'sitemap.xml', 'favicon.ico', '.well-known/security.txt'. :param segments do path-parameter routing, e.g. 'post/:slug' serves every /post/<value> from one endpoint — pair it with the definition's input_transform to turn params into the workflow $input (the workflow's input_schema then validates, so a bad URL returns 404). The last segment may instead be a *name catch-all taking the rest of the address: 'docs/*path' serves every /docs/<a>/<b>/... with params.path = 'a/b'; it needs a fixed first segment, and the endpoint needs a cache setting, since every distinct address it serves is a run. A segment may not be '.' or '..'."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: the call mints a version 1 alongside the endpoint, the definition binds a workflow by versioned-slug reference plus a cache setting, and publish=true immediately takes the endpoint live. It does not mention that a newly created endpoint is public/open-world at the tenant subdomain or what happens to the slug after creation, which keeps it below a 5.

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?

The core identity and the two key routing facts (publish shortcut, sibling for new versions) are front-loaded, with the exclusionary parenthetical last. Sentences are dense but every clause carries information; it is a little long-winded around the definition/workflow binding.

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

Completeness4/5

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

For a creation tool with a nested definition object and an output schema, the description covers what is created, how the definition is authored, and the publish path. Return-value details are legitimately left to the output schema, and the remaining gap (post-creation slug mutability, visibility of the live endpoint) is minor.

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 baseline is 3 and the schema already carries the heavy slug, publish and content_type semantics. The description adds meaning beyond the schema only for publish (one-step go-live) and definition (must satisfy the fetched JSON Schema and reference a workflow version plus cache setting), which is useful but modest given how much detail the schema already supplies.

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?

States a specific verb and resource ('create a BRAND-NEW dynamic endpoint') and clarifies that it mints both the endpoint and its version 1. It explicitly distinguishes itself from the closest sibling, create_dynamic_endpoint_version, so an agent can pick correctly without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use branches: pass publish=true for one-step go-live, or publish later with publish_dynamic_endpoint, and use create_dynamic_endpoint_version instead when the endpoint already exists. It also points to get_dynamic_endpoint_definition_schema as the prerequisite for authoring the definition.

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.

Resources