Skip to main content
Glama

create_doc

Create a document and return its public URL. Re-using an existing name adds a new immutable version. Omit the name to get a random one. For content larger than ~10KB or any file already on disk, do NOT inline it here - run docbin push <file> [--name <doc>] in your shell instead (set DOCBIN_TOKEN to an API key from https://docbin.app/settings/keys). Inlining large content streams it through the model token-by-token and will time out.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoDocument name. A random slug is generated if omitted.
filesNoOptional: a multi-file group. When provided, supersedes content/content_type. The entry file is auto-selected (index/readme/main, else first). CROSS-FILE LINKS: to link from one file in the group to another, use a bare relative link to the sibling's filename, exactly as given in this `files` array - e.g. <a href="page2.html">. The viewer intercepts it and switches the active file (updating the left-pane selection and the URL). Do NOT use absolute URLs, slugs, ./ prefixes, or #file- hashes for cross-file links. In-page anchor links within a file (e.g. #section) work as normal.
contentNoThe HTML, Markdown, MDX, or code body of the document.
languageNoSyntax-highlight language hint, used when content_type is 'code' (e.g. 'rust').
visibilityNoDefaults to public. private = owner only; unlisted = anyone with the link; public = listed, searchable, and crawlable.
content_typeNoDefaults to html. 'mdx' renders Markdown with JSX components; 'code' renders a single syntax-highlighted block.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
appUrlYes
handleYes
rawUrlYes
deletedNo
snippetNo
versionYes
languageNo
visibilityNo
contentTypeNo

TDQS

A4.9/5.0
Behavior5/5

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

The annotations only say this is not read-only, so the description carries the behavioral burden. It discloses versioning behavior ('adds a new immutable version'), random name generation when omitted, and a concrete timeout risk for large content. These are non-obvious traits beyond the annotations.

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?

Three sentences with no filler; the main purpose and key behavioral facts are front-loaded, and the size warning is delivered with a clear command alternative. The shell command is long but earns its place by preventing timeouts.

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?

Given the output schema exists and the parameter schema covers every parameter, the description covers the remaining gaps: creation semantics, versioning, return behavior, and a clear failure mode. The sibling tool context makes the overall picture complete for an agent deciding between create, get, and search.

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

Parameters4/5

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

The input schema already documents all six parameters (100% coverage), so the baseline is 3. The description adds value beyond that by explaining name reuse creates immutable versions, linking content-size limits to the content/files parameters, and noting omission generates a random slug. It does not duplicate the schema's detailed param descriptions.

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 and object: 'Create a document and return its public URL.' It clearly identifies the resource and distinguishes this write operation from the read-only siblings get_doc and search_docs without ambiguity.

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?

Explicitly states when NOT to use the tool ('content larger than ~10KB or any file already on disk') and names the exact alternative command (`docbin push`). This gives an agent actionable routing criteria and a fallback path.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct operation: create, retrieve, and search. There is no overlap between the actions, and the descriptions reinforce their differing purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: create_doc, get_doc, search_docs. The only slight variation is singular 'doc' versus plural 'docs', which does not harm predictability.

Tool Count5/5

Three tools is a reasonable, focused set for a document storage service. Each tool handles a distinct core need and none feel redundant or unnecessary.

Completeness4/5

The core document lifecycle of create, read, and search is covered, with versioning handled through create. A minor gap is the absence of a delete or full list-all operation, though agents can likely work around that for most workflows.

Resources