Skip to main content
Glama

Server Details

MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Argo-RPG-Platform/MCP
GitHub Stars
0
Server Listing
Argo RPG Platform MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 4/5 across 63 of 63 tools scored. Lowest: 2.4/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose. The mnemon tools are separated by type (NPC, Location, Quest, etc.), and other domains like guild, forum, and friend management are also well-segmented. No two tools appear to do the same thing.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern with snake_case. Some minor deviations: 'describe_mnemon_types' instead of 'list_mnemon_types', and 'invite_user_by_email' has a slightly different structure. Overall quite consistent.

Tool Count3/5

With 63 tools, the server is quite heavy. While each tool serves a specific purpose for campaign management, the sheer number may be overwhelming. It is borderline but still reasonable given the broad domain coverage.

Completeness4/5

The tool set covers CRUD for most resources (campaigns, sessions, mnemon types, guilds, friends, forum). Notable gaps: no delete_campaign or delete_session, and update_campaign is limited. However, the core workflows are well-covered.

Available Tools

63 tools
accept_friend_requestAInspect

Accept an incoming friend request from the given user.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID of the counterparty.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
senderIdYes
createdAtNo
updatedAtNo
receiverIdYes
Behavior3/5

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

Annotations indicate it is a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds no further behavioral details, such as idempotency, error conditions, or side effects. Given annotations, the description provides minimal extra context.

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 a single sentence that is concise and front-loaded. It contains no superfluous information and is appropriately sized for a simple tool.

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?

Given the tool's simplicity, schema coverage, output schema presence, and annotations, the description is largely complete. It could mention that the request must exist and be from that user, but this is implied by the context.

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% and the parameter description ('Argo user ID of the counterparty') is clear. The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly states the action ('accept') and the resource ('incoming friend request'). It distinguishes from sibling tools like cancel_friend_request, reject_friend_request, and send_friend_request by specifying the exact action on received requests.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not specify that this should be used only for incoming requests that exist, nor does it mention reject_friend_request or cancel_friend_request as alternatives.

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

add_campaign_to_guildAInspect

Add a campaign to a guild. Any active member of the guild can do this; the calling user must be the campaign's GM (enforced server-side).

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYesGuild ID.
campaignIdYesCampaign ID to add to the guild.

Output Schema

ParametersJSON Schema
NameRequiredDescription
guildIdYes
successYes
campaignIdYes
Behavior4/5

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

The description adds authorization details beyond annotations (readOnlyHint=false, destructiveHint=false), explaining that the user must be the campaign's GM and that any active member can initiate the action. This provides useful behavioral context.

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 extremely concise—two sentences that convey all necessary information without any wasted words. It is front-loaded and efficient.

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 tool's simplicity, annotations, and parameter coverage, the description provides complete context including purpose, authorization requirements, and behavioral traits. No gaps remain for an agent to understand correct invocation.

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?

The input schema already provides descriptions for both parameters with 100% coverage. The tool description does not add additional meaning or context about the parameters, so it meets the baseline but does not exceed it.

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 clearly states the action ('Add a campaign to a guild') with a specific verb and resource, distinguishing it from sibling tools like 'add_co_gm' or 'add_guild_calendar_event'.

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?

The description specifies that any active member can perform the action and that the caller must be the campaign's GM, providing clear context. It does not explicitly mention when not to use it or suggest alternative tools, but the constraints are well-stated.

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

add_co_gmAInspect

Add a user as an assistant GM (co-GM) of a campaign. Owner-only — the calling user must be the campaign's primary GM. Maximum 5 co-GMs per campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID of the user to promote to co-GM. Must be an existing user.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
ruleSystemNo
campaignNameYes
gameMasterIdYes
gameSystemSlugNo
coGameMasterIdsNo
campaignDescriptionNo
Behavior4/5

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

Annotations indicate mutation (readOnlyHint=false) and non-destructiveness. Description adds ownership requirement and limit, providing behavioral context 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.

Conciseness5/5

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

Two concise sentences, no unnecessary words. Purpose and constraints are front-loaded.

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?

Covers the action, ownership, and limit. With an output schema present, return values are handled. Could mention error conditions or success behavior, but adequate for a simple tool.

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 coverage is 100% with parameter descriptions. Description adds no new information about parameters beyond what is in the schema, meeting the baseline.

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?

Clearly states the action 'Add a user as an assistant GM (co-GM) of a campaign', distinguishing it from sibling tools like list_co_gms and remove_co_gm. Includes resource and verb.

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?

Specifies owner-only condition and maximum 5 co-GMs, giving clear context. Does not explicitly state when not to use or provide alternatives, but the constraints are clear.

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

add_guild_calendar_eventAInspect

Add a new event to the guild's shared calendar. Owner/Admin only. startDateTime / endDateTime are ISO-8601 (e.g. 2026-06-12T19:00:00).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesEvent title.
guildIdYesGuild ID.
descriptionNoOptional event description.
endDateTimeNoEvent end, ISO-8601 — optional.
startDateTimeYesEvent start, ISO-8601 (e.g. 2026-06-12T19:00:00).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
Behavior4/5

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

Annotations show readOnlyHint=false and destructiveHint=false. Description adds role restriction and date format, but omits potential side effects like notifications or overwriting. 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?

Two concise sentences, front-loaded with action and restriction. No wasted words.

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?

With output schema present, description covers purpose, role, and date format. Could mention time zone handling, but adequate for a creation tool.

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 coverage is 100%, baseline is 3. Description repeats ISO-8601 format already in schema and notes endDateTime optional, adding minimal new 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?

Clearly states 'Add a new event to the guild's shared calendar' specifying verb and resource. Distinguishes from siblings, as no other tool creates calendar events. Also notes owner/admin restriction.

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?

Explicitly states 'Owner/Admin only', indicating who can use it. Provides ISO-8601 format example. However, does not mention when not to use or alternatives (none exist).

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

cancel_friend_requestA
Destructive
Inspect

Cancel a friend request you previously sent.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID of the counterparty.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
senderIdYes
createdAtNo
updatedAtNo
receiverIdYes
Behavior3/5

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

Annotations already indicate destructiveHint=true, so the description adds minimal additional behavioral insight beyond confirming it cancels a request. 'Previously sent' adds some context, but no extra details about irreversible effects or side effects.

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?

A single, clear sentence with no unnecessary words. It is well-structured and front-loaded.

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 a simple one-parameter tool with an output schema and clear annotations, the description is complete enough to use this tool correctly. No additional information is needed.

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?

The single parameter 'userId' has a description in the schema ('Argo user ID of the counterparty'), which is sufficient. The tool description does not add further meaning beyond what the schema provides, so score is baseline 3.

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?

Description explicitly states 'Cancel a friend request you previously sent.' The verb 'cancel' and resource 'friend request' are specific. The sibling tools include send, accept, reject, and list requests, so this tool's purpose is clearly distinguished.

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?

The description implies usage only for requests the user previously sent, distinguishing from received requests. It does not explicitly state when not to use it or provide alternatives, but the context is clear given sibling tool names like accept_friend_request and reject_friend_request.

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

create_archive_mnemonsAInspect

Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations indicate non-destructive write. The description adds marginal context (archive meaning) but does not disclose any additional behavioral traits such as side effects or response format. 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 a single sentence plus a short clause, highly concise and front-loaded with purpose. No unnecessary words.

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?

Given the output schema exists and sibling tools provide context, the description is mostly complete. It lacks details on return values or constraints but overall adequate for agent selection.

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

Parameters2/5

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

Schema coverage is low (0% for top-level parameters). The description does not explain parameters like campaignId or items. Nested properties have descriptions in schema, but the tool description adds no parameter semantics.

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 clearly states the verb 'Create', the resource 'Archive mnemons', and explains they are for archived lore no longer current. It distinguishes from sibling creation tools by specifying the 'archive' type.

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?

The description explicitly limits usage to 'GM/co-GM only', providing clear authorization. It implies use for non-current lore, but does not explicitly contrast with other create tools or state when-not-to-use alternatives.

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

create_campaignAInspect

Create a new Argo campaign. The current user becomes GM and the calling token gains read+write access to the new campaign immediately (no re-consent needed). Requires the campaign.create OAuth scope, granted at consent time.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleSystemYesRule system the campaign uses. E.g. 'Dungeons & Dragons 5e', 'Pathfinder 2e', 'Forbidden Lands'. Free-form; the WebAPI derives the slug from this.
descriptionYesShort description of the campaign's setting, tone, and premise.
campaignNameYesDisplay name of the campaign.
gameSystemSlugNoOptional explicit slug for the public URL (e.g. 'dnd5e'). If omitted, the server derives one from ruleSystem.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
ruleSystemNo
accessLevelNo
campaignNameYes
gameMasterIdYes
gameSystemSlugNo
coGameMasterIdsNo
campaignDescriptionNo
Behavior5/5

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

Description adds key behavioral details: the calling token gains immediate read+write access, no re-consent needed, and the user becomes GM. Annotations only indicate non-readonly, non-destructive, non-open-world, so description significantly enhances transparency.

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?

Two sentences, each serving a distinct purpose: definition and behavioral/auth context. No wasted words.

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?

With an output schema available, description need not explain return values. It covers all critical aspects: action, side effects, and required permissions. Sufficient for tool invocation.

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?

Input schema has 100% coverage of parameter descriptions. The description adds minimal extra context (e.g., 'the WebAPI derives the slug from this' for ruleSystem), so baseline 3 is appropriate.

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 clearly states 'Create a new Argo campaign', specifying the verb and resource. This distinguishes it from sibling tools like update_campaign or list_campaigns.

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?

The description provides clear context: the user becomes GM and needs the campaign.create OAuth scope. It implies when to use, though it does not explicitly state when not to use or list alternatives.

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

