Skip to main content
Glama

MemoryMesh

Release TypeScript License: MIT GitHub Stars

MemoryMesh is a knowledge graph server designed for AI models, with a focus on text-based RPGs and interactive storytelling. It helps AI maintain consistent, structured memory across conversations, enabling richer and more dynamic interactions.

The project is based on the Knowledge Graph Memory Server from the MCP servers repository and retains its core functionality.

IMPORTANT

v0.3.0 Update: The MCP SDK has been updated from v1.0.4 to v1.25.2 to comply with the current Model Context Protocol specification (2025-11-25). This is a major update that brings compatibility with the latest MCP clients including Claude Desktop, ChatGPT, Cursor, Gemini, and VS Code. After updating, run npm install to fetch the new dependencies.

Since v0.2.7 the default location of schemas was changed to dist/data/schemas. This location is not expected to change in the future, but if you are updating from a previous version, make sure to move your schema files to the new location.

Related MCP server: Enhanced Knowledge Graph Memory Server

Overview

MemoryMesh is a local knowledge graph server that empowers you to build and manage structured information for AI models. While particularly well-suited for text-based RPGs, its adaptable design makes it useful for various applications, including social network simulations, organizational planning, or any scenario involving structured data.

Key Features

  • Dynamic Schema-Based Tools: Define your data structure with schemas, and MemoryMesh automatically generates tools for adding, updating, and deleting data.

  • Intuitive Schema Design: Create schemas that guide the AI in generating and connecting nodes, using required fields, enumerated types, and relationship definitions.

  • Metadata for AI Guidance: Use metadata to provide context and structure, helping the AI understand the meaning and relationships within your data.

  • Relationship Handling: Define relationships within your schemas to encourage the AI to create connections (edges) between related data points (nodes).

  • Informative Feedback: Provides error feedback to the AI, enabling it to learn from mistakes and improve its interactions with the knowledge graph.

  • Event Support: An event system tracks operations, providing insights into how the knowledge graph is being modified.

Nodes

Nodes represent entities or concepts within the knowledge graph. Each node has:

  • name: A unique identifier.

  • nodeType: The type of the node (e.g., npc, artifact, location), defined by your schemas.

  • metadata: An array of strings providing descriptive details about the node.

  • weight: (Optional) A numerical value between 0 and 1 representing the strength of the relationship, defaulting to 1.

Example Node:

    {
      "name": "Aragorn",
      "nodeType": "player_character",
      "metadata": [
        "Race: Human",
        "Class: Ranger",
        "Skills: Tracking, Swordsmanship",
        "Affiliation: Fellowship of the Ring"
      ]
    }

Edges

Edges represent relationships between nodes. Each edge has:

  • from: The name of the source node.

  • to: The name of the target node.

  • edgeType: The type of relationship (e.g., owns, located_in).

{
  "from": "Aragorn",
  "to": "Andúril",
  "edgeType": "owns"
}

Schemas

Schemas are the heart of MemoryMesh. They define the structure of your data and drive the automatic generation of tools.

Schema File Location

Place your schema files (.schema.json) in the dist/data/schemas directory of your built MemoryMesh project. MemoryMesh will automatically detect and process these files on startup.

Schema Structure

File name: [name].schema.json. For example, for a schema defining an 'npc', the filename would be add_npc.schema.json.

  • name - Identifier for the schema and node type within the memory. IMPORTANT: The schema’s name must start with add_ to be recognized.

  • description - Used as the description for the add_<name> tool, providing context for the AI. (The delete and update tools have a generic description)

  • properties - Each property includes its type, description, and additional constraints.

    • property

      • type - Supported values are string or array.

      • description - Helps guide the AI on the entity’s purpose.

      • required - Boolean. If true, the AI is forced to provide this property when creating a node.

      • enum - An array of strings. If present, the AI must choose one of the given options.

      • relationship - Defines a connection to another node. If a property is required and has a relationship, the AI will always create both the node and the corresponding edge.

        • edgeType - Type of the relationship to be created.

        • description - Helps guide the AI on the relationship’s purpose.

  • additionalProperties - Boolean. If true, allows the AI to add extra attributes beyond those defined as required or optional.

Example Schema (add_npc.schema.json):
{
  "name": "add_npc",
  "description": "Schema for adding an NPC to the memory" ,
  "properties": {
    "name": {
      "type": "string",
      "description": "A unique identifier for the NPC",
      "required": true
    },
    "race": {
      "type": "string",
      "description": "The species or race of the NPC",
      "required": true,
      "enum": [
        "Human",
        "Elf",
        "Dwarf",
        "Orc",
        "Goblin"
      ]
    },
    "currentLocation": {
      "type": "string",
      "description": "The current location of the NPC",
      "required": true,
      "relationship": {
        "edgeType": "located_in",
        "description": "The current location of the NPC"
      }
    }
  },
  "additionalProperties": true
}

Based on this schema, MemoryMesh automatically creates:

  • add_npc: To add new NPC nodes.

  • update_npc: To modify existing NPC nodes.

  • delete_npc: To remove NPC nodes.

MemoryMesh includes 11 pre-built schemas designed for text-based RPGs, providing a ready-to-use foundation for game development.

SchemaManager Tool

MemoryMesh includes a SchemaManager tool to simplify schema creation and editing. It provides a visual interface, making it easy to define your data structures without writing JSON directly.

Dynamic Tools

MemoryMesh simplifies interaction with your knowledge graph through dynamic tools. These tools are not manually coded but are automatically generated directly from your schema definitions. This means that when you define the structure of your data using schemas, MemoryMesh intelligently creates a set of tools tailored to work with that specific data structure.

Think of it like this: You provide a blueprint (the schema), and MemoryMesh automatically constructs the necessary tools to build, modify, and remove elements based on that blueprint.

How does it work behind the scenes?

MemoryMesh has an intelligent system that reads your schema definitions. It analyzes the structure you've defined, including the properties of your entities and their relationships. Based on this analysis, it automatically creates a set of tools for each entity type:

  • add_<entity>: A tool for creating new instances of an entity.

  • update_<entity>: A tool for modifying existing entities.

  • delete_<entity>: A tool for removing entities.

These tools are then made available through a central hub within MemoryMesh, ensuring they can be easily accessed and used by any connected client or AI.

In essence, MemoryMesh's dynamic tool system provides a powerful and efficient way to manage your knowledge graph, freeing you to focus on the content and logic of your application rather than the underlying mechanics of data manipulation.

Memory file

By default, data is stored in a JSON file in dist/data/memory.json.

Memory Viewer

The Memory Viewer is a separate tool designed to help you visualize and inspect the contents of the knowledge graph managed by MemoryMesh. It provides a user-friendly interface for exploring nodes, edges, and their properties.

Key Features:
  • Graph Visualization: View the knowledge graph as an interactive node-link diagram.

  • Node Inspection: Select nodes to see their nodeType, metadata, and connected edges.

  • Edge Exploration: Examine relationships between nodes, including edgeType and direction.

  • Search and Filtering: Quickly find specific nodes or filter them by type.

  • Table View: Allows you to easily find and inspect specific nodes and edges, or all of them at once.

  • Raw JSON View: Allows you to view the raw JSON data from the memory file.

  • Stats Panel: Provides key metrics and information about the knowledge graph: total nodes, total edges, node types, and edge types.

  • Search and Filter: Allows you to filter by node type or edge type and filter whether to show nodes, edges, or both.

Accessing the Memory Viewer

The Memory Viewer is a standalone web application. Memory Viewer discussion

Using the Memory Viewer
  • Select Memory File: In the Memory Viewer, click the "Select Memory File" button.

  • Choose File: Navigate to your MemoryMesh project directory and select the memory.json file (located in dist/data/memory.json by default).

  • Explore: The Memory Viewer will load and display the contents of your knowledge graph.

Memory Flow

image

Prompt

For optimal results, use Claude's "Projects" feature with custom instructions. Here's an example of a prompt you can start with:

You are a helpful AI assistant managing a knowledge graph for a text-based RPG. You have access to the following tools: add_npc, update_npc, delete_npc, add_location, update_location, delete_location, and other tools for managing the game world.

When the user provides input, first process it using your available tools to update the knowledge graph. Then, respond in a way that is appropriate for a text-based RPG.

You can also instruct the AI to perform specific actions directly in the chat.

Experiment with different prompts to find what works best for your use case!

Example

  1. A simple example with custom instructions.

  2. An example for the sake of example, with visualization (NOT part of the functionality)

Add a couple of cities, some npcs, couple locations around the city to explore, hide an artifact or two somewhere

image

Installation

Prerequisites

  • Node.js: Version 18 or higher. You can download it from nodejs.org.

  • npm: Usually included with Node.js.

  • Claude for Desktop: Make sure you have the latest version installed from claude.ai/download.

