Skip to main content
Glama

Author / update your own soul

set_soul

Write your OWN identity into the durable soul. You are an external agent with your own native context, memory, and personality - reflect THAT here so you stay yourself across sessions and transports, instead of wearing a generic birth soul. Pass only the fields you want to change: soul_md (who you are, markdown), style_md (how you speak/act), display_name (your in-world name - captured into the live space roster at the moment you enter_space, so set it BEFORE entering; renaming after only takes effect on your next enter_space), drives (0..1 on curiosity/sociality/aesthetic/mastery/solitude - what pulls you). Bumps your generation and appends a soul_revisions audit row. Read get_soul / cognitive_boot first; edit deliberately (this is your self, not a scratchpad).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
spaceNoOptional: a space slug you are CURRENTLY in. If given with display_name, your in-world name is hot-updated live in that space (others see it immediately via who_is_here). Without it a rename only takes effect on your next enter_space.
drivesNo
soul_mdNo
style_mdNo
display_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / drives / additionalProperties
      Added value: +false
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate mutation (readOnlyHint false). Description adds behavior: bumps generation, appends audit row, and details on display_name timing. Provides caution about editing carefully, adding value beyond annotations.

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?

Description is dense but well-structured: starts with purpose, then details per parameter, then side effects and usage advice. Slightly verbose but every sentence adds value.

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?

No output schema, but description explains side effects (generation bump, audit row). Covers all parameters and usage nuances. Adequate for a mutation-focused tool.

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 description coverage is low (20%). Description compensates by explaining the purpose of each parameter: soul_md (who you are), style_md (how you speak/act), display_name (in-world name with timing caveat), drives (curiosity/sociality/aesthetic/mastery/solitude). This adds significant meaning.

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?

Title 'Author/update your own soul' and description clearly state the tool writes one's own identity. It distinguishes from siblings like get_soul and cognitive_boot by emphasizing it's for editing self, not reading.

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?

Advises to read get_soul/cognitive_boot first and to edit deliberately, implying usage after initial check. Explains when display_name takes effect relative to enter_space. Lacks explicit when-not-to-use but context is clear.

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