create_custom_mnemonsAInspect

Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations already indicate this is a mutation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it creates custom mnemons and is restricted to GM/co-GM. It does not disclose idempotency, rate limits, or side effects beyond what annotations provide.

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 extremely concise with two sentences, front-loading the core purpose and immediately following with a usage restriction. No redundant or extraneous information.

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

Completeness3/5

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

While the description clearly distinguishes this tool from its many siblings (create_*_mnemons) and notes the authorization constraint, it omits important constraints like the max 50 items in the array and does not explain how tags or visibility should be used. The existing output schema partially compensates, but the description could be more thorough.

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

Parameters2/5

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

Schema description coverage is 0% at the parameter level, and the tool description does not elaborate on the parameters (campaignId, items, or their subfields). It only mentions 'free-form entry' without explaining how to structure the items array or what the required fields mean.

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 clearly states the action (Create), the resource (custom-typed mnemons), and distinguishes it from siblings by specifying 'any free-form entry that doesn't fit the other types'. It also identifies the intended users (GM/co-GM only).

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?

The description explicitly restricts usage to 'GM/co-GM only' and implies when to use it ('doesn't fit the other types'). It doesn't include explicit when-not-to-use or alternative suggestions, but the context from sibling tools makes the distinction clear.

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

create_journal_mnemonsAInspect

Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds the crucial behavioral detail that only GM/co-GM can invoke it, which is not in annotations. No contradictions.

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?

Two sentences, zero waste, front-loaded with the core purpose and critical access restriction. Every word earns its place.

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

Completeness3/5

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

Given the tool creates entries with many parameters (items array with 12 properties), the description is minimal. It explains the core purpose and access constraint but lacks guidance on parameter relationships (e.g., visibility, tags) or return value. An output schema exists, which mitigates return value explanation, but more context would help. Adequate but with gaps.

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

Parameters2/5

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

Schema description coverage is low (~16.7% across all properties). The description provides no additional parameter semantics beyond the schema's property names and the few descriptions (title, markdown). With low schema coverage, the description should compensate but fails to clarify parameter usage.

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?

Description clearly states the verb 'Create' and resource 'Journal mnemons' with a parenthetical 'log of in-world events', distinguishing it from sibling mnemons creation tools like create_location_mnemons or create_lore_mnemons. Also specifies caller restrictions.

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?

Explicitly states that only GM/co-GM may call this tool, providing a clear usage restriction. However, it does not explicitly contrast with siblings or provide when-not-to-use guidance, though the purpose distinguishes it adequately.

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

create_location_mnemonsAInspect

Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creation. Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, which are consistent with the description. The description adds useful behavioral context: only GMs/co-GMs may call this tool, and it suggests follow-up use of create_mnemon_relationship for nesting. This goes beyond annotation disclosures.

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 two sentences long, front-loading the purpose and following with essential usage guidance and permission restrictions. Every sentence adds value without redundancy or verbosity.

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?

Given that an output schema exists, the description need not cover return values. It covers purpose, usage, and permissions for a creation tool. It could mention that multiple locations can be created in one call (items array), but this is a minor omission for a straightforward tool.

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?

The input schema already provides descriptions for the 'title' and 'markdown' fields within items, and an enum for visibility. The description does not add new information about individual parameters, but it contextualizes the purpose of creating location mnemons. Since schema coverage is partial (0% as per context, but schema has some text), the description compensates minimally.

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 clearly states the verb 'Create' and the resource 'Location mnemons' with concrete examples of places (cities, dungeons, taverns). It distinguishes this tool from sibling creation tools like create_npc_mnemons or create_quest_mnemons by specifying the type of mnemonic.

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 explicitly tells when to use this tool (creating location mnemons) and when to use an alternative (create_mnemon_relationship for nesting after creation). It also specifies that only GMs/co-GMs can call it, providing clear access restrictions.

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

create_lore_mnemonsAInspect

Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations show 'readOnlyHint: false', confirming write behavior, which aligns with 'Create'. The description adds behavioral context about authorization ('Players may not call this'), which enhances transparency 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.

Conciseness4/5

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

The description is a single sentence that efficiently conveys the core purpose and usage restriction. It is well-front-loaded but could be slightly more structured, e.g., by separating the permission note.

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

Completeness3/5

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

The description covers the basic purpose and authorization, but given the tool's complexity (nested items array with required fields, Markdown syntax hints in the schema), the description should provide more contextual guidance, such as explaining the required fields or linking to the output schema.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description provides no additional meaning for the parameters. It does not explain 'campaignId' or the structure of 'items', forcing the agent to rely solely on the schema, which is insufficient for a tool with complex nested input.

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 clearly states the action ('Create'), the resource ('Lore mnemons'), and provides examples ('world background, factions' beliefs, history'). It differentiates from sibling tools by specifying 'Lore', which is distinct from other mnemon types.

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?

The description explicitly states who may call the tool ('GM/co-GM only') and who may not ('Players may not call this'), providing clear usage context. However, it does not mention alternative tools for similar creation tasks, missing an opportunity to guide when to prefer this tool over siblings.

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

create_mnemon_relationshipAInspect

Create a relationship between two mnemon entries. All 10 labels: MEMBER (NPC ∈ Faction, bidirectional), ALLY (bidirectional), ENEMY (directional), RIVAL (directional), PARENT_OF (Location hierarchy — sourceEntryId is the outer/larger place, e.g. Region → City → District → Tavern), CONTAINS (Location → NPC present there), LOCATED_IN (NPC → Location; inverse of CONTAINS), HAS_SUBQUEST (Quest → subquest Quest), QUEST_RELATED_NPC (Quest → NPC), QUEST_RELATED_LOCATION (Quest → Location). sourceEntryId is the 'from' side; targetEntryId is the 'to' side — direction matters. Call describe_mnemon_types for the full valid (sourceType, label, targetType) matrix. For faction membership prefer memberNpcEntryIds / affiliationEntryIds on the NPC itself; for quest links prefer subQuestEntryIds / relatedNpcEntryIds / relatedLocationEntryIds on the quest.

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
labelYes
directionNo
campaignIdYes
sourceEntryIdYes
targetEntryIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
colorNo
labelYes
sourceIdYes
targetIdYes
directionNo
relationshipIdYes
Behavior5/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, and the description adds valuable behavioral context: sourceEntryId is 'from' side, targetEntryId is 'to' side, direction matters for directional labels. 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.

Conciseness4/5

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

The description is information-dense and front-loaded with purpose, then details each label. It could be slightly reorganized but remains efficient and avoids redundancy.

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?

Given the parameter count (6) and schema coverage (0%), the description provides substantial context: label semantics, directionality, and alternative methods. Missing explanation of the 'direction' parameter is a minor gap, but overall complete.

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 description explains most parameters (sourceEntryId, targetEntryId, label, campaignId) with semantics and examples. However, the 'direction' parameter in the schema (a string type) is not mentioned in the description, leaving its purpose unclear.

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 explicitly states it creates a relationship between two mnemon entries and lists all 10 labels with clear explanations. It differentiates from sibling tools like delete_mnemon_relationship and list_mnemon_relationships.

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?

Provides extensive guidance: when to use direct fields (e.g., faction membership, quest links) vs this tool, references describe_mnemon_types for valid matrices, and explains directionality with concrete examples (e.g., PARENT_OF hierarchy).

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

create_npc_mnemonsAInspect

Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wire membership; the server projects into MEMBER relationships. Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations are minimal (all false), so the description carries the burden. It mentions that the server projects into MEMBER relationships, adding useful context. No contradiction with annotations. Does not describe all side effects but enough for a creation tool.

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: purpose, member wiring guidance, authorization. No fluff, front-loaded information. Efficiently conveys essential information.

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?

Given the complexity (nested items, relationships) and the existence of an output schema, the description covers the main points. It could mention default visibility or handling of sheetId, but it is reasonably complete for an experienced user.

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 0% per context, requiring the description to explain parameters. It explains npcType requirement and the member/affiliation IDs. However, it does not cover tags, sheetId, visibility, relationshipIds, or primaryLocationEntryId, leaving gaps.

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?

Clearly states it creates NPC mnemons of type FACTION or INDIVIDUAL. The name and description distinguish it from sibling tools like create_player_mnemons or create_custom_mnemons, making its purpose unambiguous.

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?

Explicitly restricts usage to GM/co-GM only. Provides guidance on wiring membership using memberNpcEntryIds and affiliationEntryIds. Does not contrast with other create tools, but the name and context sufficiently indicate when to use this tool.

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

create_player_mnemonsAInspect

Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id), and characterId (SessionCharacter id) or the entry will be auto-detached. Players with campaign.write may call this for a party they belong to; GMs may call for any party.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations indicate readOnlyHint=false, confirming mutation. The description warns about auto-detachment if required fields for CHARACTER are missing, and mentions permission requirements. This adds behavioral context 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.

Conciseness5/5

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

Two concise sentences: first states the overall purpose, second provides critical usage details for the CHARACTER kind. Every sentence adds value without redundancy.

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?

Covers the main types and requirements. Missing explicit info about return value, but output schema exists. Slightly incomplete on explaining fields like visibility and tags, but schema covers them.

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 includes descriptions for many parameters (e.g., title, partyId, markdown, characterId, parentEntryId). The description adds context about their collective purpose and the auto-detachment behavior, which is valuable.

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 specifies it creates Player mnemons of three kinds (PARTY, CHARACTER, NOTES), and for CHARACTER kind it details required fields (parentEntryId, partyId, characterId). This clearly distinguishes it from sibling tools like create_npc_mnemons or create_custom_mnemons.

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?

It states who can call it (players with campaign.write for their party, GMs for any party) and conditions for CHARACTER kind. It doesn't explicitly say when NOT to use it or name alternatives, but the context is clear.

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

create_quest_mnemonsAInspect

Create Quest mnemons. questStatus is one of active|completed|failed. Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations already indicate the tool is not read-only and not destructive. The description adds the permission restriction (GM/co-GM only) and the questStatus values, which provides some behavioral context beyond annotations but not extensively.

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 consists of two short sentences that convey essential information without any fluff. It is front-loaded with the verb and resource, making it efficient.

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

Completeness2/5

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

Despite having an output schema, the description does not explain what the tool returns or how to use the complex items array. Given the input schema's depth and the 0% schema coverage, the description is too minimal to fully guide usage.

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

Parameters1/5

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

Given 0% schema description coverage, the description must compensate by explaining parameters. It only mentions 'questStatus' and its values, ignoring other fields like campaignId, items, title, markdown, etc. This is severely insufficient for a tool with a complex input schema.

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 explicitly states the tool creates quest mnemons and specifies the questStatus enum values. This clearly identifies the tool's purpose and distinguishes it from other create tools like create_archive_mnemons or create_npc_mnemons.

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?

The description clearly states that only GMs or co-GMs may call this tool, providing explicit usage restriction. It does not compare to alternative tools for quest creation, but the permission rule is a strong usage guideline.

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

create_sessionAInspect

Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights.

ParametersJSON Schema
NameRequiredDescriptionDefault
endAtNoSession end time as an ISO-8601 instant.
titleYesSession title (e.g. 'Session 12: The Dragon's Lair').
startAtYesSession start time as an ISO-8601 instant (e.g. '2026-06-01T19:00:00Z').
campaignIdYesCampaign ID.
descriptionNoOptional session description / GM notes.
invitedUserIdsNoUser IDs to invite (must be active campaign members).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
endAtNo
titleYes
guildIdNo
startAtYes
createdAtNo
updatedAtNo
campaignIdYes
descriptionNo
invitedUserIdsNo
createdByUserIdNo
invitedPartyIdsNo
attendanceRepliesNo
Behavior2/5

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

With no helpful annotations (all false), the description carries the full burden of disclosure. It states 'Schedule' (creation) but does not mention side effects, permission requirements, idempotency, or what happens on success. No behavioral traits beyond the basic action are disclosed.

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 extremely concise: two sentences, front-loaded with the action, and no redundant words. Every sentence adds value—purpose and usage note.

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

Completeness3/5

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

Given the tool has 6 parameters and an output schema, the description is brief but covers the core scheduling function. It omits any mention of workflow (e.g., ensuring campaign exists, creation effect on other data). The output schema may provide return details, but the description lacks completeness for full context.

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 coverage is 100%, so parameter documentation is thorough. The description adds marginal value by reinforcing the ISO-8601 format for startAt and noting endAt is optional, but does not provide new semantic information beyond what is already in the input schema.

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 clearly states the tool's purpose: 'Schedule a campaign session.' It uses a specific verb and resource, distinguishing it from siblings like list_sessions, update_session, and get_session. The added context about laying out planned arcs or recurring play nights reinforces its use case.

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

Usage Guidelines3/5

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

The description provides basic usage guidance: 'Provide an ISO-8601 startAt; endAt is optional.' It implies the tool is for scheduling, but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives like update_session. No exclusions or prerequisites are mentioned.

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

create_session_summary_mnemonsAInspect

Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations indicate mutation but no destructive behavior. Description adds permission constraint (GM/co-GM only) beyond annotations, but does not detail other side effects.

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?

Two sentences, no redundancy, front-loaded with action and purpose.

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

Completeness3/5

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

Omits details about output, parameter fields, and usage tips. With many optional fields in items, more guidance would help. Output schema exists but not referenced.

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

Parameters1/5

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

Description provides no information about parameters; schema has 0% coverage from description. Relies entirely on schema, which has inline descriptions but tool description fails to add value.

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?

Clearly states it creates SessionSummary mnemons, distinguishes from other create_*_mnemons tools. Includes usage restriction (GM/co-GM only).

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?

Specifies that only GMs/co-GMs may call this tool, but does not explicitly compare to sibling tools like create_journal_mnemons. Context implies usage for session summaries.

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

delete_mnemonA
Destructive
Inspect

Permanently delete a mnemon entry and every relationship that touches it. GM-only on the backend. This cannot be undone — confirm with the user before calling. entryId accepts a hex id or an exact title.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesMnemon entry ID (hex) or exact title.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
entryIdYes
successYes
campaignIdYes
Behavior5/5

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

Annotations already indicate destructiveHint true, but the description adds critical context: it permanently deletes the entry and all relationships, is GM-only, and requires user confirmation. No contradictions.

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?

Four sentences, each providing essential information: action, scope, access control, confirmation requirement, and parameter format. No unnecessary words, well front-loaded.

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 annotations, input schema, and presence of an output schema, the description thoroughly covers purpose, parameter specifics, behavioral implications, and usage constraints. No gaps identified.

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 has 100% coverage, so baseline is 3. The description adds value by specifying that entryId accepts a hex id or exact title, which is not in the schema's minLength-only description. CampaignId remains unchanged.

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 uses specific verb 'delete' with resource 'mnemon entry' and clarifies it also removes all relationships. This clearly distinguishes it from sibling tools like 'delete_mnemon_relationship' which only deletes a single relationship.

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?

The description states it is GM-only and warns that it cannot be undone, implying use only after user confirmation. However, it does not explicitly mention when not to use or compare to alternatives like 'delete_mnemon_relationship' for targeted deletion.

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

delete_mnemon_relationshipC
Destructive
Inspect

Delete a relationship by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYes
relationshipIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes
campaignIdYes
relationshipIdYes
Behavior2/5

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

Annotations already set destructiveHint=true, so the destructive nature is known. The description adds no additional behavioral details, such as whether the operation is reversible, what side effects occur, or what happens when the relationship does not exist.

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 description is a single sentence, which is succinct and minimally impacts token usage. However, it could be more informative without harming conciseness.

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

Completeness2/5

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

Given the existence of an output schema and annotations, the description still fails to provide sufficient context about the required parameters and the overall effect. The agent might incorrectly assume only one identifier is needed.

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

Parameters2/5

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

With 0% schema description coverage, the description should compensate by explaining parameters. It does not clarify what campaignId is used for (e.g., scoping the relationship) or how relationshipId relates. The phrase 'by id' is insufficient for an agent to understand the parameter roles.

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

Purpose3/5

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

The description clearly states the action (Delete) and the resource (relationship), but the phrase 'by id' is ambiguous given the requirement for both campaignId and relationshipId. It does not explicitly differentiate from sibling tools like create_mnemon_relationship or list_mnemon_relationships, though the verb 'delete' implies distinction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as unlisting or archiving relationships. No prerequisites or context about user permissions or ownership are provided.

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

describe_mnemon_typesA
Read-onlyIdempotent
Inspect

Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before create_mnemon or create_mnemon_relationship when you are unsure which type or label to use. NPC subtype is strictly FACTION | INDIVIDUAL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
typesYes
blockOpsYes
questBodyYes
commonFieldsYes
idReferencesYes
relationshipsYes
markdownFormatYes
relationshipLabelsYes
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so description does not need to add safety info. Description adds the context of what is returned (catalog, fields, relationship matrix) but no behavioral traits beyond that. Adequate given annotation coverage.

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?

Four sentences front-loaded with the main action, followed by usage guidance and a specific constraint. Every sentence adds value, no fluff.

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 no parameters and presence of an output schema, description fully covers what the agent needs: what the tool returns (types, fields, relationship matrix), when to use it, and a key constraint (NPC subtype). Completeness is high.

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?

Input schema has zero parameters, so baseline is 4. Description adds no parameter info but provides meaningful context about the output, which is sufficient.

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?

Describes specific verb 'Returns' and resource 'catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix'. Differentiates from siblings by explicitly naming create_mnemon and create_mnemon_relationship and stating when to call this tool before those.

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?

Explicitly states when to use: 'Call this before create_mnemon or create_mnemon_relationship when you are unsure which type or label to use.' No explicit when-not, but context implies it's not needed if you already know the types. Also gives a specific constraint on NPC subtype.

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

forum_create_topicAInspect

Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categories to get the correct categoryId.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawYesTopic body in Markdown.
titleYesTopic title. Keep it concise and descriptive.
categoryIdYesNumeric category ID. Call forum_list_categories first if unsure.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
topic_idNo
usernameNo
topic_slugNo
post_numberNo
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false) already indicate non-read-only and non-destructive. The description adds context about duplicate checking and category retrieval, but omits details on behavior if duplicate or error conditions. Still good coverage.

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?

Two sentences, front-loaded with purpose. Every word earns its place. No fluff.

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 3-parameter creation tool with output schema, the description covers prerequisites and usage context. No gaps evident.

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 covers all 3 parameters (100%). Description adds value: clarifies `raw` is Markdown, advises concise title, and reminds to use forum_list_categories for categoryId. Provides helpful guidance beyond schema.

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?

Clearly states 'Create a new forum topic' with explicit categories (bug report, feature request, or general discussion). Distinguishes from sibling tools like forum_search, forum_list_categories, and forum_reply.

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?

Provides explicit prerequisites: 'Always call forum_search first to check for duplicates' and 'Call forum_list_categories to get the correct categoryId.' This tells when to use and what to do before using.

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

forum_get_latest_topicsA
Read-onlyIdempotent
Inspect

Get the latest active topics across all forum categories.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
topic_listYes
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds that it retrieves 'active' topics that are 'latest,' providing behavioral context 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?

The description is a single, clear sentence with no unnecessary words, effectively conveying the tool's purpose.

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 tool's simplicity (no parameters, clear purpose, and an output schema that presumably describes the return format), the description adequately covers what is needed.

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 tool has no parameters, so the baseline is 4. Schema coverage is 100% and no further param description is needed.

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 clearly states that the tool retrieves the latest active topics across all categories, distinguishing it from sibling tools like forum_list_topics (likely listing with more options) and forum_get_notifications.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives is provided. The scope 'across all forum categories' suggests it is for global overviews, but this is implicit rather than clearly stated.

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

forum_get_notificationsA
Read-onlyIdempotent
Inspect

Get the current user's forum notifications (replies, mentions, likes).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
notificationsYes
Behavior3/5

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

The annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's a safe read operation. The description adds the types of notifications but does not disclose additional behavioral traits such as pagination, ordering, or rate limits. It meets a baseline but does not exceed expectations.

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 a single, concise sentence that is front-loaded with the action and resource. It contains no superfluous words and is immediately understandable.

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 parameters, clear annotations, and an output schema, the description is fully complete. It explains what the tool returns without needing to detail return values since an output schema exists.

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?

With no input parameters, the description adds meaning by specifying the scope (current user's notifications) and types (replies, mentions, likes). Since schema coverage is 100% trivially, the description compensates by clarifying the output semantics, earning above-baseline.

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 uses a specific verb 'Get' and resource 'current user's forum notifications' and lists examples (replies, mentions, likes), making the purpose unambiguous. It clearly distinguishes from sibling forum tools like 'forum_get_latest_topics' or 'forum_get_user_posts'.

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?

While the description does not explicitly state when to use this tool versus alternatives, the context of no parameters and the clear purpose of retrieving notifications makes it obvious. There are no similar notification tools among siblings, so the need for exclusion guidance is minimal.

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

forum_get_user_postsA
Read-onlyIdempotent
Inspect

List topics created by the current user on the forum.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
topic_listYes
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds the 'current user' context, which is consistent but does not provide additional behavioral details such as pagination, ordering, or handling of empty results.

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?

Single sentence, front-loaded with verb and resource. No wasted words.

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 parameter-less tool with an output schema defined separately, the description adequately specifies what the tool does. However, it lacks mention of ordering, pagination, or return format, but given the simplicity, it is fairly complete.

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?

Input schema has 0 parameters (100% coverage by default). The description adds meaning by clarifying that the scope is the current user's topics, implying implicit authentication. With no params, the baseline is 4.

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 clearly states the verb 'List' and the resource 'topics created by the current user', distinguishing it from sibling tools like forum_list_topics (likely all topics) and forum_get_latest_topics.

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

Usage Guidelines3/5

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

The description implies use for the current user's own posts but does not explicitly state when to use this vs. other forum listing tools (e.g., forum_list_topics for all topics, forum_search for search). No exclusions or alternatives are mentioned.

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

forum_list_categoriesA
Read-onlyIdempotent
Inspect

List all Discourse forum categories at community.argo.games. Call this first when the user wants to post a bug report or feature request — you need the categoryId to create a topic.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
category_listYes
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds value by specifying the exact domain (community.argo.games) and the purpose of the retrieved data (to get categoryId for topic creation), enhancing transparency 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?

The description is a single, clear sentence that front-loads the action and purpose. Every word earns its place with no wasted text.

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 tool has no parameters and an output schema exists, the description fully covers what the tool does, when to use it, and why it's needed. No missing information.

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?

There are zero parameters, so the baseline is 4. The description does not need to add parameter info and is appropriate.

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 clearly states the tool lists all Discourse forum categories at a specific community, with a specific verb and resource. It distinguishes from siblings by explaining the need for categoryId to create a topic.

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?

The description explicitly says 'Call this first when the user wants to post a bug report or feature request', providing clear when-to-use guidance. It does not explicitly mention alternatives or when not to use, but the context is sufficient.

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

forum_list_topicsA
Read-onlyIdempotent
Inspect

List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. Use forum_list_categories to discover categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryIdNoNumeric category ID. Provide this and/or categorySlug.
categorySlugNoCategory slug (e.g. 'bug-reports'). Provide this and/or categoryId.

Output Schema

ParametersJSON Schema
NameRequiredDescription
topic_listYes
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds that if one parameter is given, the other is auto-resolved, which is useful behavioral context. No mention of pagination or sorting, but acceptable given 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?

Two sentences, front-loaded with purpose, then usage guidance. No filler or repetition. 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?

Covers purpose, parameter usage, and discovery of categories. Output schema exists for return format. Slightly lacks mention of ordering or limits, but adequate for a simple list 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 has 100% coverage with descriptions for both parameters. Description adds relational meaning: providing either parameter auto-resolves the other from the category list, which goes beyond schema and clarifies mutual dependency.

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?

Specifies verb 'list', resource 'topics', and scope 'in a specific forum category'. Distinguishes from sibling tools like forum_get_latest_topics and forum_list_categories by focusing on listing topics per category.

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?

Explicitly states how to provide parameters (categorySlug and/or categoryId) and that the other is auto-resolved. Also recommends forum_list_categories for discovery. Does not explicitly exclude alternatives but gives clear context.

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

forum_read_topicA
Read-onlyIdempotent
Inspect

Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped).

ParametersJSON Schema
NameRequiredDescriptionDefault
topicIdYesNumeric Discourse topic ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
slugYes
titleYes
post_streamYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context about returning all posts/replies as plain text with HTML stripped, which annotations do not cover.

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?

Two concise sentences: the first states the core purpose, the second clarifies output format. No wasted words, information is front-loaded.

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?

Given the simple input (one parameter) and presence of an output schema, the description provides sufficient behavioral context. It could mention pagination if any, but likely unnecessary for a read-all operation.

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 coverage is 100% with a single parameter topicId that has a clear description. The tool description does not add additional detail beyond the schema, so baseline 3 is appropriate.

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 clearly states the tool reads the full content of a forum topic including all posts and replies, with plain text output. This verb+resource structure distinguishes it from sibling tools like forum_create_topic or forum_search.

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?

The description implies usage for reading complete topic content, but does not explicitly state when to use this versus alternatives like forum_get_latest_topics or forum_list_topics. However, the purpose is clear enough to guide selection.

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

forum_replyBInspect

Reply to an existing forum topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawYesReply body in Markdown.
topicIdYesNumeric Discourse topic ID to reply to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
topic_idNo
usernameNo
topic_slugNo
post_numberNo
Behavior2/5

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

Description adds no behavioral details beyond the basic operation. Annotations indicate it is a write operation (readOnlyHint=false) but not destructive. No mention of side effects, permissions, or rate limits. The openWorldHint is present but unexplained.

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?

Single sentence, no fluff, front-loaded purpose statement. Very concise.

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

Completeness3/5

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

Adequate for a simple write tool; however, missing context about authentication requirements, return value (though output schema exists), and potential error cases.

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 covers both parameters (raw, topicId) with descriptions. The description repeats no additional parameter info. Schema coverage is 100%, so baseline score of 3 is appropriate.

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?

Description clearly states the action (reply) and the resource (existing forum topic). It is distinct from sibling tools like forum_create_topic and forum_read_topic.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites or context such as needing to be logged in or having permission.

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

get_campaignA
Read-onlyIdempotent
Inspect

Retrieve details of an Argo campaign (name, description, rule system, co-GMs).

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYesThe ID of the campaign to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
ruleSystemNo
campaignNameYes
gameMasterIdYes
gameSystemSlugNo
coGameMasterIdsNo
campaignDescriptionNo
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds specific fields returned but no further behavioral traits like authentication requirements or response size.

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?

Single sentence, front-loaded with the verb, and no unnecessary words. Every part earns its place.

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 read-only tool with one parameter and an output schema, the description is sufficient. It complements annotations and schema without missing critical context.

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 schema already documents the campaignId parameter. The description adds no additional meaning to the parameter beyond what the schema provides.

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 uses a specific verb ('Retrieve') and resource ('Argo campaign'), and lists example fields (name, description, rule system, co-GMs), clearly distinguishing it from siblings like list_campaigns.

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

Usage Guidelines3/5

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

The description implies use for retrieving full details by ID, but does not explicitly state when to use this over list_campaigns (which likely returns summaries) or provide alternative tool names.

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

get_guildA
Read-onlyIdempotent
Inspect

Retrieve full details of a guild (members, campaigns, calendar metadata).

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYesGuild ID to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
membersNo
ownerIdYes
summaryNo
campaignIdsNo
Behavior4/5

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

Annotations already declare the tool as read-only and idempotent. The description adds value by specifying the returned content (full details with members, campaigns, calendar metadata), which goes beyond the annotations. No contradictions.

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 a single, well-structured sentence with no superfluous words. It effectively communicates the tool's purpose and scope in a concise manner.

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 tool's simplicity (one parameter, no nested objects, clear annotations), the description covers all necessary aspects: it specifies the return content and implies the action. The presence of an output schema (not shown) further reduces the need for additional details.

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?

The only parameter 'guildId' is described in the schema as 'Guild ID to retrieve.' The description does not add additional meaning or context beyond what the schema already provides. With 100% schema coverage, this is adequate but does not exceed expectations.

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 clearly states the verb 'retrieve' and the resource 'full details of a guild', listing specific components (members, campaigns, calendar metadata). It distinguishes this tool from siblings like 'list_guilds' (which likely provides a summary list) and 'get_campaign' (a different entity).

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

Usage Guidelines3/5

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

The description implies usage for retrieving detailed guild information but does not explicitly state when to use this tool versus alternatives like 'list_guilds' or when not to use it. No exclusions or context cues are provided beyond the sibling list.

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

get_mnemonA
Read-onlyIdempotent
Inspect

Get the full details of a specific mnemon entry (title, blocks, type properties).

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesMnemon entry ID (hex) or exact title.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYes
titleYes
blocksYes
entryIdYes
typePropertiesNo
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read operation. The description adds value by specifying the returned data (title, blocks, type properties) beyond what annotations provide. 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 a single sentence of 14 words with no fluff. It front-loads the action and resource, and every word is necessary. Highly concise and well-structured.

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 that the tool has an output schema (as indicated in context signals), the description does not need to detail return values. It succinctly covers the input, purpose, and output scope. The description is complete for a simple retrieval tool with good annotations.

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 coverage is 100% with both parameters having descriptions (entryId: 'Mnemon entry ID (hex) or exact title.', campaignId: 'Campaign ID.'). The tool description does not add additional meaning or context beyond what is already in the schema, so the baseline score of 3 applies.

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 clearly states the verb 'Get' and the resource 'full details of a specific mnemon entry', listing what details are included (title, blocks, type properties). This distinguishes it from sibling tools like list_mnemons (which lists many entries) and create/update variants.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like list_mnemons or describe_mnemon_types. While the purpose is clear, there is no guidance on context or trade-offs, making it adequate but not helpful for tool selection among many siblings.

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

get_sessionA
Read-onlyIdempotent
Inspect

Get details of a single campaign session.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSession ID.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
endAtNo
titleYes
guildIdNo
startAtYes
createdAtNo
updatedAtNo
campaignIdYes
descriptionNo
invitedUserIdsNo
createdByUserIdNo
invitedPartyIdsNo
attendanceRepliesNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds only the 'details of a single session' context. No contradictions, but no additional behavioral disclosure 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.

Conciseness5/5

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

Single sentence with no wasted words. Information is front-loaded and efficient.

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 read-only tool with complete schema coverage, annotations, and output schema, the description is adequate. No missing details.

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 has 100% description coverage with minimal descriptions ('Session ID.', 'Campaign ID.'). The tool description adds no further meaning to the parameters. Baseline of 3 is appropriate.

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 clearly states the tool retrieves details of a single campaign session, using a specific verb and resource. It distinguishes from sibling tools like 'list_sessions' which returns multiple sessions, and 'create_session' or 'update_session' which are mutations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. It does not mention when not to use it or provide any context for selection among siblings like 'list_sessions' or 'get_campaign'.

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

invite_guild_memberAInspect

Invite a user to join the guild. Owner/Admin only.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID to invite.
guildIdYesGuild ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
userIdYes
guildIdYes
successYes
Behavior4/5

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

Annotations already indicate write operation (readOnlyHint=false) and non-destructive nature (destructiveHint=false). Description adds valuable behavioral context: the permission requirement ('Owner/Admin only'). It does not detail success/failure behavior, but overall transparency is adequate.

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 two sentences with no filler. First sentence states the action, second explains the permission constraint. Every part earns its place; it is optimally concise.

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 simple invite tool with an existing output schema, the description is complete enough. It covers the essential action and permission. It could optionally mention the invitation process or prerequisites, but is not critically lacking.

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?

Input schema description coverage is 100% with clear descriptions for both parameters. The description adds no additional information about parameters, per the rule that baseline is 3 when schema coverage is high.

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 clearly states the tool's purpose: inviting a user to join a guild. It specifies the action ('invite') and the resource ('guild'), and distinguishes itself from sibling tools like 'remove_guild_member' or 'set_guild_member_role' through the 'Owner/Admin only' permission constraint.

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?

The description implicitly advises usage only when the user has Owner/Admin role, but does not explicitly mention when not to use or provide alternative tools. However, given context of siblings, this is a minor gap; the core condition is clear.

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

invite_user_by_emailA
Destructive
Inspect

Send Argo email invitations to up to 20 addresses on behalf of the current user. Recipients receive a sign-up link. No campaign or guild context is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailsYesEmail addresses to invite. Up to 20 per call. Each address that already corresponds to an Argo user will be skipped server-side.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Description explains the action (send invitations) and that existing users are skipped, but does not address implications of destructiveHint=true or other side effects 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.

Conciseness5/5

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

Two sentences, front-loaded with action, no wasted words.

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 simple tool with 1 parameter and output schema, the description covers all necessary context: action, recipient count, and behavior for existing users.

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%, but description adds value by explaining the limit (up to 20) and server-side skipping of existing users.

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?

Description clearly states 'Send Argo email invitations' with specific verb and resource, and distinguishes from sibling tools like invite_guild_member by noting no campaign/guild context required.

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?

Description says 'No campaign or guild context is required,' implying when to use, but does not explicitly mention alternatives or when not to use.

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

list_campaignsA
Read-onlyIdempotent
Inspect

List all Argo campaigns the current grant token has access to, including the access level ("read" or "read+write") for each. Call this first when the user has not provided a campaign ID. Each entry includes both campaignName and id (shown inline as [id: …] and also in structuredContent.idMap). Use the id verbatim for any subsequent tool call that takes a campaignId. In prose to the user, refer to campaigns by campaignName; do not print the raw id unless asked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
idMapYes
campaignsYes
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description details that each entry includes access level, campaignName, and id (inline and in structuredContent.idMap), and advises against printing raw IDs unless asked.

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 description is comprehensive but slightly verbose. However, every sentence contributes useful information, and the structure is logical. Could be trimmed slightly without losing clarity.

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?

With no parameters and an output schema, the description is complete: it explains when to call, what it returns, and how to use the results. No gaps.

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?

No parameters exist, so baseline is 4. The description adds no parameter semantics but compensates by explaining the return structure.

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 specifies that the tool lists all Argo campaigns the current grant token has access to, including access levels. It clearly states when to call this tool (when no campaign ID is provided), distinguishing it from sibling tools like get_campaign.

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 instructs to call this first when the user has not provided a campaign ID. Provides guidance on using the id verbatim for subsequent calls and referring to campaigns by campaignName, avoiding raw IDs.

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

list_co_gmsA
Read-onlyIdempotent
Inspect

List the assistant GMs (co-GMs) of a campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description is consistent. No additional behavioral traits (e.g., pagination, ordering) are disclosed 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?

Single sentence, zero wasted words. It is appropriately sized and front-loaded.

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 simple list tool with one parameter, annotations, and an output schema, the description is nearly complete. Could mention potential empty result, but overall sufficient.

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% for the single parameter 'campaignId' with description 'Campaign ID.' The tool description adds no extra meaning beyond what the schema provides.

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 'List the assistant GMs (co-GMs) of a campaign' uses a specific verb ('list') and resource ('co-GMs') and clearly distinguishes from sibling tools like add_co_gm and remove_co_gm.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The context is implied by the name and siblings, but no when-not-to or alternative suggestions are provided.

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

list_friendsA
Read-onlyIdempotent
Inspect

List the current user's accepted friends.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds value by specifying 'accepted friends,' but does not disclose additional behavioral traits such as rate limits, authorization requirements, or pagination behavior.

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 a single concise sentence with no wasted words. It is front-loaded and immediately conveys the tool's purpose.

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 simple list tool with no parameters and an existing output schema, the description is fairly complete. It could optionally mention return format, but the output schema likely covers that.

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 has zero parameters, and parameter description coverage is 100% by default. The description does not need to add parameter information. The baseline for 0 parameters is 4, and the description is clear enough.

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 clearly states a specific action ('List') on a specific resource ('the current user's accepted friends'). It effectively distinguishes this tool from siblings like 'list_received_friend_requests' and 'list_sent_friend_requests' by specifying 'accepted friends'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no context about prerequisites or scenarios where this tool is preferred over other list tools.

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

list_guild_membersA
Read-onlyIdempotent
Inspect

List the members of a guild (id, role, status, invitedAt, joinedAt).

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYesGuild ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is safe. The description adds the specific fields returned, providing extra context 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.

Conciseness5/5

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

Single sentence with zero waste, directly conveying the action, resource, and key fields.

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?

The description covers the return fields and the required parameter; with an output schema present (not shown), this is adequately complete for a straightforward list tool.

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 coverage is 100% with a single required parameter 'guildId' described as 'Guild ID.' The description's phrase 'members of a guild' reinforces the parameter's purpose, but adds minimal additional semantics.

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 clearly states 'List the members of a guild' with specific fields returned, differentiating from sibling tools like remove_guild_member or set_guild_member_role.

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

Usage Guidelines3/5

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

The description does not explicitly provide when-to-use or when-not-to-use guidance, but the context from sibling tools implies this is for listing members without modifications.

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

list_guildsA
Read-onlyIdempotent
Inspect

List the guilds the current user belongs to, with role (Owner/Admin/Member), member count, and campaign count. Requires the guild.read scope. Each entry includes both name and guildId (shown inline as [id: …] and in structuredContent.idMap). Use the guildId verbatim for any tool that takes one; refer to guilds by name in prose to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
idMapYes
guildsYes
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive. Description adds details about returned fields and scope requirement, enhancing transparency 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.

Conciseness5/5

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

Two efficient sentences front-loading purpose and usage. No wasted words.

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 parameterless list tool with an output schema, the description fully explains what is returned and how to use the results, including scope requirement.

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?

No parameters exist, so schema coverage is 100%. Description adds value by explaining output structure and no-input nature, which is helpful for the agent.

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?

Clearly states the tool lists guilds for the current user and specifies the returned data (role, member count, campaign count). Verb and resource are specific, and it distinguishes from siblings like get_guild or list_campaigns.

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?

Explicitly requires the guild.read scope and provides guidance on using guildId vs name. No explicit when-not-to-use or alternatives, but the context is clear.

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

list_mnemon_relationshipsA
Read-onlyIdempotent
Inspect

List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). Use this to find members of a faction, allies/enemies of an NPC, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
linkedYes
incomingYes
outgoingYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by detailing the output structure (the three categories and fields like entryId/title/type/relationshipTypes), which is behavioral information not present in annotations. No contradictions.

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 two sentences long with no extraneous information. The first sentence defines the action and output, and the second provides usage context. Every word earns its place.

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?

Given simple parameters (entryId, campaignId) and an output schema (assumed to describe the three lists), the description is largely complete. It could explicitly mention that both parameters are required, but the schema already specifies that.

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?

With 0% schema description coverage, the description should compensate. It implicitly references entryId via 'mnemon entry' but doesn't explain campaignId or the format of the parameters. However, parameter names are self-explanatory, and the description is sufficient for basic understanding.

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 clearly states the action (list relationships) and the resource (mnemon entry), and specifies the output structure (split into outgoing edges, incoming edges, and flat list). This effectively distinguishes it from sibling tools like create_mnemon_relationship or delete_mnemon_relationship.

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?

The description provides explicit use cases ('find members of a faction, allies/enemies of an NPC, etc.'), guiding when to use the tool. It does not explicitly state when not to use or list alternatives, but the context from sibling tools and the read-only nature is clear.

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

list_mnemonsA
Read-onlyIdempotent
Inspect

List mnemon (lore/memory) entries for an Argo campaign. Optional filters: title (case-insensitive substring on entry title only) and type (e.g. NPC, Location, Quest). To find entries by what they CONTAIN, use search_mnemons instead. Returns up to limit entries (default 100); when hasMore is true, call again with offset = the returned nextOffset to fetch the next page. Each entry includes both title and entryId (shown inline as [id: …] and in structuredContent.idMap). Use the entryId verbatim for any tool that takes one; refer to entries by title in prose to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoMnemon type filter (NPC, Location, Quest, …).
limitNoMaximum entries to return (default 100).
titleNoCase-insensitive substring filter on title.
offsetNoEntries to skip. Pass the nextOffset from the previous call to fetch the next page.
campaignIdYesID of the campaign.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idMapYes
entriesYes
hasMoreYes
nextOffsetNo
Behavior4/5

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

Annotations already declare readOnly and idempotent. Description adds pagination details and entry structure, providing useful context 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?

Single paragraph with clear structure. Every sentence adds value, though could be slightly more terse. Information is well-organized.

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?

With output schema existing, description covers filtering, pagination, and disambiguation completely. No missing context for effective usage.

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%, but description adds: title filter is case-insensitive substring per entry title, type examples, and pagination semantics. Meaningful addition.

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?

Description clearly states 'List mnemon entries' for a campaign, distinguishing it from sibling 'search_mnemons'. Verb+resource is specific and unambiguous.

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 contrasts with search_mnemons for content-based search, and explains pagination. Effectively guides when to use this tool vs alternatives.

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

list_received_friend_requestsA
Read-onlyIdempotent
Inspect

List incoming friend requests awaiting your response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior4/5

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

Annotations already mark it as readOnly and idempotent. The description adds that it lists 'incoming friend requests awaiting your response', which clarifies the subset of requests. No contradictions. For a zero-parameter read operation, this is sufficient.

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 a single, clear sentence with no filler. It is appropriately short and front-loaded with the key information.

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?

Given the tool has no parameters, annotations cover behavior, and an output schema exists, the description is largely complete. However, it would benefit from mentioning that the list is empty if no pending requests exist, but this is minor.

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?

There are no parameters, and the input schema has 100% coverage. The description does not need to explain any parameters. Baseline score for no parameters is 4.

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 clearly states the tool lists incoming friend requests that are pending a response. The verb 'list' and resource 'received friend requests' are specific and distinct from sibling tools like 'list_sent_friend_requests' and 'accept_friend_request'.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs. alternatives, but the context of sibling tools implies it is for viewing pending requests. Usage is implied but not stated, such as prerequisites or that it shows only unresponded requests.

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

list_sent_friend_requestsA
Read-onlyIdempotent
Inspect

List outgoing friend requests that are still pending.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the behavioral detail that it only returns 'pending' requests, which is relevant context 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?

The description is a single, concise sentence that is front-loaded and contains no unnecessary words. Every part is essential.

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?

Given no parameters, a simple purpose, and the existence of an output schema (not shown but present), the description adequately covers the tool's behavior. It does not need to elaborate further on return values or error conditions.

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?

There are no parameters, so the description does not need to add parameter info. Schema coverage is 100% trivially. The description adds no extraneous information, which is appropriate.

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 clearly specifies the action ('List'), the resource ('outgoing friend requests'), and the status ('still pending'). It is distinct from sibling tools like 'list_received_friend_requests' which would list incoming requests.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While the name implies its purpose, the description does not contrast it with similar tools (e.g., list_received_friend_requests) or state when not to use it.

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

list_sessionsA
Read-onlyIdempotent
Inspect

List campaign sessions for a given month (defaults to the current month).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year. Defaults to current year.
monthNoCalendar month (1-12). Defaults to current month.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, indicating a safe read operation. The description adds the default month behavior, but does not disclose additional behavioral traits like pagination, ordering, or that sessions are listed for a specific campaign (implied by required campaignId). It does not contradict 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 a single sentence that efficiently conveys the core purpose and default behavior. No wasted words, perfectly sized for the tool's simplicity.

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?

The description covers the main functionality and defaults. It does not explicitly state that sessions are tied to a campaign (though campaignId is required), nor mention ordering or limits. However, the presence of an output schema reduces the need for return value documentation. Slightly incomplete but adequate for a simple list tool.

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% (all three parameters have descriptions). The description adds the default month behavior, which is already stated in the schema descriptions for year and month. No significant additional meaning beyond the schema. Baseline 3 applies.

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 clearly states the verb 'List', the resource 'campaign sessions', and the scope 'for a given month (defaults to the current month)'. It distinguishes this tool from siblings like list_campaigns (which lists campaigns) and get_session (which retrieves a specific session).

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

Usage Guidelines3/5

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

The description implies when to use (listing sessions by month) but does not explicitly state when not to use or provide alternatives. For example, it does not mention that get_session should be used for a single session or that list_campaigns is for campaigns. Usage context is clear but lacks exclusionary guidance.

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

reject_friend_requestA
Destructive
Inspect

Reject an incoming friend request from the given user.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID of the counterparty.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
senderIdYes
createdAtNo
updatedAtNo
receiverIdYes
Behavior3/5

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

The description's 'reject' aligns with annotations (destructiveHint: true), but it does not add behavioral context beyond the annotation. No mention of consequences (e.g., permanent removal, notification) or side effects. With annotations present, this is adequate but not enriching.

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?

Single, concise sentence with no redundant words. Front-loaded and efficient.

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?

Given the presence of an output schema, annotations, and full schema coverage, the description is largely complete. However, it could briefly address the outcome or side effects to fully inform the agent.

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% (userId described as 'Argo user ID of the counterparty'). The description adds no additional parameter meaning beyond the schema, so baseline 3 applies.

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 clearly states the action ('Reject'), the resource ('incoming friend request'), and the target ('from the given user'), distinguishing it from sibling tools like accept_friend_request and cancel_friend_request.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., accept_friend_request, cancel_friend_request). The description fails to provide context or exclusions, leaving the agent to infer usage solely from the tool name.

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