Installation Steps

  1. Clone the Repository:

    git clone https://github.com/CheMiguel23/memorymesh.git
    cd memorymesh
  2. Install Dependencies:

    npm install
  3. Build the Project:

    npm run build

    This command compiles the TypeScript code into JavaScript in the dist directory and copies sample schema and data files into it as well.

  4. Verify File Copy (Optional):

    • The build process should automatically copy the data folder to dist.

    • Check that dist/data exists and contains .json files. Also verify that dist/data/schemas exists and contains .schema.json files.

  5. Configure Claude Desktop:

    Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Add an entry for memorymesh to the mcpServers section. You can choose one of the following configuration options:

    "mcpServers": {
      "memorymesh": {
        "command": "node", 
        "args": ["/ABSOLUTE/PATH/TO/YOUR/PROJECT/memorymesh/dist/index.js"]
      }
    }
    • Replace /ABSOLUTE/PATH/TO/YOUR/PROJECT/ with the actual absolute path to your memorymesh project directory.

    • Example (macOS):

      "command": "node",
      "args": ["/Users/yourusername/Projects/memorymesh/dist/index.js"]
    • Example (Windows):

      "command": "node",
      "args": ["C:\\Projects\\memorymesh\\dist\\index.js"]
  6. Restart Claude Desktop: Completely restart Claude Desktop for the changes to take effect.

Verify Installation

  1. Start Claude Desktop.

  2. Open a new chat.

  3. Look for the MCP plugin icon in the top-right corner. If it's there, your configuration is likely correct.

  4. Click the icon. You should see "memorymesh" in the list of connected servers.

  5. Click the icon. If you see tools listed (e.g., add_npc, update_npc, etc.), your server is working and exposing tools correctly.

Updating

Before updates, make sure to back up your dist/data directory to avoid losing your memory data.

Troubleshooting

  • Server not appearing in Claude:

    • Double-check the paths in your claude_desktop_config.json. Make sure they are absolute paths and correct.

    • Verify that the dist directory exists and contains the compiled JavaScript files, including index.js.

    • Check the Claude Desktop logs for errors:

      • macOS: ~/Library/Logs/Claude/mcp-server-memorymesh.log (and mcp.log)

      • Windows: (Likely in a Logs folder under %AppData%\Claude)

  • Tools not showing up:

    • Make sure your npm run build command completed without errors.

    • Verify that your schema files are correctly placed in dist/data/schemas and follow the correct naming convention (add_[entity].schema.json).

    • Check your server's console output or logs for any errors during initialization.

Advanced Configuration

MemoryMesh offers several ways to customize its behavior beyond the basic setup:

Variables

You can override default settings using in /config/config.ts

  • MEMORY_FILE: Specifies the path to the JSON file used for storing the knowledge graph data. (Default: dist/data/memory.json)

  • SCHEMAS_DIR: Path to schema files directory. (Default: dist/data/schemas/memory.json)

Limitations

  1. Node Deletion: The AI may be hesitant to delete nodes from the knowledge graph. Encourage it through prompts if needed.

  2. Conflicting Knowledge: MemoryMesh currently uses a "last write wins" approach for handling data. If conflicting information is provided about the same entity, the most recent update will overwrite previous values. Here are strategies for managing conflicting information:

    Current Approaches:

    • Use metadata to track sources: Add metadata entries like "Source: Character testimony" or "Source: Official records" to track where information came from.

    • Use temporal metadata: Include timestamps or narrative time markers (e.g., "As of Chapter 3") in metadata to track when information was valid.

    • Create separate nodes for perspectives: For subjective or disputed information, create separate nodes representing different viewpoints (e.g., rumor_about_villain vs truth_about_villain).

    • Use edge weights: Leverage the optional weight property on edges (0-1 range) to indicate confidence or reliability of relationships.

    Example - Tracking uncertain information:

    {
      "name": "VillainOrigin_Rumor",
      "nodeType": "information",
      "metadata": [
        "Source: Tavern gossip",
        "Reliability: Low",
        "Claims: Villain came from the northern mountains"
      ]
    }

    Future Considerations: For applications requiring sophisticated conflict resolution, consider implementing a custom layer that:

    • Maintains version history of node changes

    • Tracks provenance (source) of each piece of information

    • Implements confidence scores for assertions

    • Supports temporal validity periods for facts

Contribution

Contributions, feedback, and ideas are welcome! This project is a personal exploration into integrating structured data with AI reasoning capabilities. Contributions, feedback, and ideas are welcome to push it further or inspire new projects.

Available Tools

44 tools
add_artifactC

Add a new artifact or unique item to the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
artifactYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds artifacts but doesn't clarify if this is a write operation, what permissions are needed, whether it's idempotent, or how conflicts are handled (e.g., duplicate names). This leaves significant gaps for a mutation tool with no safety or operational 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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.

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?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens on success (e.g., returns an ID), error conditions, or behavioral traits like idempotency. Given the complexity of adding structured data to a knowledge graph, more context is needed to guide effective use.

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 description mentions 'artifact or unique item' but doesn't detail what parameters are required or their meanings. With 0% schema description coverage, the schema fully documents the single nested parameter 'artifact' and its properties. The description adds minimal value beyond implying the parameter's purpose, aligning with the baseline for high schema coverage.

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 ('Add') and the target ('a new artifact or unique item to the knowledge graph'), which distinguishes it from other 'add_' tools that target different entities like currencies or locations. However, it doesn't explicitly differentiate from 'update_artifact' or 'delete_artifact' in terms of when to use each, keeping it from a perfect score.

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 like 'update_artifact' or 'delete_artifact', nor does it mention prerequisites such as whether the artifact must be unique or if there are constraints on adding duplicates. It lacks explicit usage context beyond the basic action.

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

add_currencyD

Represents a type of currency in the game world.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description fails to indicate whether this is a creation/mutation operation, what permissions might be required, whether it's idempotent, what happens on success/failure, or any side effects. 'Represents' is ambiguous about whether this adds new currency or merely describes existing currency.

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, efficient sentence with no wasted words. It's appropriately sized for what it attempts to convey, though what it conveys is inadequate. The structure is straightforward and front-loaded with the core concept.

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 1 complex parameter (nested object with 4 properties), 0% schema description coverage, no annotations, and no output schema, this description is completely inadequate. It doesn't explain what the tool does, how to use it, what parameters mean, or what to expect as output. The agent lacks essential context for successful tool invocation.

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%, meaning the schema provides no parameter descriptions. The tool description adds no information about the single required 'currency' parameter or its nested properties (name, owner, quantity, description). The agent must guess what data to provide and in what format based solely on property names.

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

Purpose2/5

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

The description 'Represents a type of currency in the game world' is a tautology that merely restates the tool name 'add_currency' in different words. It doesn't specify what action the tool performs (e.g., creates, adds, modifies) or what resource it operates on beyond the obvious. While it mentions 'game world' context, it fails to distinguish this tool from its sibling 'update_currency' or 'delete_currency'.

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

Usage Guidelines1/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. There's no mention of prerequisites, when this tool is appropriate versus 'update_currency' or other sibling tools, or any context about its intended use case. The agent receives zero usage direction from this description.

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

add_edgesC

Add multiple new edges between nodes in the knowledge graph. Edges should be in active voice

ParametersJSON Schema
NameRequiredDescriptionDefault
edgesYesArray of edges to add

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds edges but fails to describe critical behaviors such as whether this is a mutation that requires specific permissions, if it overwrites existing edges, what happens on errors, or the expected response format. The mention of 'active voice' is stylistic and doesn't add meaningful behavioral insight.

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 brief and front-loaded with the core purpose in the first sentence, making it efficient. However, the second sentence ('Edges should be in active voice') adds little value and could be considered wasteful, slightly reducing the score from perfect.

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 a mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, error handling, return values, and differentiation from sibling tools, making it incomplete for an AI agent to use effectively without additional 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?

The schema description coverage is 100%, meaning the input schema already documents the 'edges' parameter and its nested properties thoroughly. The description adds no additional semantic information about parameters beyond what's in the schema, so it meets the baseline score of 3 without compensating for any gaps.

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 ('Add multiple new edges') and resource ('between nodes in the knowledge graph'), making the purpose understandable. However, it doesn't explicitly distinguish this tool from its sibling 'update_edges' or explain why one would add edges versus update existing ones, which prevents a perfect score.

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 minimal guidance with the phrase 'Edges should be in active voice,' which is vague and not a practical usage rule. It offers no explicit advice on when to use this tool versus alternatives like 'update_edges' or 'delete_edges,' nor does it mention prerequisites or context for adding edges, leaving the agent with little direction.

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

add_factionD

A faction or organization operating within the game world.

ParametersJSON Schema
NameRequiredDescriptionDefault
factionYes

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description fails to indicate this is a creation/mutation tool, doesn't mention permissions needed, side effects, or what happens upon successful execution. It provides no behavioral context beyond the vague noun phrase.

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

Conciseness2/5

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

