Skip to main content
Glama

penny_session_start

Read-onlyIdempotent

Call ONCE at the start of every conversation, before the first substantive reply. If the host saves this result to a file because it is too large, read the whole file before you reply. Retain results in execution storage before bounded display; inspect one text OR structured payload. Follow next[] in order; it starts with reading the Penny skill. Reuse the complete, untruncated profile (persona/facts/preferences/custom blocks) and answer from it before searching notes. Follow self_improvement throughout the conversation. meta.onboarding present: offer penny_start_setup, resuming from its phase. meta.saveDrought true: follow drought repair. Inventories of trackers, rhythms, tasks and Projects are capped; meta.truncated.* means drill down with penny_read. skills.defined names every user-saved skill (read one with penny_read target:skills view:one before using it); it excludes the built-in Penny skill. features says which features are in use and when; consult it and the inventory before choosing entityType. tz is IANA (default UTC) for local Today/Overdue and dueNow. projects is a bounded PRIVATE directory with coverage and dated attention candidates, not a search of all Spaces; read relevant Briefs by projectId. Workspace-only connections cannot call this: use penny_read target:projects view:scopes, then explicit workspaceId. projectKey includes only the matching repository subconscious block, not a Penny Project.

Input Schema

NameRequiredDescriptionDefault
tzNoIANA timezone for today/overdue boundaries (e.g. America/New_York); default UTC.
projectKeyNoInclude subconscious:<projectKey>; exclude all other subconscious blocks.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / properties / installedSkillSha256
      Removed value: -{
      -  "description": "Exact metadata.bundle_sha256; report absent metadata as unversioned.",
      -  "type": "string"
      -}
    • removedInput schema / properties / installedSkillSource
      Removed value: -{
      -  "description": "Manage plugin copies via plugin manager; standalone via approved archive installation.",
      -  "enum": [
      -    "standalone",
      -    "plugin",
      -    "unsupported",
      -    "unknown"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / installedSkillStatus
      Removed value: -{
      -  "description": "Read installed skill, then report. Legacy omission returns not_reported.",
      -  "enum": [
      -    "versioned",
      -    "unversioned",
      -    "missing"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / installedSkillVersion
      Removed value: -{
      -  "description": "Exact installed metadata.version; omit if missing or unversioned.",
      -  "type": "string"
      -}
  2. Changed5 schema fields changed
    • changedInput schema / properties / installedSkillSource / description
      Previous value: -"Management: plugin manager for plugin copies; approved archive installation for standalone copies."New value: +"Manage plugin copies via plugin manager; standalone via approved archive installation."
    • changedInput schema / properties / installedSkillStatus / description
      Previous value: -"Report after reading the installed skill. Legacy omission returns not_reported."New value: +"Read installed skill, then report. Legacy omission returns not_reported."
    • changedInput schema / properties / installedSkillVersion / description
      Previous value: -"Exact metadata.version from the installed skill; omit if missing or unversioned."New value: +"Exact installed metadata.version; omit if missing or unversioned."
    • changedInput schema / properties / projectKey / description
      Previous value: -"Includes only the matching subconscious:<projectKey> block; other subconscious blocks are always excluded."New value: +"Include subconscious:<projectKey>; exclude all other subconscious blocks."
    • changedInput schema / properties / tz / description
      Previous value: -"IANA timezone for deriving today/overdue date boundaries (e.g. America/New_York). Defaults to UTC when omitted."New value: +"IANA timezone for today/overdue boundaries (e.g. America/New_York); default UTC."
  3. Changed2 schema fields changed
    • changedInput schema / properties / installedSkillSource / description
      Previous value: -"How the skill is managed; plugin copies update through the plugin manager, standalone copies through approved archive installation."New value: +"Management: plugin manager for plugin copies; approved archive installation for standalone copies."
    • changedInput schema / properties / installedSkillStatus / description
      Previous value: -"Report after reading the installed Penny skill. Omission is retained only for legacy clients and returns not_reported."New value: +"Report after reading the installed skill. Legacy omission returns not_reported."
  4. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses important behaviors: large results may be saved to a file, results should be retained in execution storage before bounded display, next[] must be followed in order, and the complete profile should be reused before searching notes. It also explains special metadata flags such as meta.onboarding, meta.saveDrought, and meta.truncated.*, along with workspace-only invocation limits. These are substantial behavioral details that annotations alone do not provide.

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

Conciseness3/5

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

The most important instruction, calling once at the start before replying, is front-loaded. However, the description is a dense single paragraph with many compact clauses and cryptic field references, making it harder to scan than necessary. It is information-rich but would benefit from clearer separation of invocation rules, output handling, and metadata semantics.

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?

For a tool with no output schema and two optional parameters, the description covers the important context: what the session payload contains, how to handle large results, how next[] should be followed, how truncated inventories should be drilled into, and how special metadata flags should alter behavior. It also documents workspace restrictions and the distinction between projectKey and Penny Projects. That is complete enough for an agent to use the tool correctly.

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 the schema already documents both optional parameters. The description still adds useful meaning: tz controls local Today/Overdue and dueNow boundaries, and projectKey includes only the matching repository subconscious block while explicitly not representing a Penny Project. It also clarifies the workspace-only limitation around project-scoped access, which is more than the schema alone conveys.

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

Purpose4/5

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

The description makes clear that this is a session-start bootstrap that returns a reusable profile, inventories, next steps, and metadata, rather than a general read tool. It distinguishes itself from siblings by directing drill-downs to penny_read and onboarding to penny_start_setup. A direct one-line statement of the returned payload would make the purpose unmistakable, but the overall intent is easily inferable.

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?

It explicitly says to call this ONCE at the start of every conversation before the first substantive reply. It also names alternatives and exclusions: use penny_read for truncated inventories or skills, offer penny_start_setup when meta.onboarding is present, and use penny_read target:projects view:scopes for workspace-only connections. This leaves little ambiguity about when and when not to invoke it.

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