remove_co_gmA
Destructive
Inspect

Remove a co-GM from a campaign. Owner-only or self-removal.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesUser ID of the co-GM to remove.
campaignIdYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
userIdYes
successYes
campaignIdYes
Behavior4/5

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

Annotations already provide destructiveHint=true, and the description adds behavioral context about access control (owner-only or self-removal). It does not contradict annotations and provides useful additional information.

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 extremely concise: two short sentences that immediately convey the action and restrictions. Every word earns its place, with no unnecessary filler.

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?

Given the simplicity of the tool (2 params, output schema present), the description covers purpose and usage adequately. It might miss post-removal details, but for a straightforward removal action, it is sufficiently complete.

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%—both parameters have clear descriptions. The tool description does not add extra meaning beyond the schema, so a baseline of 3 is appropriate.

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 clearly states 'Remove a co-GM from a campaign' with specific verb and resource. It also distinguishes from siblings like add_co_gm and list_co_gms by focusing on removal. The owner-only or self-removal clarification adds precision.

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?

The description specifies that only the campaign owner or the co-GM themselves can use this tool, providing clear context. However, it does not explicitly mention when not to use it or name alternative tools like remove_guild_member.

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

remove_guild_memberA
Destructive
Inspect

Remove a member from the guild. Owner/Admin only.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesUser ID of the member to remove.
guildIdYesGuild ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
userIdYes
guildIdYes
successYes
Behavior4/5

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