While technically concise with just one phrase, this is under-specification rather than effective conciseness. The single sentence doesn't front-load critical information about the tool's function. It wastes its limited space on defining a faction rather than explaining the tool's purpose.

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 mutation tool with 1 parameter containing 5 nested properties, 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It provides no information about what the tool does, how to use it, what it returns, or any behavioral characteristics.

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%, meaning none of the parameters have descriptions in the schema. The tool description provides no information about the single 'faction' parameter or its nested properties (name, type, description, goals, leader). The description doesn't compensate for the complete lack of schema documentation.

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

Purpose1/5

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

The description 'A faction or organization operating within the game world' is a tautology that merely restates the tool name 'add_faction' without specifying what the tool does. It describes what a faction is rather than stating that this tool creates or adds a faction. Compared to sibling tools like 'add_artifact' or 'add_npc', it fails to distinguish its function.

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

Usage Guidelines1/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. It doesn't mention prerequisites, when it's appropriate to add a faction, or how it differs from sibling tools like 'update_faction' or 'delete_faction'. There's no context for usage decisions.

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

add_inventoryD

A collection of items or equipment belonging to a character, entity, or location.

ParametersJSON Schema
NameRequiredDescriptionDefault
inventoryYes

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description completely fails to indicate this is a write/mutation operation (implied by 'add' in the name but not stated), doesn't mention any side effects, permissions required, or what happens on success/failure. It provides no behavioral context beyond the tautological definition.

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

Conciseness2/5

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

While technically concise (one sentence), this is under-specification rather than effective brevity. The single sentence fails to convey the tool's purpose, usage, or parameters, making it inefficient despite its short length. It doesn't front-load critical information about the tool's function.

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 mutation tool with 1 complex nested parameter (3 required sub-properties), 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It provides no information about what the tool does, how to use it, what parameters to provide, what behavior to expect, or what gets returned. This leaves the agent with insufficient information to correctly invoke the tool.

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%, meaning none of the 1 parameter's nested properties have meaningful descriptions in the schema. The description provides no parameter information whatsoever - it doesn't mention the 'inventory' parameter exists, what it should contain, or how to structure the nested 'name', 'owner', and 'items' fields. This leaves all parameter semantics undocumented.

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

Purpose1/5

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

The description 'A collection of items or equipment belonging to a character, entity, or location' is a tautology that merely restates the tool name 'add_inventory' in definitional terms rather than specifying what the tool does. It fails to indicate this is a creation/write operation (implied by 'add') and doesn't distinguish it from sibling tools like 'update_inventory' or 'delete_inventory'.

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

Usage Guidelines1/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. With sibling tools like 'update_inventory' and 'delete_inventory' available, there's no indication of when to create versus modify versus remove inventory records, nor any prerequisites or contextual constraints for using this tool.

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

add_locationC

Add a new location to the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Add a new location' implies a write/mutation operation, but the description doesn't address permissions needed, whether duplicates are allowed, how the location integrates with the graph, what happens on success/failure, or any side effects. This leaves significant behavioral gaps for a mutation 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?

The description is maximally concise - a single sentence that states the core purpose without any fluff. Every word earns its place, and the structure is front-loaded with the essential information. There's no wasted verbiage or unnecessary elaboration.

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?

For a mutation tool with no annotations, 0% schema description coverage, no output schema, and complex nested parameters, the description is severely inadequate. It doesn't compensate for the missing structured information about behavior, parameters, or results. The agent lacks critical context about how this tool operates within the knowledge graph ecosystem.

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?

The schema description coverage is 0% (no parameter descriptions in the schema), and the tool description provides absolutely no information about the single 'location' parameter or its nested properties. The agent must infer everything from property names alone, with no guidance on what constitutes a valid location object, required fields beyond schema requirements, or how properties interrelate.

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 ('Add') and resource ('location to the knowledge graph'), making the purpose understandable. It distinguishes itself from siblings like 'add_artifact' or 'add_quest' by specifying the resource type, but doesn't explicitly differentiate from other location-related tools like 'update_location' or 'delete_location' in terms of when to use each.

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. With siblings like 'update_location' and 'delete_location' available, there's no indication of prerequisites, when this tool is appropriate versus updates, or any context about the knowledge graph system that would inform usage decisions.

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

add_metadataC

