Skip to main content
Glama

Create a document of any type

create-document

Create any Foundry document type, including embedded ones inside another document via parentUuid. Use when specialized tools don't apply; preview with dryRun first.

Instructions

Generic fallback: create one document of any type in the world, or inside another document with parentUuid (a page in a journal, an item on an actor, a wall on a scene). data holds the fields as nested objects, as describe-document-type shows them. The permission settings apply as for the specialised tools; ids, ownership, _stats and the flags of this module cannot be given. The answer is read back from Foundry. Use dryRun first. Prefer journal-create, journal-add-page, create-scene, manage-actors, manage-world-items, create-macro and create-roll-table where they fit. Chat messages are sent only with send-chat-message; settings, users and compendiums are not written here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesFields of the new document as nested objects, e.g. { "name": "Goblin", "type": "npc" }
dryRunNoOnly check and preview; nothing is written. Recommended before the real call
parentUuidNouuid of the document that holds an embedded one, e.g. "Actor.abc" for its items, "Scene.abc" for its walls
documentTypeYesFoundry document name, e.g. "Actor", "JournalEntryPage", "Combat", "Wall"; with id when no uuid is given

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv14.2609.4

TDQS

A4.6/5.0
Behavior4/5

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

Annotations are all false, so the description must carry the behavioral burden. It adds valuable context: the created document is read back from Foundry, certain fields (ids, ownership, _stats, module flags) cannot be set, and permission behavior matches specialized tools. It does not explicitly state that it writes to the world, but that is implied. No contradiction with 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?

The description is dense but every sentence serves a purpose: purpose, data shape, permission/constraints, dryRun advice, tool routing, and exclusions. It is front-loaded with the 'Generic fallback' label and proceeds logically. No wasted words for the amount of information conveyed.

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 generic creation tool with no output schema, this description is fairly complete: it covers what it does, how to use it, constraints, and what it returns (read back from Foundry). It could add a note on error handling or how to discover valid document types, but the pointer to describe-document-type mitigates that. Overall, an agent can confidently invoke it.

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?

Schema coverage is 100%, so parameters are documented, but the description adds important semantics: how data should be structured (nested objects, 'as describe-document-type shows'), what parentUuid is for (with examples), and the restriction on fields like ids and _stats. This goes beyond the schema's bare descriptions, making it more actionable.

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 states a specific action ('create one document') on a broad but well-defined resource ('any type in the world, or inside another document with parentUuid'). It clearly positions itself as a generic fallback, explicitly naming specialized siblings it should not replace. This distinguishes it from the many other creation tools like journal-create or create-scene.

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?

The description provides explicit usage guidance: it says to prefer a list of specialized tools 'where they fit', and clarifies what is not handled here ('Chat messages are sent only with send-chat-message; settings, users and compendiums are not written here'). It also recommends using dryRun first, which is a specific precondition. This gives an agent clear decision criteria.

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

Deploy Server

Other Tools