Annotations indicate destructiveHint=true, and the description adds the role restriction (Owner/Admin only) beyond what annotations provide, without contradiction.

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?

Single front-loaded sentence with no wasted words, efficiently conveying purpose and usage constraint.

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 simple removal action with an output schema, the description covers purpose and access control completely.

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 coverage is 100% with clear descriptions for both parameters. The description adds no additional parameter detail beyond the schema, meeting baseline.

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 explicitly states 'Remove a member from the guild' with the verb 'Remove' and resource 'member', clearly distinguishing it from sibling tools like 'invite_guild_member'.

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?

It specifies 'Owner/Admin only', providing clear prerequisite for use. While it doesn't explicitly mention when not to use or alternatives, the role restriction gives sufficient context.

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

search_mnemonsA
Read-onlyIdempotent
Inspect

Full-text search across mnemon titles, tags, and body content (case-insensitive substring). Prefer this over list_mnemons when looking for entries by what they contain — e.g. "what do we know about the Red Oracle?". Each hit reports which fields matched (title/tags/content) and up to 3 body snippets; a snippet's blockId is the same block id get_mnemon returns, so you can target the matched block directly in update_mnemons_content. Only content visible to the current user is searched. Returns at most limit hits (default 20, max 50) plus hasMore.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoMnemon type filter (NPC, Location, Quest, …).
limitNoMaximum results (default 20).
queryYesText to find (case-insensitive substring) in mnemon titles, tags, and body content.
campaignIdYesID of the campaign.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idMapYes
hasMoreYes
resultsYes
Behavior4/5

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