Add new metadata to existing nodes in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
metadataYesArray of metadata to add

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds metadata to existing nodes, implying a mutation operation, but doesn't cover critical aspects like permissions required, whether changes are reversible, rate limits, error handling (e.g., if a node doesn't exist), or the response format. This is a significant gap for a mutation 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error conditions), usage context relative to siblings, and expected outcomes. Given the complexity of modifying a knowledge graph, this leaves the agent under-informed.

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 schema description coverage is 100%, with the single parameter 'metadata' fully documented in the input schema. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain metadata format, constraints, or examples). Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('Add new metadata') and target ('existing nodes in the knowledge graph'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'update_nodes' or 'delete_metadata', which could also involve metadata operations, leaving some ambiguity about its unique role.

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. It doesn't mention prerequisites (e.g., nodes must exist), exclusions (e.g., cannot add metadata to non-existent nodes), or comparisons to siblings like 'update_nodes' or 'delete_metadata', leaving the agent to infer usage context.

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

add_nodesC

Add multiple new nodes in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
nodesYesArray of nodes to add

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Add multiple new nodes' implies a write/mutation operation, the description doesn't address important behavioral aspects like: what permissions are required, whether nodes must be unique, what happens on conflicts, whether the operation is atomic, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.

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 - a single sentence with zero wasted words. It's front-loaded with the core purpose and contains no unnecessary information. This is an excellent example of efficient communication.

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?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address the behavioral aspects needed for safe use (permissions, error conditions, response format) or provide context about how this tool relates to the many specialized sibling tools. The 100% schema coverage helps with parameters, but other critical context is missing.

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 fully documents the single 'nodes' parameter and its nested structure. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain what constitutes a valid node, provide examples, or clarify the relationship between node properties. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Add multiple new nodes') and the resource ('in the knowledge graph'), which provides a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'add_artifact' or 'add_location' that also add specific types of entities to what appears to be the same knowledge graph system.

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. With many sibling tools that add specific entity types (artifact, currency, location, etc.), there's no indication whether 'add_nodes' is a general-purpose tool for arbitrary nodes or whether it has specific use cases compared to the more specialized add_* tools.

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

add_npcC

Add a new Non-Player Character (NPC) to the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
npcYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Add' implies a write/mutation operation, but the description doesn't address permissions needed, whether NPCs can be modified or deleted later, what happens on duplicate names, or what the response looks like. For a creation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence that gets straight to the point with zero wasted words. It's perfectly front-loaded with the core purpose, making it immediately understandable despite its brevity.

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?

For a creation tool with complex nested parameters (17 properties within the npc object), no annotations, no output schema, and 0% schema description coverage, the description is severely inadequate. It identifies what the tool does at a high level but provides none of the operational details needed to use it effectively in the context of the knowledge graph system.

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%, meaning none of the 17 nested properties within the 'npc' object have descriptions in the schema. The tool description provides absolutely no information about parameters beyond the existence of an 'npc' object, failing to compensate for the complete lack of schema documentation. This leaves the agent guessing about what data to provide.

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 ('Add') and resource ('Non-Player Character (NPC) to the knowledge graph'), making the purpose immediately understandable. It distinguishes from some siblings like 'add_artifact' or 'add_location' by specifying NPCs, but doesn't explicitly differentiate from 'add_player_character' or other character-related tools.

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. With siblings like 'add_player_character', 'update_npc', and 'delete_npc', there's no indication of when this creation tool is appropriate versus modification or deletion tools, or how it relates to other entity types in the knowledge graph.

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

add_player_characterC

Add a new Player Character to the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
player_characterYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Add' implies a write/mutation operation, the description doesn't disclose any behavioral traits: no information about permissions required, whether this is idempotent, what happens on duplicate names, what the response contains, or any side effects. The description states what happens but not how it behaves.

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 zero wasted words. It's appropriately sized for a simple creation operation and front-loads the essential information. Every word earns its place in conveying the core functionality.

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?

For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what happens after creation, what validation occurs, whether there are constraints on the data, or how to handle errors. The description covers only the most basic 'what' without addressing the 'how' or 'what next' that an agent needs to use this tool effectively.

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%, so the schema provides no parameter descriptions. The tool description doesn't mention any parameters at all, failing to compensate for the schema gap. However, with only 1 parameter (a nested object), the baseline is higher than for tools with multiple discrete parameters. The description implies a player character entity but provides no guidance on what properties it should contain.

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 ('Add a new Player Character') and the target ('to the knowledge graph'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'add_npc' or 'update_player_character' which would require more specific context about what distinguishes player characters from other entities in this system.

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. With sibling tools like 'add_npc', 'update_player_character', and 'delete_player_character', there's no indication of when this creation tool is appropriate versus when to use modification or deletion tools, or what distinguishes player characters from other addable entities.

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

add_questC

Add a new Quest to the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
questYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Add' implies a write/mutation operation, the description doesn't address permissions needed, whether the operation is idempotent, what happens on duplicate names, or what the response contains. For a creation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for such a basic statement of purpose, though this conciseness comes at the cost of completeness.

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?

For a creation tool with complex nested parameters (8 properties within the quest object), no annotations, and no output schema, the description is severely inadequate. It doesn't explain what constitutes a valid quest, what fields are required versus optional, what the status enum means, or what format the response takes. The description fails to provide the context needed for effective tool use.

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?

The description mentions no parameters at all, while the input schema shows a complex nested 'quest' object with 8 properties. With 0% schema description coverage, the description fails completely to compensate - it doesn't even hint at what data is needed to create a quest, leaving all parameter semantics undocumented.

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 ('Add') and resource ('new Quest to the knowledge graph'), making the purpose immediately understandable. However, it doesn't distinguish this tool from other 'add_' siblings like add_artifact or add_npc, which follow the same pattern but for different entity types.

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. With sibling tools like update_quest and delete_quest available, there's no indication of when creation is appropriate versus modification or deletion, nor any mention of prerequisites or constraints.

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

add_skillsC

Defines list of skills or abilities a character can possess.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a write operation ('defines'), but doesn't specify if this creates new skills, modifies existing ones, requires permissions, or has side effects. For a mutation tool with zero annotation coverage, this lack of detail is a significant gap.

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, efficient sentence: 'Defines list of skills or abilities a character can possess.' It's front-loaded with the core purpose, has no redundant words, and is appropriately sized for the tool's complexity.

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 tool's complexity (1 parameter with nested objects, no output schema, and no annotations), the description is incomplete. It doesn't cover parameter details, behavioral traits, or usage context, leaving gaps that could hinder correct tool invocation by an AI agent.

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 must compensate for undocumented parameters. It mentions 'list of skills or abilities' but doesn't explain the 'skills' parameter's structure (e.g., nested object with 'name' and 'owner' fields). This adds minimal value beyond the schema, failing to clarify parameter meanings adequately.

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 tool's purpose: 'Defines list of skills or abilities a character can possess.' It specifies the verb 'defines' and the resource 'skills or abilities a character can possess,' making it understandable. However, it doesn't explicitly differentiate from siblings like 'add_artifact' or 'add_npc,' which also add entities, so it's not fully distinct.

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. It doesn't mention prerequisites, such as needing an existing character, or contrast with siblings like 'update_skills' or 'delete_skills.' Without such context, users must infer usage from the name alone, which is insufficient.

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

add_temporalD

Represents a specific point in time and its associated environmental conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
temporalYes

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers none. It does not indicate whether this is a read or write operation, what permissions are needed, or how it affects the system (e.g., creates new temporal entries). This leaves critical behavioral traits undocumented.

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, concise sentence, but it is under-specified rather than efficiently informative. While not verbose, it lacks essential details, making it ineffective despite its brevity.

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?

Given the complexity (1 parameter with nested objects), no annotations, no output schema, and 0% schema coverage, the description is severely incomplete. It does not address the tool's purpose, usage, behavior, or parameters adequately for a mutation tool in a system with multiple temporal operations.

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?

The schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no meaning beyond the schema—it does not explain the 'temporal' parameter or its nested properties (day, time, weather, year), failing to compensate for the coverage gap.

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

Purpose2/5

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

The description 'Represents a specific point in time and its associated environmental conditions' is vague and tautological—it restates the tool name 'add_temporal' without specifying what the tool actually does (e.g., create, store, or log temporal data). It fails to distinguish from siblings like 'update_temporal' or 'delete_temporal', leaving the agent unclear on its function.

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

Usage Guidelines1/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. The description does not mention prerequisites, context, or comparisons to sibling tools (e.g., 'update_temporal' for modifications or 'delete_temporal' for removal), leaving the agent with no usage direction.

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

add_transportationD

Represents a transportation owned or used by a character or entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
transportationYes

TDQS

D1.6/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but provides none. It doesn't indicate this is a creation/mutation operation, what permissions might be required, whether the transportation becomes immediately available in the system, what happens on success/failure, or any side effects. The passive 'represents' language obscures the actual action being performed.

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 - a single sentence. While this is efficient, it's under-specified rather than appropriately concise. The sentence structure is clear but fails to convey necessary information about the tool's purpose and usage.

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 1 complex parameter (nested object with 4 required fields), 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It provides no operational context, no parameter guidance, no behavioral information, and doesn't explain what happens after adding transportation or how to verify success.

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% (all parameter descriptions are generic like 'Additional property value' and 'Item in owner array'), and the tool description provides no parameter information whatsoever. The description doesn't mention the required 'transportation' object parameter, its structure, or what fields like 'name', 'description', 'owner', and 'type' should contain beyond what's minimally indicated in the schema.

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

Purpose2/5

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

The description 'Represents a transportation owned or used by a character or entity' is tautological - it restates the tool name 'add_transportation' in different words without specifying what the tool actually does. It doesn't indicate this is a creation/adding tool versus a representation/viewing tool, and doesn't distinguish it from sibling tools like 'update_transportation' or 'delete_transportation'.

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

Usage Guidelines1/5

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

No guidance is provided about when to use this tool versus alternatives. The description doesn't indicate this is for adding/creating transportation versus updating existing transportation (update_transportation) or deleting it (delete_transportation). There's no mention of prerequisites, context, or relationship to other tools in the system.

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

delete_artifactC

Delete an existing artifact from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_artifactYesDelete parameters for artifact

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool deletes an artifact, implying a destructive, irreversible operation, but doesn't specify permissions required, confirmation prompts, side effects (e.g., impact on related graph elements), or error handling. This is inadequate for a mutation tool with zero 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.

Conciseness2/5

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

The description is poorly structured with unnecessary line breaks ('Delete\n an existing\n artifact\n from\n the\n knowledge\n graph'), making it less readable. While the content is minimal, the formatting wastes space and disrupts flow. A single, clean sentence would be more effective.

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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical details: what happens post-deletion (e.g., success confirmation, error messages), whether deletion is permanent, and how it interacts with the knowledge graph system. The agent has insufficient context to use this tool safely and effectively.

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%, with the parameter 'name' documented as 'The name of the artifact to delete'. The description adds no additional parameter information beyond what's in the schema, such as format examples or constraints. Since the schema fully covers the single parameter, the baseline score of 3 is appropriate.

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 ('Delete') and resource ('an existing artifact from the knowledge graph'), making the purpose immediately understandable. It distinguishes itself from sibling tools like 'add_artifact' and 'update_artifact' by specifying deletion rather than creation or modification. However, it doesn't explicitly mention what an 'artifact' is in this context, which slightly reduces specificity.

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. It doesn't mention prerequisites (e.g., artifact must exist), exclusions (e.g., cannot delete if referenced elsewhere), or comparisons to siblings like 'update_artifact' for modification instead of deletion. The agent must infer usage from the tool name alone.

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

delete_currencyC

Delete an existing currency from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_currencyYesDelete parameters for currency

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Delete' which implies a destructive mutation, but doesn't elaborate on critical aspects like permissions needed, whether deletion is permanent/reversible, side effects on related data, or error conditions. This is a significant gap for a destructive operation.

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 technically concise but poorly structured with awkward line breaks ('Delete\n an existing\n currency\n from\n the\n knowledge\n graph'), reducing readability. The content is front-loaded with the core action, but the formatting detracts from clarity.

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?

For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permanence, dependencies), expected outcomes, or error handling, which are crucial for safe and effective tool invocation in this 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%, with the parameter 'name' clearly documented in the schema as 'The name of the currency to delete'. The description adds no additional parameter information beyond implying deletion requires a currency name. This meets the baseline for high schema coverage.

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 ('Delete') and target resource ('an existing currency from the knowledge graph'), making the purpose unambiguous. However, it doesn't explicitly differentiate this from sibling delete tools (e.g., delete_artifact, delete_faction) beyond specifying 'currency' in the resource name, which is why it doesn't reach the highest score.

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. It doesn't mention prerequisites (e.g., currency must exist), exclusions, or comparisons to other tools like update_currency or add_currency, leaving the agent with minimal context for decision-making.

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

delete_edgesC

Delete multiple edges from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
edgesYesArray of edges to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Delete' implies a destructive mutation, it doesn't specify whether this is reversible, what permissions are required, what happens to connected data, or error handling for non-existent edges. The description lacks crucial behavioral context for a destructive operation.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and understandable without unnecessary elaboration.

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?

For a destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after deletion, what the tool returns, error conditions, or important behavioral constraints. Given the complexity of graph operations and lack of structured safety information, more context 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?

Schema description coverage is 100%, so the schema fully documents the 'edges' parameter structure. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain edge format expectations, validation rules, or deletion behavior specifics. Baseline 3 is appropriate when schema does all the work.

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 ('Delete') and resource ('multiple edges from the knowledge graph'), making the purpose immediately understandable. It distinguishes from siblings like 'delete_nodes' or 'delete_artifact' by specifying edges, but doesn't explicitly contrast with 'update_edges' or other edge-related tools.

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 like 'update_edges' or other deletion tools. It doesn't mention prerequisites, consequences, or typical scenarios for edge deletion versus other operations.

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

delete_factionC

Delete an existing faction from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_factionYesDelete parameters for faction

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a deletion operation, implying it's destructive, but doesn't specify whether deletion is permanent, reversible, requires specific permissions, or has side effects (e.g., cascading deletions). For a destructive tool with zero annotation coverage, this is inadequate.

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 technically concise but poorly structured with awkward line breaks ('Delete\n an existing\n faction\n from\n the\n knowledge\n graph'). While the content is minimal and to the point, the formatting reduces readability and appears unpolished.

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?

For a destructive deletion tool with no annotations and no output schema, the description is insufficient. It doesn't address critical context like what happens after deletion (success/failure indicators), whether the operation is idempotent, or error conditions. The agent lacks necessary information to use this tool safely and effectively.

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%, with the single parameter 'name' clearly documented in the schema as 'The name of the faction to delete'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.

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 'Delete' and the resource 'faction from the knowledge graph', making the purpose unambiguous. However, it doesn't explicitly distinguish this tool from other delete_* siblings like delete_artifact or delete_npc, though the resource name provides implicit differentiation.

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. It doesn't mention prerequisites (e.g., the faction must exist), consequences, or when to choose delete_faction over update_faction or other deletion tools. The agent must infer usage from the tool name alone.

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

delete_inventoryC

Delete an existing inventory from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_inventoryYesDelete parameters for inventory

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool deletes an inventory, implying a destructive mutation, but lacks details on permissions, reversibility, side effects (e.g., impact on related graph elements), or error handling. This is a significant gap for a destructive operation.

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, straightforward sentence ('Delete an existing inventory from the knowledge graph'), but it's formatted with unnecessary line breaks that disrupt readability. It's front-loaded with the core action, though the structure could be cleaner without the formatting issues.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as confirmation requirements, return values, error cases, or dependencies, making it inadequate for safe and effective use by an AI 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%, with the parameter 'name' documented as 'The name of the inventory to delete'. The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate given the schema handles the documentation.

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 ('Delete') and resource ('an existing inventory from the knowledge graph'), making the purpose unambiguous. It distinguishes from siblings like 'add_inventory' and 'update_inventory' by specifying deletion, though it doesn't explicitly contrast with other delete operations (e.g., 'delete_artifact').

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 doesn't mention prerequisites (e.g., inventory must exist), exclusions, or comparisons to siblings like 'delete_artifact' or 'update_inventory', leaving the agent to infer usage from context alone.

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

delete_locationC

Delete an existing location from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_locationYesDelete parameters for location

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states this is a deletion operation, implying it is destructive, but does not disclose critical behavioral traits such as whether deletion is permanent, requires specific permissions, has side effects (e.g., on connected edges), or provides confirmation. This is inadequate for a destructive tool with zero 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.

Conciseness3/5

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

The description is concise but poorly structured with unnecessary line breaks ('Delete\n an existing\n location\n from\n the\n knowledge\n graph'), which hinders readability. The content is front-loaded with the core action, but the formatting reduces clarity.

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 this is a destructive tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., permanence, side effects), usage context, and what to expect upon deletion (e.g., success confirmation or error handling), making it insufficient for safe and effective use.

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%, with the parameter 'name' clearly documented in the schema as 'The name of the location to delete'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

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 ('Delete') and the resource ('an existing location from the knowledge graph'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'delete_nodes' or 'delete_artifact', which also delete entities from the knowledge graph, so it lacks specific sibling 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., the location must exist), exclusions, or comparisons to other deletion tools like 'delete_nodes' or 'delete_artifact', leaving the agent without context for selection.

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

