MemoryMesh
메모리메시
MemoryMesh는 AI 모델을 위해 설계된 지식 그래프 서버로, 텍스트 기반 RPG와 인터랙티브 스토리텔링에 중점을 두고 있습니다. AI가 대화 전반에 걸쳐 일관되고 체계적인 메모리를 유지하도록 지원하여 더욱 풍부하고 역동적인 상호작용을 가능하게 합니다.
이 프로젝트는 MCP 서버 저장소의 지식 그래프 메모리 서버를 기반으로 하며 핵심 기능을 유지합니다.
중요한
v0.2.7 부터 스키마의 기본 위치가 dist/data/schemas 로 변경되었습니다. 이 위치는 앞으로도 변경되지 않을 것으로 예상되지만, 이전 버전에서 업데이트하는 경우 스키마 파일을 새 위치로 옮기는 것을 잊지 마세요.
Related MCP server: Enhanced Knowledge Graph Memory Server
빠른 링크
개요
MemoryMesh는 AI 모델을 위한 구조화된 정보를 구축하고 관리할 수 있는 로컬 지식 그래프 서버입니다. 특히 텍스트 기반 RPG에 적합하지만, 유연한 설계 덕분에 소셜 네트워크 시뮬레이션, 조직 계획 또는 구조화된 데이터가 관련된 모든 시나리오 등 다양한 애플리케이션에 유용합니다.
주요 특징
동적 스키마 기반 도구: 스키마를 사용하여 데이터 구조를 정의하면 MemoryMesh가 자동으로 데이터를 추가, 업데이트, 삭제하기 위한 도구를 생성합니다.
직관적인 스키마 디자인: 필수 필드, 열거형 및 관계 정의를 사용하여 AI가 노드를 생성하고 연결하도록 안내하는 스키마를 만듭니다.
AI 지침을 위한 메타데이터: 메타데이터를 사용하여 맥락과 구조를 제공하고, AI가 데이터 내의 의미와 관계를 이해하도록 돕습니다.
관계 처리: 스키마 내에서 관계를 정의하여 AI가 관련 데이터 포인트(노드) 간에 연결(에지)을 생성하도록 합니다.
정보 피드백: AI에 오류 피드백을 제공하여 실수로부터 학습하고 지식 그래프와의 상호 작용을 개선할 수 있도록 합니다.
이벤트 지원: 이벤트 시스템은 작업을 추적하여 지식 그래프가 어떻게 수정되는지에 대한 통찰력을 제공합니다.
노드
노드는 지식 그래프 내의 개체 또는 개념을 나타냅니다. 각 노드는 다음을 갖습니다.
name: 고유 식별자.nodeType: 스키마에 의해 정의된 노드의 유형(예:npc,artifact,location)입니다.metadata: 노드에 대한 설명적 세부 정보를 제공하는 문자열 배열입니다.weight: (선택 사항) 관계의 강도를 나타내는 0과 1 사이의 숫자 값이며, 기본값은 1입니다.
예제 노드:
지엑스피1
가장자리
에지는 노드 간의 관계를 나타냅니다. 각 에지에는 다음이 있습니다.
from: 소스 노드의 이름입니다.to: 대상 노드의 이름입니다.edgeType: 관계 유형(예:owns,located_in)
{
"from": "Aragorn",
"to": "Andúril",
"edgeType": "owns"
}스키마
스키마는 MemoryMesh의 핵심입니다. 스키마는 데이터 구조를 정의하고 도구의 자동 생성을 담당합니다.
스키마 파일 위치
빌드한 MemoryMesh 프로젝트의 dist/data/schemas 디렉터리에 스키마 파일( .schema.json )을 넣으세요. MemoryMesh는 시작 시 이 파일을 자동으로 감지하고 처리합니다.
스키마 구조
파일 이름: [name].schema.json . 예를 들어 'npc'를 정의하는 스키마의 경우 파일 이름은 add_npc.schema.json 입니다.
name- 메모리 내의 스키마 및 노드 유형에 대한 식별자입니다. 중요 : 스키마 이름은 인식되려면add_로 시작 해야 합니다 .description-add_<name>도구에 대한 설명으로 사용되며 AI에 대한 컨텍스트를 제공합니다. (delete및update도구에는 일반적인 설명이 있습니다.)properties- 각 속성에는 유형, 설명 및 추가 제약 조건이 포함됩니다.propertytype- 지원되는 값은string또는array입니다.description- AI가 엔터티의 목적을 이해하는 데 도움이 됩니다.required- 부울 값입니다.true이면 AI가 노드를 생성할 때 이 속성을 제공해야 합니다 .enum- 문자열 배열. 이 배열이 있는 경우 AI는 주어진 옵션 중 하나를 선택해야 합니다 .relationship- 다른 노드와의 연결을 정의합니다. 속성이 필수이고 관계가 있는 경우, AI는 항상 노드와 해당 에지를 모두 생성합니다 .edgeType- 생성할 관계의 유형입니다.description- AI가 관계의 목적을 파악하는 데 도움이 됩니다.
additionalProperties- 부울 값입니다.true이면 AI가 필수 또는 선택 사항으로 정의된 속성 외에 추가 속성을 추가할 수 있습니다.
예시 스키마(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
}이 스키마를 기반으로 MemoryMesh는 다음을 자동으로 생성합니다.
add_npc: 새로운 NPC 노드를 추가합니다.
update_npc: 기존 NPC 노드를 수정합니다.
delete_npc: NPC 노드를 제거합니다.
MemoryMesh에는 텍스트 기반 RPG에 맞춰 설계된 11개의 사전 구축된 스키마가 포함되어 있어 게임 개발을 위한 즉시 사용 가능한 기반을 제공합니다.
SchemaManager 도구
MemoryMesh에는 스키마 생성 및 편집을 간소화하는 SchemaManager 도구가 포함되어 있습니다. 시각적 인터페이스를 제공하여 JSON을 직접 작성하지 않고도 데이터 구조를 쉽게 정의할 수 있습니다.
동적 도구
MemoryMesh는 동적 도구를 통해 지식 그래프와의 상호 작용을 간소화합니다. 이러한 도구는 수동으로 코딩할 필요 없이 스키마 정의 에서 자동으로 생성 됩니다. 즉, 스키마를 사용하여 데이터 구조를 정의하면 MemoryMesh가 해당 데이터 구조에 맞춰 작동하는 도구 세트를 지능적으로 생성합니다.
이렇게 생각해 보세요. 청사진(스키마)을 제공하면 MemoryMesh가 해당 청사진을 기반으로 요소를 빌드, 수정, 제거하는 데 필요한 도구를 자동으로 구성합니다.
이런 일은 내부적으로 어떻게 진행되나요?
MemoryMesh는 스키마 정의를 읽어들이는 지능형 시스템을 갖추고 있습니다. 이 시스템은 사용자가 정의한 구조, 엔터티의 속성 및 관계를 분석합니다. 이 분석을 기반으로 각 엔터티 유형에 대한 도구 세트를 자동으로 생성합니다.
add_<entity>: 엔티티의 새로운 인스턴스를 생성하는 도구입니다.update_<entity>: 기존 엔터티를 수정하는 도구입니다.delete_<entity>: 엔티티를 제거하는 도구입니다.
이러한 도구는 MemoryMesh 내의 중앙 허브를 통해 제공되므로 연결된 모든 클라이언트나 AI가 쉽게 액세스하여 사용할 수 있습니다.
본질적으로 MemoryMesh의 동적 도구 시스템은 지식 그래프를 관리하는 강력하고 효율적인 방법을 제공하여 데이터 조작의 기본 메커니즘이 아닌 애플리케이션의 콘텐츠와 논리에 집중할 수 있도록 해줍니다.
메모리 파일
기본적으로 데이터는 dist/data/memory.json 의 JSON 파일에 저장됩니다.
메모리 뷰어
메모리 뷰어는 MemoryMesh가 관리하는 지식 그래프의 내용을 시각화하고 검토할 수 있도록 설계된 별도의 도구입니다. 노드, 에지 및 해당 속성을 탐색할 수 있는 사용자 친화적인 인터페이스를 제공합니다.
주요 특징:
그래프 시각화: 지식 그래프를 대화형 노드-링크 다이어그램으로 봅니다.
노드 검사: 노드를 선택하여 노드 유형, 메타데이터 및 연결된 에지를 확인합니다.
에지 탐색: edgeType 및 방향을 포함하여 노드 간의 관계를 조사합니다.
검색 및 필터링: 특정 노드를 빠르게 찾거나 유형별로 필터링합니다.
테이블 보기: 특정 노드와 에지 또는 모든 노드와 에지를 한 번에 쉽게 찾아 검사할 수 있습니다.
원시 JSON 보기: 메모리 파일에서 원시 JSON 데이터를 볼 수 있습니다.
통계 패널: 지식 그래프에 대한 주요 지표와 정보를 제공합니다. 총 노드 수, 총 에지 수, 노드 유형, 에지 유형 등이 있습니다.
검색 및 필터링: 노드 유형이나 에지 유형별로 필터링하고, 노드, 에지 또는 둘 다 표시할지 여부를 필터링할 수 있습니다.
메모리 뷰어에 액세스하기
메모리 뷰어는 독립형 웹 애플리케이션입니다. 메모리 뷰어에 대한 토론
메모리 뷰어 사용
메모리 파일 선택: 메모리 뷰어에서 "메모리 파일 선택" 버튼을 클릭합니다.
파일 선택: MemoryMesh 프로젝트 디렉토리로 이동하여
memory.json파일을 선택합니다(기본적으로dist/data/memory.json에 위치).탐색: 메모리 뷰어는 지식 그래프의 내용을 로드하고 표시합니다.
메모리 흐름
즉각적인
최적의 결과를 얻으려면 Claude의 "프로젝트" 기능과 맞춤 지침을 사용하세요. 다음은 시작할 수 있는 프롬프트의 예입니다.
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.채팅에서 AI에게 특정 작업을 수행하도록 직접 지시할 수도 있습니다.
다양한 프롬프트를 실험해 보고 귀하의 사용 사례에 가장 적합한 프롬프트를 찾아보세요!
예
사용자 정의 지침이 포함된 간단한 예입니다 .
예를 들어 시각화를 통한 예시입니다 (기능의 일부가 아님)
도시 몇 개, NPC 몇 명, 도시 주변의 탐험할 장소 몇 개를 추가하고 어딘가에 유물 하나나 둘을 숨겨 두세요.
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 MemoryMesh를 자동으로 설치하려면:
npx -y @smithery/cli install memorymesh --client claude필수 조건
Node.js: 버전 18 이상. nodejs.org 에서 다운로드할 수 있습니다.
npm: 일반적으로 Node.js에 포함되어 있습니다.
데스크톱용 Claude: claude.ai/download 에서 최신 버전이 설치되어 있는지 확인하세요.
설치 단계
저장소 복제:
git clone https://github.com/CheMiguel23/memorymesh.git cd memorymesh종속성 설치:
npm install프로젝트 빌드:
npm run build이 명령은 TypeScript 코드를
dist디렉토리의 JavaScript로 컴파일하고 샘플 스키마와 데이터 파일도 여기에 복사합니다.파일 복사 확인(선택 사항):
빌드 프로세스는 자동으로
data폴더를dist로 복사해야 합니다.dist/data존재하고.json파일이 포함되어 있는지 확인하세요 . 또한dist/data/schemas존재하고.schema.json파일이 포함되어 있는지 확인하세요.
Claude Desktop 구성:
Claude Desktop 구성 파일을 엽니다.
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonmcpServers섹션에memorymesh항목을 추가합니다. 다음 구성 옵션 중 하나를 선택할 수 있습니다.
"mcpServers": { "memorymesh": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/YOUR/PROJECT/memorymesh/dist/index.js"] } }/ABSOLUTE/PATH/TO/YOUR/PROJECT/``memorymesh프로젝트 디렉토리의 실제 절대 경로 로 바꾸세요.예시(macOS):
"command": "node", "args": ["/Users/yourusername/Projects/memorymesh/dist/index.js"]예(Windows):
"command": "node", "args": ["C:\\Projects\\memorymesh\\dist\\index.js"]
Claude Desktop을 다시 시작합니다. 변경 사항을 적용하려면 Claude Desktop을 완전히 다시 시작합니다.
설치 확인
Claude Desktop을 시작합니다.
새로운 채팅을 엽니다.
오른쪽 상단 모서리에 있는 MCP 플러그인 아이콘을 찾으세요. 만약 있다면 구성이 올바르다는 뜻입니다.
아이콘을 클릭하세요. 연결된 서버 목록에 "memorymesh"가 표시됩니다.
아이콘을 클릭하세요. 도구가 나열되어 있다면(예:
add_npc,update_npc등) 서버가 정상적으로 작동하고 도구를 제공하고 있는 것입니다.
업데이트 중
업데이트하기 전에 dist/data 디렉토리를 백업하여 메모리 데이터 손실을 방지하세요.
문제 해결
Claude에 서버가 나타나지 않습니다:
claude_desktop_config.json파일의 경로를 다시 한번 확인하세요. 경로가 절대 경로이고 올바른지 확인하세요.dist디렉토리가 존재하고index.js포함하여 컴파일된 JavaScript 파일이 포함되어 있는지 확인합니다.Claude Desktop 로그에서 오류를 확인하세요.
macOS:
~/Library/Logs/Claude/mcp-server-memorymesh.log(및mcp.log)Windows: (아마도
%AppData%\Claude아래의Logs폴더에 있을 것임)
도구가 표시되지 않음:
npm run build명령이 오류 없이 완료되었는지 확인하세요.스키마 파일이
dist/data/schemas에 올바르게 배치되었고 올바른 명명 규칙(add_[entity].schema.json)을 따르는지 확인하세요.초기화 중에 오류가 있는지 서버의 콘솔 출력이나 로그를 확인하세요.
고급 구성
MemoryMesh는 기본 설정 외에도 동작을 사용자 정의할 수 있는 여러 가지 방법을 제공합니다.
변수
/config/config.ts 사용하여 기본 설정을 재정의할 수 있습니다.
MEMORY_FILE: 지식 그래프 데이터를 저장하는 데 사용되는 JSON 파일의 경로를 지정합니다. (기본값:
dist/data/memory.json)SCHEMAS_DIR: 스키마 파일 디렉터리 경로입니다. (기본값:
dist/data/schemas/memory.json)
제한 사항
노드 삭제: AI가 지식 그래프에서 노드를 삭제하는 것을 주저할 수 있습니다. 필요한 경우 메시지를 통해 삭제를 독려하세요.
기부금
기여, 피드백, 그리고 아이디어를 환영합니다! 이 프로젝트는 구조화된 데이터와 AI 추론 기능을 통합하는 것에 대한 개인적인 탐구입니다. 프로젝트를 더욱 발전시키거나 새로운 프로젝트에 영감을 주기 위한 기여, 피드백, 그리고 아이디어를 환영합니다.
Available Tools
44 toolsadd_artifactC
Add a new artifact or unique item to the knowledge graph
| Name | Required | Description | Default |
|---|---|---|---|
| artifact | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| currency | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | Array of edges to add |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| faction | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| inventory | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | Yes | Array of metadata to add |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| nodes | Yes | Array of nodes to add |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| npc | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| player_character | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| quest | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| skills | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| temporal | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| transportation | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_artifact | Yes | Delete parameters for artifact |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_currency | Yes | Delete parameters for currency |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | Array of edges to delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_faction | Yes | Delete parameters for faction |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_inventory | Yes | Delete parameters for inventory |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_location | Yes | Delete parameters for location |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| deletions | Yes | Array of metadata deletions |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| nodeNames | Yes | An array of node names to delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_npc | Yes | Delete parameters for npc |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_player_character | Yes | Delete parameters for player_character |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_quest | Yes | Delete parameters for quest |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_skills | Yes | Delete parameters for skills |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_temporal | Yes | Delete parameters for temporal |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| delete_transportation | Yes | Delete parameters for transportation |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | An array of node names to retrieve |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure, but it only states that the graph is read. It does not mention that the operation is read-only, whether it requires permissions, or that the response may be very large. The word 'read' implies non-destructive behavior, but no details are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose with no redundancy. It is well-structured and every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should explain what reading the graph returns or any caveats (e.g., large payloads). It does not, and it also fails to differentiate this tool from search_nodes for partial reads. The tool is simple, but the description is still incomplete for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is nothing to document. The baseline for zero parameters is 4, and the description correctly indicates that no inputs are needed, without adding unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'read' and identifies the resource 'the entire knowledge graph,' clearly distinguishing it from sibling tools that create or delete entities. However, it is brief and doesn't elaborate on the output format or how it differs from export_to_obsidian, so it falls short of 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool over alternatives like search_nodes or open_nodes. It is only implied that this is for reading the whole graph, with no mention of filtering or use cases.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to match against node names, types, and metadata content |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_artifact | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_currency | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | Array of edges to update |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_faction | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_inventory | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_location | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| nodes | Yes | Array of nodes to update |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_npc | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_player_character | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_quest | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_skills | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_temporal | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| update_transportation | Yes |
TDQS
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.
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.
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.
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.
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.
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.
44 tool updates
v1.0.0- First observed
add_artifact - First observed
add_currency - First observed
add_edges - First observed
add_faction - First observed
add_inventory - First observed
add_location - First observed
add_metadata - First observed
add_nodes - First observed
add_npc - First observed
add_player_character - First observed
add_quest - First observed
add_skills - First observed
add_temporal - First observed
add_transportation - First observed
delete_artifact - First observed
delete_currency - First observed
delete_edges - First observed
delete_faction - First observed
delete_inventory - First observed
delete_location - First observed
delete_metadata - First observed
delete_nodes - First observed
delete_npc - First observed
delete_player_character - First observed
delete_quest - First observed
delete_skills - First observed
delete_temporal - First observed
delete_transportation - First observed
open_nodes - First observed
read_graph - First observed
search_nodes - First observed
update_artifact - First observed
update_currency - First observed
update_edges - First observed
update_faction - First observed
update_inventory - First observed
update_location - First observed
update_nodes - First observed
update_npc - First observed
update_player_character - First observed
update_quest - First observed
update_skills - First observed
update_temporal - First observed
update_transportation
TDQS
Scored across 44 tools
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.
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.
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.
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
Related MCP Connectors
Repository knowledge graph MCP server for codebase understanding and debugging.
MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Related MCP Servers
- FlicenseAqualityDmaintenanceThis MCP server provides persistent memory integration for chat applications by utilizing a local knowledge graph to remember user information across interactions.9165,923 npm6-
- AlicenseBqualityAmaintenanceAn enhanced fork of the official MCP memory server that enables persistent knowledge graph storage with automatic timestamps, tags, importance levels, date range search, comprehensive statistics, and multi-format export (JSON, CSV, GraphML).24143 npm3MIT
- AlicenseAqualityCmaintenanceEnhanced MCP knowledge graph memory server with cloud persistence and semantic search, acting as a drop-in replacement for the standard memory server.10226 npmMIT
- AlicenseNot gradedqualityAmaintenanceA universal MCP server providing persistent, structured memory through a knowledge graph with graph storage, semantic vector search, and multi-hop traversal for AI agents and IDEs.1MIT