Description reveals that only content visible to the current user is searched, and that each hit includes matched fields and snippets with blockId linking to other tools. Annotations already indicate readOnly and idempotent, so the description adds meaningful behavioral context 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.

Conciseness5/5

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

Description is concise with five sentences, each serving a distinct purpose: purpose, usage guidance, output structure, visibility, and limit details. No redundancy.

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 there is an output schema (not shown), the description already explains output specifics (matched fields, snippets, blockId, hasMore). It covers all necessary aspects for an agent to correctly invoke the tool.

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 covers all parameters with descriptions (100% coverage). The description reinforces that the query is case-insensitive substring and adds context on limit defaults and max, but does not significantly expand beyond schema.

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 clearly states it performs full-text search across mnemon titles, tags, and body content with case-insensitive substring matching. It explicitly distinguishes itself from sibling `list_mnemons` by specifying when to prefer this tool.

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 advises to prefer this tool over `list_mnemons` when searching by content, providing an example query. This gives clear guidance on when to use it versus alternatives.

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

send_friend_requestBInspect

Send a friend request to another Argo user.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesArgo user ID of the counterparty.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
senderIdYes
createdAtNo
updatedAtNo
receiverIdYes
Behavior2/5

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

Annotations indicate a modifying operation (readOnlyHint=false), but the description does not disclose side effects, permissions needed, or what happens after sending (e.g., creates a pending request). Minimal added 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.