delete_metadataC

Delete specific metadata from nodes in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
deletionsYesArray of metadata deletions

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't specify whether this operation is reversible, requires specific permissions, has side effects on the graph structure, or provides confirmation of deletion. For a destructive tool with zero annotation coverage, this is inadequate 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?

The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's front-loaded with the core action and target, making it immediately understandable. Every word earns its place, achieving optimal 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 tool's destructive nature, lack of annotations, and absence of an output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, permissions, or return values, nor does it provide usage context relative to sibling tools. For a mutation tool in a complex graph system, this leaves critical gaps for an AI 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%, with the single parameter 'deletions' fully documented in the schema as an array of objects with 'nodeName' and 'metadata' fields. The description adds no additional meaning beyond the schema, such as explaining what constitutes valid metadata items or deletion constraints. Baseline 3 is appropriate when the schema does all the work.

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 ('Delete') and target ('specific metadata from nodes in the knowledge graph'), which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'delete_nodes' or 'delete_edges' by focusing on metadata deletion rather than node/edge deletion. However, it doesn't explicitly contrast with 'add_metadata' or other metadata-related tools, keeping it from a perfect score.

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. It doesn't mention prerequisites (e.g., metadata must exist), exclusions (e.g., cannot delete all metadata at once), or suggest other tools like 'update_metadata' if modification is needed instead. With many sibling tools available, this lack of contextual guidance is a significant gap.

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

delete_nodesC

Delete multiple nodes and their associated edges from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeNamesYesAn array of node names to delete

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions deletion of nodes and associated edges, implying a destructive operation, but lacks details on permissions needed, whether deletions are reversible, error handling, or side effects like cascading impacts. This is a significant gap for a mutation tool with zero 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?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly.

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 tool's complexity as a destructive operation with no annotations and no output schema, the description is inadequate. It doesn't explain what happens upon deletion (e.g., confirmation, return values, or error messages), leaving critical behavioral aspects undocumented for safe and effective use.

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 has 100% description coverage, clearly documenting the 'nodeNames' parameter as an array of node names to delete. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, so it meets the baseline for high schema coverage.

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 ('Delete multiple nodes') and the resource ('knowledge graph'), with the additional detail about associated edges being removed. It distinguishes from sibling tools like 'delete_edges' by specifying nodes as the primary target, though it doesn't explicitly contrast with other delete operations like 'delete_artifact' or 'delete_location'.

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. With many sibling tools for deleting specific types (e.g., 'delete_artifact', 'delete_location'), it doesn't clarify if this is for generic nodes or if there are prerequisites, exclusions, or recommended contexts for its use.

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

delete_npcC

Delete an existing npc from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_npcYesDelete parameters for npc

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Delete' which implies a destructive mutation, but doesn't disclose behavioral traits like whether deletion is permanent, requires specific permissions, affects related data (e.g., edges), or provides confirmation. For a destructive tool with zero annotation coverage, this is inadequate.

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 concise but poorly structured with unnecessary line breaks ('Delete\n an existing\n npc\n from\n the\n knowledge\n graph'), making it less readable. The content is front-loaded with the core action, but the formatting detracts from clarity.

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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover critical aspects like what happens on success/failure, return values, or side effects. With 1 parameter and 100% schema coverage, the parameter part is adequate, but overall context for safe usage is 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?

