Skip to main content
Glama

Create mnemon relationship

create_mnemon_relationship

Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belong to the word itself — never send a per-edge override. All 14 labels: MEMBER (NPC ∈ Faction, mutual), ALLY (mutual), ENEMY (one-way), RIVAL (one-way), 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), SESSION_ATTENDEE_CHARACTER (SessionSummary → CHARACTER-kind Player), SESSION_ATTENDEE_NPC (SessionSummary → NPC), SESSION_FEATURED_QUEST (SessionSummary → Quest), SESSION_FEATURED_LOCATION (SessionSummary → Location). sourceEntryId is the 'from' side; targetEntryId is the 'to' side — which end is which 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. Session-summary links have no array equivalent — the SESSION_* labels are the only way to set them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNo
labelYes
directionNoDeprecated: leave unset. The label alone decides the edge's shape — its kind and how it reads belong to the word (Mnemon D29/D33), and the server refuses a contradiction.
campaignIdYes
sourceEntryIdYes
targetEntryIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo
colorNo
labelYes
sourceIdYes
symmetryNo
targetIdYes
directionNo
relationshipIdYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only indicate it's not read-only/destructive, so the description carries the burden. It discloses key behavioral traits: the label alone decides kind and reading (never send per-edge override), the server refuses contradictions, direction is deprecated, and the source/target sides are meaningful. It does not describe error handling or return format, but an output schema exists, so this 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.

Conciseness4/5

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

The description is long but every sentence is information-dense. It front-loads the core purpose, systematically lists all labels, explains directional rules, and closes with alternatives. While lengthy, the complexity of 14 labels and multiple edge types justifies the detail; no redundant or filler sentences.

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 complex tool with low schema coverage, this description is remarkably complete. It covers the label matrix, direction semantics, when to prefer alternatives, and points to describe_mnemon_types for the full source/target matrix. The only unaddressed aspect is the optional color parameter, which is minor given the output schema exists and optional parameters are self-explanatory.

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 only 17% (only direction has a description), so the description must compensate. It thoroughly explains the label enum with all 14 values and their directional semantics, and clarifies sourceEntryId/targetEntryId as 'from'/'to'. However, the optional 'color' parameter is not mentioned in either schema or description, leaving a minor gap.

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

Purpose5/5

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

The description opens with a clear specific verb+resource: 'Create a relationship between two mnemon entries.' It immediately distinguishes from siblings like delete_mnemon_relationship and list_mnemon_relationships, and the detailed label semantics further clarify the tool's unique role in creating edges with label-defined behavior.

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 states when to avoid this tool: for faction membership prefer memberNpcEntryIds/affiliationEntryIds on the NPC, and for quest links prefer subQuestEntryIds/relatedNpcEntryIds/relatedLocationEntryIds on the quest. It also notes that session-summary links have no array equivalent, making this the only way. Additionally, it directs to describe_mnemon_types for the full valid matrix, providing clear alternative guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
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.