Conciseness5/5

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

Single sentence with no extraneous words. Front-loaded with key action and target.

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?

Given the tool's simplicity (1 param, output schema exists), the description adequately covers the core functionality. No need to explain return values due to output schema.

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 covers 100% of the single parameter 'userId' with a clear description. The tool description adds no extra meaning beyond the schema, so baseline score is appropriate.

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 uses a specific verb 'Send' and resource 'friend request' with target 'another Argo user'. It clearly distinguishes from sibling tools like 'accept_friend_request' or 'cancel_friend_request'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., cancel_friend_request, accept_friend_request). No prerequisites or conditions are mentioned.

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

set_guild_member_roleA
Idempotent
Inspect

Change a guild member's role to Owner, Admin, or Member. Owner/Admin only. Note that promoting another user to Owner transfers the guild — confirm with the user first.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesNew role.
userIdYesMember to change.
guildIdYesGuild ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
roleYes
userIdYes
guildIdYes
successYes
Behavior4/5

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

Annotations indicate idempotentHint=true and destructiveHint=false. The description adds critical behavioral context: the ownership transfer consequence and the permission restriction (Owner/Admin only). 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 extremely concise: two sentences. The first sentence states the core action with allowed roles, and the second provides an essential caveat. No redundant information; every sentence earns its place.

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 that an output schema exists (implied by context) and annotations cover safety traits, the description is complete. It addresses the role change, permission requirements, and a significant behavioral consequence (ownership transfer). No additional information is needed.

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?