Schema description coverage is 100%, with the parameter 'name' clearly documented in the schema as 'The name of the npc to delete'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

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 ('Delete') and target resource ('an existing npc from the knowledge graph'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling delete tools (e.g., delete_artifact, delete_currency) beyond specifying the npc resource type, which is somewhat implied but not strongly contrasted.

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. It doesn't mention prerequisites (e.g., npc must exist), consequences, or when to choose other tools like update_npc or delete_nodes. With many sibling tools available, this lack of context is a significant gap.

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

delete_player_characterC

Delete an existing player_character from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_player_characterYesDelete parameters for player_character

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool deletes from a 'knowledge graph', which implies a destructive operation, but lacks details on permissions, reversibility, side effects, or what happens to related data (e.g., edges or metadata). This is a significant gap for a mutation tool.

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 but formatted with unnecessary line breaks, making it appear fragmented. It's concise in content but poorly structured, reducing readability without adding value.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical behavioral details (e.g., confirmation, error handling) and doesn't compensate for the absence of structured safety or output information, leaving gaps for an AI 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%, with the parameter 'name' clearly documented in the schema. The description adds no additional parameter semantics beyond implying deletion requires a name, which is already covered. Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('Delete') and the resource ('player_character'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling delete tools (e.g., delete_artifact, delete_npc) beyond naming the specific resource, which is implied but not stated.

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. It doesn't mention prerequisites (e.g., needing an existing player_character), exclusions, or how it relates to sibling tools like update_player_character or add_player_character.

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

delete_questC

Delete an existing quest from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_questYesDelete parameters for quest

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states this is a deletion operation, implying it's destructive and likely irreversible, but doesn't disclose behavioral traits like permissions needed, side effects (e.g., impact on related graph elements), error handling, or rate limits. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness2/5

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

The description is poorly structured with unnecessary line breaks ('Delete\n an existing\n quest\n from\n the\n knowledge\n graph'), making it harder to parse. While it's brief, the formatting wastes space and reduces clarity. A single, clean sentence would be more effective.

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 a destructive deletion tool with no annotations and no output schema, the description is incomplete. It lacks critical context like what happens upon deletion (e.g., success/failure responses, error cases), dependencies, or safety warnings. For a tool that permanently removes data, this is inadequate.

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%, with the parameter 'name' clearly documented in the schema as 'The name of the quest to delete'. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.

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 states the action ('Delete') and resource ('an existing quest from the knowledge graph'), which provides a basic purpose. However, it's somewhat vague about what 'quest' means in this context and doesn't differentiate from sibling delete tools (e.g., delete_artifact, delete_npc) beyond specifying the resource type. It's not tautological but lacks specificity.

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. It doesn't mention prerequisites (e.g., quest must exist), consequences (e.g., irreversible deletion), or when to choose other tools like update_quest. Without any usage context, the agent has minimal direction.

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

delete_skillsC

Delete an existing skills from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_skillsYesDelete parameters for skills

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a deletion operation, implying it's destructive, but doesn't specify whether deletion is permanent, reversible, or has side effects (e.g., impact on related graph elements). No rate limits, authentication needs, or error conditions are mentioned.

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

Conciseness2/5

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

The description is broken into multiple lines with unnecessary whitespace, making it appear poorly structured. While the content is brief, the formatting detracts from readability. It could be more efficiently written as a single coherent sentence.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks details on what happens post-deletion (e.g., confirmation, error messages), how to handle non-existent skills, or the tool's role within the broader knowledge graph system. More context is needed given the complexity.

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%, with the parameter 'name' clearly documented in the schema as 'The name of the skills to delete'. The description adds no additional meaning about parameters beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

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 states the verb 'delete' and resource 'skills from the knowledge graph', which clarifies the basic action. However, it doesn't distinguish this from sibling tools like delete_artifact or delete_nodes, which follow the same pattern for different resources. The description is vague about what 'skills' represents in this context.

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 doesn't mention prerequisites (e.g., skills must exist), exclusions, or relationships with sibling tools like update_skills or add_skills. The description offers only the basic action without context.

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

delete_temporalC

Delete an existing temporal from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_temporalYesDelete parameters for temporal

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a deletion operation, implying it's destructive, but doesn't clarify permanence, side effects (e.g., impact on related graph elements), authentication needs, or error handling. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

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, fragmented sentence ('Delete an existing temporal from the knowledge graph') with awkward line breaks, suggesting poor formatting rather than intentional brevity. While it's short, the structure is messy and doesn't front-load key information effectively. It earns its place but could be cleaner.

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 this is a destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as what happens post-deletion, whether the action is reversible, potential dependencies, or what the return value might be. For a mutation operation in a knowledge graph context, more behavioral detail is warranted.

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 100% description coverage, clearly documenting the single required parameter 'name' as 'The name of the temporal to delete'. The description adds no parameter details beyond what the schema provides, but with only one parameter and high schema coverage, the baseline is strong. No additional semantic value is needed here.

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 states the action ('Delete') and resource ('an existing temporal from the knowledge graph'), which is clear but basic. It doesn't distinguish this tool from other delete_* siblings beyond specifying 'temporal' as the target, which is already evident from the tool name. The purpose is understandable but lacks specificity about what a 'temporal' is or why one would delete it.

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. The description doesn't mention prerequisites (e.g., needing an existing temporal), exclusions, or comparisons with related tools like 'update_temporal' or 'add_temporal'. Without such context, the agent must infer usage from the tool name alone.

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

delete_transportationC

Delete an existing transportation from the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
delete_transportationYesDelete parameters for transportation

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool deletes an existing transportation, implying a destructive mutation, but doesn't cover critical aspects like permissions needed, whether deletion is permanent or reversible, error handling (e.g., if the transportation doesn't exist), or rate limits. This is a significant gap for a destructive tool with zero 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.

Conciseness3/5

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

The description is a single sentence but is formatted with unnecessary line breaks ('Delete\n an existing\n transportation\n from\n the\n knowledge\n graph'), which harms readability. The content is front-loaded with the action, but the structure is inefficient due to the formatting issues.

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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permanence, side effects), usage context, and return values, which are essential for safe and effective tool invocation in a knowledge graph environment.

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%, with the parameter 'name' clearly documented in the schema as 'The name of the transportation to delete'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.

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 ('Delete') and the resource ('an existing transportation from the knowledge graph'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'delete_artifact' or 'delete_currency' beyond the resource name, though the context of 'transportation' is inherently distinct.

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. It doesn't mention prerequisites (e.g., the transportation must exist), exclusions, or comparisons with other deletion tools (e.g., 'delete_transportation' vs 'update_transportation'), leaving the agent to infer usage from the tool name alone.

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

open_nodesC

Open specific nodes in the knowledge graph by their names

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYesAn array of node names to retrieve

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Open' suggests a read operation, but it doesn't clarify whether this is safe (non-destructive), what permissions are needed, what happens if nodes don't exist, or what the return format is. For a tool with no annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence with zero wasted words. It front-loads the core action and resource, making it easy to parse. Every element ('open', 'specific nodes', 'knowledge graph', 'by their names') contributes directly to understanding.

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 no annotations and no output schema, the description is incomplete for a tool that likely returns node data. It doesn't explain what 'open' entails (e.g., retrieving details, expanding views) or the response format. For a read operation in a knowledge graph context, more behavioral context 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?

Schema description coverage is 100%, with the parameter 'names' fully documented as an array of node names. The description adds minimal value beyond the schema, only implying that nodes are retrieved by name. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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 ('open') and resource ('specific nodes in the knowledge graph'), with the qualifier 'by their names' adding specificity. It distinguishes from siblings like 'read_graph' (which likely reads the entire graph) and 'search_nodes' (which likely searches rather than opens specific nodes). However, it doesn't explicitly contrast with 'add_nodes' or 'update_nodes', which are clearly different operations.

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. It doesn't mention when to choose 'open_nodes' over 'read_graph' or 'search_nodes', nor does it specify prerequisites like needing existing node names. The context is implied but not explicit.

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

read_graphB

Read the entire knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose whether this is a safe read operation, potential performance impacts of reading the 'entire' graph, authentication needs, rate limits, or what the return format looks like. 'Read' implies non-destructive, but this isn't explicitly confirmed.

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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it immediately clear. Every word earns its place by specifying 'entire' to differentiate scope.

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 reading an entire knowledge graph, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'entire' entails (e.g., all nodes/edges), potential size limitations, return format, or error conditions. For a tool with significant scope, more context 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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. Baseline is 4 for zero parameters, as the description correctly avoids unnecessary parameter explanation.

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 'Read the entire knowledge graph' clearly states the action (read) and resource (knowledge graph), making the purpose immediately understandable. It distinguishes from siblings like 'search_nodes' or 'open_nodes' by specifying 'entire' scope. However, it doesn't explicitly contrast with all siblings, keeping it at 4 rather than 5.

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 like 'search_nodes' or 'open_nodes'. It doesn't mention prerequisites, performance considerations for reading the 'entire' graph, or any exclusions. The agent must infer usage from the name and description alone.

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

search_nodesC

Search for nodes in the knowledge graph based on a query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query to match against node names, types, and metadata content

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions searching based on a query but doesn't describe what 'nodes' entail, how results are returned (e.g., format, pagination), or any limitations (e.g., search scope, performance). This leaves significant gaps for a tool with no 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste, making it highly concise and well-structured.

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 a search operation in a knowledge graph, no annotations, and no output schema, the description is incomplete. It lacks details on result format, search behavior, or error handling, which are crucial for effective tool use. The description does not compensate for these gaps.

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 schema description coverage is 100%, with the parameter 'query' well-documented in the schema as matching against node names, types, and metadata content. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

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 ('Search for nodes') and the resource ('knowledge graph'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential sibling search tools (none are listed, but the distinction isn't explicit).

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. It doesn't mention prerequisites, context for searching versus other operations like 'read_graph' or 'open_nodes', or any exclusions. Usage is implied by the name but not explicitly stated.

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

update_artifactC

Update an existing artifact in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_artifactYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Update an existing artifact' implies a mutation operation, but the description doesn't specify required permissions, whether changes are partial or complete replacements, what happens to unspecified fields, or error conditions (e.g., if artifact doesn't exist). For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.

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, efficient sentence that directly states the tool's function. There's no wasted verbiage or unnecessary elaboration. It's appropriately sized for a basic declaration, though this conciseness comes at the cost of completeness.

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 mutation tool with 11 nested parameters, 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what an 'artifact' represents in this context, what fields can be updated, how the update operation works, or what to expect in return. The agent would be operating with minimal guidance in a complex parameter space.

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%, meaning none of the parameters have descriptions in the schema. The tool description provides no information about parameters beyond the single top-level 'update_artifact' object. With 11 nested properties (name, description, effects, etc.) completely undocumented in both schema and description, the agent has no guidance on what these parameters mean or how to use them. This is a severe deficiency.

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 states the verb ('update') and resource ('artifact in the knowledge graph'), which is clear but basic. It distinguishes from deletion tools but doesn't explicitly differentiate from other update_* tools (like update_currency, update_location) that likely operate on different resource types. The purpose is understandable but lacks specificity about what aspects of an artifact can be updated.

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 about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., artifact must exist), when to use add_artifact versus update_artifact, or how this differs from other update operations. The agent must infer usage from the tool name alone, which is insufficient for optimal selection.

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

update_currencyC

Update an existing currency in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_currencyYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is an update operation, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling, or what happens to unspecified fields. This leaves significant gaps for a mutation 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero wasted content.

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 (mutation tool with nested objects, 0% schema coverage, no output schema, and no annotations), the description is inadequate. It lacks details on parameters, behavioral traits, error conditions, and output expectations, making it incomplete for safe and effective use.

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?

The schema description coverage is 0%, meaning all parameters are undocumented in the schema. The description adds no information about parameters beyond implying an 'existing currency' is needed. It doesn't explain what 'update_currency' object contains, the purpose of fields like 'metadata' or 'owner', or how updates are applied, failing to compensate for the schema gap.

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 ('existing currency in the knowledge graph'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'update_artifact' or 'update_nodes' beyond specifying the resource type, which prevents a perfect score.

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. It doesn't mention prerequisites (e.g., needing an existing currency), exclusions, or comparisons to tools like 'add_currency' or 'delete_currency' from the sibling list.

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

update_edgesC

Update existing edges in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
edgesYesArray of edges to update

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. 'Update existing edges' implies a mutation operation but doesn't disclose critical details: whether this requires specific permissions, if updates are atomic/batch, what happens on invalid inputs (e.g., non-existent edges), or error handling. It lacks transparency about side effects or system behavior beyond the basic action.

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, focused sentence with zero wasted words. It front-loads the core action and resource efficiently, making it easy to parse. Every word earns its place without redundancy or fluff.

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 graph edges (a mutation operation with no annotations or output schema), the description is incomplete. It doesn't address behavioral aspects like permissions, error handling, or return values, leaving significant gaps for an AI agent to operate safely and effectively. The high schema coverage helps but doesn't compensate for missing context on tool behavior.

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 description adds no parameter semantics beyond what the schema already provides. Since schema description coverage is 100%, the baseline score is 3. The schema fully documents the 'edges' array parameter and its nested properties (e.g., edgeType, newEdgeType, weight range), so the description doesn't need to compensate but also adds no extra value.

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 resource ('existing edges in the knowledge graph'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'update_*' tools (like update_nodes, update_artifact, etc.), which all follow the same 'update [resource]' pattern without specifying what makes edges unique.

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. It doesn't mention prerequisites (e.g., edges must exist), compare it to 'add_edges' or 'delete_edges', or indicate appropriate contexts for updating edges versus other graph operations. The agent must infer usage from the tool name alone.

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

update_factionC

Update an existing faction in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_factionYes

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states 'update' implying mutation but doesn't disclose permissions needed, whether changes are reversible, rate limits, or response format. This is inadequate for a mutation tool with zero 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?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly, though this brevity contributes to gaps in other dimensions.

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?

Given the complexity (mutation tool with nested objects, 1 parameter at 0% schema coverage, no output schema, and no annotations), the description is severely incomplete. It lacks details on usage, behavior, parameters, and output, making it inadequate for effective tool invocation.

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%, meaning all parameters are undocumented in the schema. The description adds no information about parameters beyond the tool name, failing to compensate for the coverage gap. It doesn't explain the nested 'update_faction' object or its properties like 'name' or 'goals'.

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 states the action ('update') and resource ('existing faction in the knowledge graph'), which is clear but basic. It doesn't distinguish this tool from sibling update tools like update_artifact or update_npc, nor does it specify what aspects of a faction can be updated beyond the generic term.

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 doesn't mention prerequisites (e.g., needing an existing faction), exclusions, or comparisons with similar tools like add_faction or delete_faction, leaving the agent without context for selection.

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

update_inventoryC

Update an existing inventory in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_inventoryYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'update' implies mutation but doesn't describe what happens (e.g., partial vs. full replacement, side effects, permissions needed, or response format). This leaves significant gaps for a mutation tool.

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, efficient sentence with no wasted words. It's appropriately sized for a basic tool definition, though it could be more informative without sacrificing brevity.

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?

For a mutation tool with no annotations, 0% schema coverage, no output schema, and complex nested parameters, the description is inadequate. It lacks details on behavior, parameters, and usage context, making it incomplete for effective tool invocation.

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?

The description provides no information about parameters. With 0% schema description coverage and 1 parameter (a nested object with properties like items, metadata, name, owner), the description fails to compensate, leaving all parameter meanings undocumented.

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 states the action ('update') and target ('existing inventory in the knowledge graph'), which is clear but vague. It doesn't specify what aspects of an inventory can be updated or differentiate from sibling tools like 'add_inventory' or 'delete_inventory' beyond the basic verb.

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. The description doesn't mention prerequisites (e.g., an inventory must exist), exclusions, or comparisons to sibling tools like 'add_inventory' for creation or 'delete_inventory' for removal.

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

update_locationC

Update an existing location in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_locationYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't specify whether this is destructive (overwrites vs merges), what permissions are required, whether changes are reversible, or what happens to unspecified fields. It also doesn't describe the response format or error conditions, leaving significant behavioral gaps.

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, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a basic tool description and front-loads the essential information. Every word earns its place in conveying the core 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?

For a mutation tool with 16 parameters, 0% schema description coverage, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what fields can be updated, how updates are applied, what the response contains, or any behavioral constraints. The agent would struggle to use this tool correctly without extensive trial and error.

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?

The description provides zero information about parameters beyond the generic 'update_location' object name. With schema description coverage at 0% and 16 nested parameters documented only in the schema, the description fails to add any semantic meaning about what can be updated (name, description, metadata, etc.) or how updates work. This leaves parameters completely undocumented in the description text.

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 resource ('an existing location in the knowledge graph'), making the purpose immediately understandable. It distinguishes from sibling 'add_location' by specifying 'existing' rather than creation. However, it doesn't explicitly differentiate from other update tools like 'update_artifact' or 'update_quest' beyond the resource type.

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. It doesn't mention prerequisites (e.g., needing an existing location ID), when not to use it, or how it differs from other update operations like 'update_nodes' or 'update_edges'. The agent must infer usage from the tool name alone.

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

update_nodesC

Update existing nodes in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
nodesYesArray of nodes to update

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update existing nodes' implies a mutation operation, but it doesn't disclose important behavioral traits like required permissions, whether updates are partial or complete, what happens to unspecified fields, error handling, or side effects. The description is minimal and lacks critical operational 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, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for what it conveys, though it could benefit from additional context.

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 nodes in a knowledge graph, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what constitutes a valid update, how conflicts are handled, what the response contains, or error conditions. For a mutation tool with rich sibling alternatives, more context 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?

Schema description coverage is 100%, so the schema fully documents the single 'nodes' parameter and its nested structure. The description adds no additional parameter semantics beyond what's in the schema, which meets the baseline expectation when schema coverage is high. No compensation is needed or provided.

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 target resource ('existing nodes in the knowledge graph'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'update_artifact' or 'update_edges', which update different resource types in the same system.

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. There are multiple 'update_' sibling tools for different resource types (e.g., update_artifact, update_edges), but the description doesn't mention any context, prerequisites, or exclusions for choosing this specific node-updating tool.

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

update_npcC

Update an existing npc in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_npcYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation (implying mutation), but doesn't mention permissions required, whether changes are reversible, what happens to unspecified fields, or error conditions. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

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, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a basic tool description and front-loads the essential 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?

For a mutation tool with no annotations, no output schema, and 18 nested parameters at 0% schema description coverage, the description is inadequate. It doesn't explain what constitutes a successful update, what gets returned, error handling, or the scope of changes. The agent would struggle to use this tool correctly without extensive trial and error.

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?

The description provides zero information about parameters beyond the single top-level 'update_npc' object. With schema description coverage at 0% and 18 nested properties documented only in the schema, the description fails to compensate for the coverage gap. It doesn't explain what fields can be updated or their meanings.

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 ('existing npc in the knowledge graph'), making the purpose immediately understandable. It distinguishes from siblings like 'add_npc' by specifying 'existing', but doesn't differentiate from other update tools (e.g., update_artifact, update_location) beyond the resource type.

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. It doesn't mention prerequisites (e.g., needing an existing NPC to update), when to choose add_npc instead, or how it differs from other update operations like update_nodes. Usage is implied but not explicitly stated.

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

update_player_characterC

Update an existing player_character in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_player_characterYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it's an update operation without disclosing behavioral traits. It doesn't mention if this is a partial or full update, whether it overwrites or merges fields, what permissions are needed, or potential side effects (e.g., impact on related entities). This is inadequate for a mutation tool with zero 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?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and target, making it easy to parse quickly. Every part of the sentence contributes directly to the tool's 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 complexity (a mutation tool with nested objects, 1 parameter but many sub-properties, no output schema, and no annotations), the description is incomplete. It doesn't address how updates are applied, what the response looks like, or error conditions, making it insufficient for safe and effective use by an AI agent.

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?

The description adds no parameter semantics beyond what's implied by the tool name. With 0% schema description coverage (the schema has descriptions, but they're not counted in coverage), the description fails to compensate by explaining the input structure, required fields, or the meaning of parameters like 'update_player_character' object. This leaves the agent guessing about how to format the update data.

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 target ('an existing player_character in the knowledge graph'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'update_npc' or 'update_artifact' beyond the resource name, missing a clear distinction about what makes updating a player character unique compared to other entity updates.

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. It doesn't mention prerequisites (e.g., the player character must exist), exclusions, or comparisons to sibling tools like 'add_player_character' or 'delete_player_character', leaving the agent without context for appropriate selection.

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

update_questC

Update an existing quest in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_questYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Update an existing quest,' which implies a mutation operation, but doesn't describe critical behaviors like whether it overwrites or merges fields, what permissions are required, if changes are reversible, or what happens on failure. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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, direct sentence with zero wasted words. It's front-loaded with the core action ('Update') and resource, making it easy to parse quickly. Every word earns its place by conveying the essential purpose without redundancy or fluff.

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 (a mutation tool with nested parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral traits, parameter meanings, or return values, leaving the agent with insufficient context to use the tool effectively. For a tool that modifies data in a knowledge graph, more detail is needed to ensure correct invocation.

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?

The schema description coverage is 0%, meaning none of the parameters (e.g., 'name', 'status', 'objectives') are documented in the schema. The description adds no information about these parameters—it doesn't explain what fields can be updated, their purposes, or how they interact. With 1 parameter (a nested object) and no schema descriptions, the description fails to compensate, leaving parameters entirely undocumented.

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 ('an existing quest in the knowledge graph'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'add_quest' or other update tools (e.g., 'update_artifact'), which would require mentioning quest-specific aspects or contrasting with creation operations.

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. It doesn't mention prerequisites (e.g., needing an existing quest ID), contrast with 'add_quest' for creation, or specify scenarios where updating is appropriate (e.g., versus deleting). Without such context, the agent must infer usage from the tool name alone.

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

update_skillsD

Update an existing skills in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_skillsYes

TDQS

D1.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Update' implies a mutation operation, but the description doesn't disclose what permissions are needed, whether changes are reversible, what happens to existing data not mentioned in the update, or any rate limits. It mentions 'knowledge graph' context but provides no behavioral details about the update process.

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 extremely brief (one sentence) which could be appropriate if it were informative, but it's under-specified rather than concise. It's front-loaded with the core action but lacks necessary detail. The grammatical error ('an existing skills') detracts from quality.

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 mutation tool with no annotations, 0% schema coverage, no output schema, and a complex nested parameter structure, the description is completely inadequate. It doesn't explain what the tool returns, what the parameters mean, behavioral constraints, or how it differs from related tools. This leaves the agent with insufficient information to use the tool correctly.

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%, so the description must compensate. The description provides zero information about parameters - it doesn't mention what parameters are needed, what 'update_skills' object contains, or what fields like 'name', 'metadata', and 'owner' represent. With 1 required parameter (a nested object) completely undocumented, this is inadequate.

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

Purpose2/5

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

The description states 'Update an existing skills in the knowledge graph' which is a tautology that essentially restates the tool name 'update_skills'. It doesn't specify what aspects of skills are updated or how this differs from other update tools like update_artifact or update_quest. The grammatical error ('an existing skills') further reduces clarity.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. With sibling tools like add_skills and delete_skills available, the description provides no context about prerequisites (e.g., skills must exist first), when to choose update over add/delete, or how this relates to other update_* tools for different entity types.

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

update_temporalC

Update an existing temporal in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_temporalYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates this is a mutation operation ('Update'), but fails to describe permissions needed, whether changes are reversible, what happens to unspecified fields, or the response format. This leaves significant gaps for a tool that modifies data.

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, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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?

For a mutation tool with no annotations, 0% schema description coverage, no output schema, and 1 required parameter (a nested object with multiple properties), the description is inadequate. It lacks details on parameters, behavioral traits, and expected outcomes, leaving the agent with insufficient information to use the tool effectively.

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?

The schema description coverage is 0%, meaning none of the parameters (day, time, weather, year, metadata, additionalProperties) are documented in the schema. The description adds no information about these parameters, their purposes, or how they interact, failing to compensate for the complete lack of schema documentation.

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 target resource ('an existing temporal in the knowledge graph'), which distinguishes it from sibling tools like 'add_temporal' or 'delete_temporal'. However, it doesn't specify what aspects of a temporal can be updated beyond the general concept.

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 like 'add_temporal' or 'delete_temporal', nor does it mention prerequisites such as needing an existing temporal to update. It only states the basic function without context.

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

update_transportationC

Update an existing transportation in the knowledge graph

ParametersJSON Schema
NameRequiredDescriptionDefault
update_transportationYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'update' implies mutation but doesn't disclose behavioral traits like required permissions, whether changes are reversible, error handling, or side effects. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, straightforward sentence with no wasted words. It's front-loaded and efficiently states the core action. However, it's overly concise given the tool's complexity, missing necessary details that would make it more helpful.

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 tool's complexity (mutation with nested parameters, no annotations, no output schema), the description is incomplete. It doesn't cover parameter usage, behavioral context, or output expectations. For a knowledge graph update tool, this leaves critical gaps in understanding how to invoke it correctly.

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 provides no information about parameters. The input schema includes nested properties like name, type, and metadata, but the description doesn't explain what these mean or how to use them. With 1 required parameter and complex nested structure, the description fails to compensate for the lack of schema documentation.

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 states the verb ('update') and resource ('existing transportation in the knowledge graph'), which provides a basic purpose. However, it's vague about what 'update' entails and doesn't differentiate from sibling tools like update_artifact or update_currency, which follow the same pattern. It's functional but lacks specificity about the domain or scope.

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. The description doesn't mention prerequisites (e.g., needing an existing transportation to update), exclusions, or comparisons to sibling tools like add_transportation or delete_transportation. It's a generic statement with no contextual direction.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 44 tool updatesv1.0.0
    • First observedadd_artifact
    • First observedadd_currency
    • First observedadd_edges
    • First observedadd_faction
    • First observedadd_inventory
    • First observedadd_location
    • First observedadd_metadata
    • First observedadd_nodes
    • First observedadd_npc
    • First observedadd_player_character
    • First observedadd_quest
    • First observedadd_skills
    • First observedadd_temporal
    • First observedadd_transportation
    • First observeddelete_artifact
    • First observeddelete_currency
    • First observeddelete_edges
    • First observeddelete_faction
    • First observeddelete_inventory
    • First observeddelete_location
    • First observeddelete_metadata
    • First observeddelete_nodes
    • First observeddelete_npc
    • First observeddelete_player_character
    • First observeddelete_quest
    • First observeddelete_skills
    • First observeddelete_temporal
    • First observeddelete_transportation
    • First observedopen_nodes
    • First observedread_graph
    • First observedsearch_nodes
    • First observedupdate_artifact
    • First observedupdate_currency
    • First observedupdate_edges
    • First observedupdate_faction
    • First observedupdate_inventory
    • First observedupdate_location
    • First observedupdate_nodes
    • First observedupdate_npc
    • First observedupdate_player_character
    • First observedupdate_quest
    • First observedupdate_skills
    • First observedupdate_temporal
    • First observedupdate_transportation

TDQS

C2.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific entity types (e.g., artifact, currency, faction) or graph operations (e.g., add_edges, read_graph, search_nodes). The CRUD pattern per entity eliminates ambiguity, as tools are differentiated by both action (add/update/delete) and target resource.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case, using verbs like add, delete, update, read, search, and open paired with specific nouns. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count2/5

With 44 tools, the count is excessive for the server's purpose of managing a knowledge graph for game worlds. While the tools cover many entities, the high number could overwhelm agents and suggests over-specialization, as similar operations are duplicated across numerous entity types rather than generalized.

Completeness5/5

The tool set provides comprehensive CRUD coverage for all key game world entities (e.g., artifacts, currencies, factions, NPCs) and essential graph operations (e.g., add/update/delete nodes/edges, read, search). No obvious gaps exist; agents can fully manage the knowledge graph lifecycle without dead ends.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CheMiguel23/MemoryMesh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server