Input schema has 100% coverage with descriptions for all three parameters, so baseline is 3. The description does not add additional meaning beyond what the schema already provides (e.g., role enum values are clearly described).

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 clearly states the action ('Change a guild member's role') and the specific resource ('guild member's role') with allowed values (Owner, Admin, Member). It distinguishes from sibling tools like 'remove_guild_member' or 'invite_guild_member' by focusing solely on role modification.

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?

The description specifies that only Owner/Admin roles can perform this action and explicitly warns that promoting another user to Owner transfers the guild, advising user confirmation. While it does not contrast with alternatives, it provides clear context for when to use the tool.

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

update_archive_mnemonsC
Idempotent
Inspect

Update typed/meta fields of Archive mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations indicate idempotent and non-destructive behavior, which the description does not contradict. The description adds no additional behavioral context (e.g., what happens if entryId is missing, permission requirements), but annotations already cover key traits.

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 description is a single, concise sentence that front-loads the core action. It could add value without becoming verbose by listing key updatable fields.

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

Completeness2/5

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

Despite an output schema being present (not shown), the description omits essential context about the items array structure, field constraints (e.g., max 50 items), and how incomplete updates behave. For a tool with nested input, more detail is needed.

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

Parameters1/5

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

Schema description coverage is 0%, yet the tool description provides no explanation of the 'campaignId' or 'items' parameters. It fails to clarify what fields can be updated or the structure of items, forcing agents to rely solely on the schema.

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 clearly states the verb 'Update' and resource 'Archive mnemons', distinguishing it from sibling tools for other mnemon types. However, 'typed/meta fields' is vague; the schema clarifies these are tags, title, visibility, and related entries, but the description does not.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other update_*_mnemons tools or create_archive_mnemons. No exclusions, prerequisites, or context for selection are provided.

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

update_campaignA
Idempotent
Inspect

Update a campaign's display name and/or description. Both fields optional — only supplied fields are changed; pass an empty string to clear the description. GMs and co-GMs can call this; rule-system swaps remain WebApp-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYesID of the campaign to update.
campaignNameNoNew display name. Omit to leave unchanged.
campaignDescriptionNoNew description (setting, tone, premise). Omit to leave unchanged. Pass an empty string to clear the existing description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
ruleSystemNo
campaignNameYes
gameMasterIdYes
gameSystemSlugNo
coGameMasterIdsNo
campaignDescriptionNo
Behavior5/5

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

Description adds value beyond annotations by detailing idempotent behavior (only supplied fields changed), clearing description with empty string, and specifying authorization and limitations. Annotations already indicate idempotentHint=true and destructiveHint=false, and the description aligns and expands.

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?

Two sentences, front-loaded with main action, then details. Every sentence provides essential information with zero waste.

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 presence of an output schema (not shown), return values need no explanation. The description covers action, parameter behavior, authorization, and limitations comprehensively for an update 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 coverage is 100%, but description adds crucial semantics: 'pass an empty string to clear the description' and 'omit to leave unchanged' for both optional fields. This clarifies behavior beyond schema constraints.

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 explicitly states 'Update a campaign's display name and/or description,' clearly identifying the action and resource. It distinguishes from sibling tools like create_campaign and get_campaign.

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?

Guidance on optional fields and clearing description is provided. Authorization (GMs/co-GMs) is mentioned, and a limitation (rule-system swaps remain WebApp-only) is given. However, explicit alternatives or when-not-to-use scenarios are not fully expanded.

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

update_custom_mnemonsB
Idempotent
Inspect

Update typed/meta fields of Custom-typed mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds no further behavioral context beyond the basic 'update' verb, which is consistent but uninformative beyond what annotations provide.

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 a single sentence with no redundant words, front-loaded with the core action and resource.

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

Completeness2/5

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

Despite having an output schema (not shown), the tool's complexity (array of objects parameter) demands more detail about behavior, constraints, or return values. The description is insufficient for an agent to use correctly without further context.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the meaning of parameters like items (array of objects with fields) or campaignId. The phrase 'typed/meta fields' is too vague to inform parameter use.

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 'Update typed/meta fields of Custom-typed mnemons' uses a specific verb and resource, clearly distinguishing it from sibling tools like create_custom_mnemons or update_npc_mnemons.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as when to update Custom-typed mnemons vs other types. No prerequisites or exclusions mentioned.

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

update_journal_mnemonsC
Idempotent
Inspect

Update typed/meta fields of Journal mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior2/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds no further behavioral context, such as whether fields are merged or replaced, authorization requirements, or constraints like the maximum of 50 items in the array.

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 description is a single sentence, which is concise but lacks necessary details. It could be restructured to include key constraints and usage context without becoming overly verbose.

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

Completeness2/5

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

Given the complexity of the input schema (nested array with multiple fields) and the presence of an output schema, the description is incomplete. It omits batch behavior, idempotency implications, and the effect of omitting optional fields.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain parameters but fails to do so. It does not mention any of the fields in the items object, the requirement for campaignId, or the meaning of entryId.

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 clearly states it updates typed/meta fields of Journal mnemons, distinguishing it from content updates and creation. However, it does not specify which fields are considered 'typed/meta' or the scope of the update.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as update_mnemons_content or create_journal_mnemons. There is no mention of prerequisites or scenarios where this tool should be avoided.

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

update_location_mnemonsC
Idempotent
Inspect

Update typed/meta fields of Location mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior2/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds no behavioral details such as whether fields are overwritten or merged, authorization requirements, or side effects.

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 very concise—one sentence with no extraneous words. It efficiently conveys the core purpose.

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

Completeness3/5

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

With an output schema present, return values are documented elsewhere. However, the description lacks context on how this update tool differs from update_mnemons_content (which updates content versus meta fields). It is adequate but not thorough.

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

Parameters2/5

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

Schema description coverage is 0% (no parameter descriptions). The description only hints at 'typed/meta fields', which corresponds to the properties inside the items array, but does not explain campaignId or the array format. The schema lists fields like tags, title, levelId, visibility, but the description adds minimal value beyond that.

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 clearly identifies the tool as updating Location mnemons, distinguishing it from other mnemonic update tools (e.g., update_archive_mnemons). The phrase 'typed/meta fields' is somewhat vague but still conveys the resource and action.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus similar tools like update_mnemons_content or other update_*_mnemons. No prerequisites, exclusions, or usage context provided.

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

update_lore_mnemonsC
Idempotent
Inspect

Update typed/meta fields of Lore mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior2/5

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

Annotations already indicate idempotent and non-destructive. Description adds no extra behavioral details such as permission requirements, merge behavior, or error handling. 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.

Conciseness4/5

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

Extremely concise at 7 words, but this brevity sacrifices informativeness. While it is not verbose, it could be more descriptive without losing conciseness.

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

Completeness2/5

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

Given the complexity of updating multiple items with nested fields, the description omits important details like atomicity, response format, and error scenarios. Annotations and output schema are not leveraged in the description.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any parameter meanings. 'typed/meta fields' does not clarify the structure or semantics of items, campaignId, or their properties.

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?

Description clearly states the action ('Update') and resource ('Lore mnemons'), distinguishing it from sibling update tools for other mnemonic types. The phrase 'typed/meta fields' is somewhat vague but still indicates the scope of fields.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus creating lore mnemons or updating other types. No prerequisites or alternative recommendations are given.

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

update_mnemons_contentAInspect

Edit the body content of one or more mnemon entries. Each item carries an entryId and an ordered list of ops (append, insertAfter, replace, remove) applied atomically per entry. Op content is authored as Markdown (headings, lists, quotes, code fences, bold/italic, links) — do NOT send HTML. Mentions: @label. Images: caption — upload the asset first; inline base64 / data: URLs are not accepted. Node addressing: get body-node ids from get_mnemon, then target them in replace/remove/insertAfter. A single op's Markdown may produce several nodes; new nodes get fresh server-generated ids (replace keeps the original id on the first new node). On a bad op (missing blockId, unknown op, etc.) the whole entry's batch is rejected with the failedOpIndex; no partial mutation per entry. See describe_mnemon_types.blockOps for the full vocabulary.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior5/5

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

Discloses atomicity per entry, error behavior (failedOpIndex rejects whole batch), node ID assignment (fresh ids for new nodes, replace keeps first original). No annotation contradictions; annotations are silent on these details.

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?

Four sentences, front-loaded purpose, then specifics. Dense but efficient; each sentence adds value. Slightly long but justified by complexity.

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 high complexity (multiple op types, atomicity, node addressing, markdown rules) and presence of output schema, the description covers usage, prerequisites, error behavior, and content formatting completely.

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 0%, so description compensates by explaining all parameters: entryId, ops (append/insertAfter/replace/remove), blockId, afterBlockId, markdown content rules (mentions, images, no HTML). Adds meaning beyond schema.

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?

Description starts with 'Edit the body content of one or more mnemon entries' – a specific verb+resource+scope. It clearly distinguishes from sibling update_* tools which update metadata fields, not body content.

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

Usage Guidelines3/5

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

Describes when to use get_mnemon for body-node IDs and references describe_mnemon_types.blockOps for full op vocabulary. Lacks explicit when-not-to-use or alternatives, but the context of body editing is clear.

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

update_npc_mnemonsA
Idempotent
Inspect

Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for that. Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[].

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior4/5

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

Annotations indicate idempotent mutation. Description adds that it updates typed/meta fields only and supports batch update of visibility for multiple NPCs. It does not contradict annotations. However, it lacks details on error handling (e.g., what happens if an entryId is invalid) or the exact effect of idempotency.

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 two sentences long, front-loaded with the core purpose, and includes a clear warning and an example. Every sentence adds value without redundancy.

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?

Given the presence of an output schema and moderate complexity, the description adequately covers the core functionality, batch capability, and exclusion of content blocks. It could be more complete by noting that the tool modifies multiple items in one call and that fields are merged (if that is the case). Overall, it provides sufficient context for effective invocation.

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?

With 0% schema description coverage, the description partially compensates by listing some fields (visibility, tags, npcType, faction membership) but does not explain each parameter's format or meaning beyond the schema. The 'etc.' leaves ambiguity. Additional parameter details from the schema (enums) are not elaborated.

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 clearly states it updates typed/meta fields of NPC mnemons and explicitly distinguishes from update_mnemons_content for content blocks. It lists specific fields (visibility, tags, npcType, faction membership) and provides a concrete example of batch visibility update.

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 gives explicit when-not-to-use guidance ('Does NOT modify content blocks — use update_mnemons_content for that') and illustrates typical usage ('Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[]'). This helps the agent decide between sibling tools.

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

update_player_mnemonsB
Idempotent
Inspect

Update typed/meta fields of Player mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description confirms a non-destructive update of 'typed/meta fields', adding mild context but not elaborating on behavioral traits like partial updates, failure modes, or permissions.

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 a single sentence with no redundant information. It is appropriately brief, given the tool's name and annotations provide some context.

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

Completeness1/5

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

For a tool with 2 parameters, a nested array, and multiple sibling tools, this description is severely lacking. It does not explain the purpose of campaignId, the constraints on items (e.g., required entryId), or what the update returns. The output schema exists but is not referenced.

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

Parameters1/5

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

Schema description coverage is 0% despite a complex nested schema with 7 properties in items. The description fails to explain what each parameter does (e.g., campaignId, items, tags, visibility). It adds no semantic value beyond the schema structure.

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 clearly states the tool's action ('update') and resource ('Player mnemons'), and specifies it deals with 'typed/meta fields'. This differentiates it from sibling tools like 'update_mnemons_content' or 'create_player_mnemons'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Given many sibling update_* tools (e.g., update_archive_mnemons, update_lore_mnemons), the agent needs hints about which type of mnemons this applies to, but only the name implies 'Player'.

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

update_quest_mnemonsB
Idempotent
Inspect

Update typed/meta fields of Quest mnemons (status transitions, expiry, related entries).

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior2/5

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

Annotations already provide readOnlyHint=false (write operation), destructiveHint=false, and idempotentHint=true. The description adds no behavioral context beyond 'update', such as whether it overwrites entire steps/rewards lists or the effect of omitting fields. Minimal value added over 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 a single, front-loaded sentence of 14 words with no wasted content. Every phrase contributes to the purpose.

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

Completeness2/5

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

Given the complex input schema (many fields, nested items array with min/max constraints) and an output schema existing (not shown), the description is too brief. It omits crucial details like batch update behavior (items array replaces lists), idempotency implications, and required fields (campaignId, entryId). Incomplete for safe effective use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It mentions 'status transitions, expiry, related entries' which correspond to parameters like questStatus, expiresAt, relatedNpcEntryIds, but gives no format details or how the items array works. The description adds marginal meaning beyond the schema's field names.

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 clearly states the action ('Update') and the specific resource ('Quest mnemons'), with examples of fields (status transitions, expiry, related entries). This distinguishes it from other update tools for different mnemon types (e.g., update_npc_mnemons, update_location_mnemons) listed in siblings.

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

Usage Guidelines3/5

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

The description implies usage when updating quest-specific fields, but it does not explicitly state when to use this tool versus alternatives like create_quest_mnemons (creation) or update_mnemons_content (generic content update). No explicit when-not or alternative guidance is provided.

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

update_sessionA
Idempotent
Inspect

Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend.

ParametersJSON Schema
NameRequiredDescriptionDefault
endAtNoISO-8601 instant.
titleNo
startAtNoISO-8601 instant.
sessionIdYesSession ID.
campaignIdYesCampaign ID.
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
endAtNo
titleYes
guildIdNo
startAtYes
createdAtNo
updatedAtNo
campaignIdYes
descriptionNo
invitedUserIdsNo
createdByUserIdNo
invitedPartyIdsNo
attendanceRepliesNo
Behavior4/5

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

Annotations provide idempotentHint and no destructiveHint. Description adds 'Owner-only on the backend', a useful behavioral constraint not in annotations. However, could clarify behavior for non-owners.

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?

Two sentences, front-loaded with the action. Every sentence is relevant and concise.

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

Completeness3/5

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

Output schema exists but is not referenced. Description covers basic functionality but omits details like required fields and error outcomes. Adequate but not thorough.

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

Parameters2/5

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

Description incorrectly states 'All fields optional' despite schema requiring campaignId and sessionId. This is misleading. Schema coverage is 67%, but description adds no meaningful parameter details beyond repeating 'optional' incorrectly.

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?

Description clearly states the tool reschedules a campaign session or edits its title/description. It uses a specific verb and resource, and distinguishes from siblings like create_session and get_session.

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

Usage Guidelines3/5

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

Description mentions 'Owner-only on the backend' implying usage context, but does not explicitly state when to use this tool versus alternatives like get_session for viewing. No when-not-to-use guidance.

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

update_session_summary_mnemonsC
Idempotent
Inspect

Update typed/meta fields of SessionSummary mnemons.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
Behavior3/5

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

Annotations already indicate idempotent and non-destructive behavior, so the description's contribution is minimal. It does not elaborate on update behavior (e.g., partial overwrite, field merging), which would add 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?

The description is extremely concise (one sentence, 7 words). While it lacks detail, it is efficiently structured and front-loaded. It does not waste words, though it could benefit from slightly more information.

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

Completeness2/5

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

Despite a detailed schema and output schema, the description fails to provide essential context about the tool's effect, such as whether it patches or replaces fields, or any limitations. For a tool with complex parameters, this is insufficient.

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

Parameters1/5

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

With 0% schema description coverage, the description should compensate by explaining parameters, but it only says 'Update typed/meta fields' and provides no insight into 'campaignId' or the 'items' array structure. The schema itself has no descriptions, so the tool is poorly documented for parameter usage.

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 clearly states the action ('Update') and the resource ('SessionSummary mnemons'), distinguishing it from other update tools like 'update_mnemons_content' or 'update_archive_mnemons'. However, the phrase 'typed/meta fields' is somewhat vague without further explanation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'create_session_summary_mnemons' or other update tools. There is no mention of prerequisites or context, leaving the agent without decision support.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.