Skip to main content
Glama
mwe-support

WeKnora MCP Dispatch

by mwe-support

WeKnora MCP Dispatch

这是面向 WeKnora v0.7.2 的多用户 MCP 网关,基于官方 MCP Server 1.1.1 (MCP Python SDK 2.x 高层 API)改造。一个 Streamable HTTP 服务实例可以接收 多个客户端请求,并以每个客户端提交的 WeKnora API Key 决定其可访问的空间和知识库。

定制能力

  • MCP_AUTH_MODE=weknora_api_key:将 Bearer Token 作为 WeKnora API Key 验证。

  • API Key 仅绑定到当前 MCP 请求上下文,异步任务和同步工具工作线程均保持租户隔离。

  • 动态 Key 模式不会回退到服务端静态 WEKNORA_API_KEY,上下文丢失时失败关闭。

  • 验证缓存只保存 SHA-256 指纹;缓存容量、TTL 和验证并发均有上限。

  • MCP_READ_ONLY=true:从 MCP 2.x 工具注册表移除写入、会话和聊天工具。

  • 保留上游 shared_secret 和 stdio 模式,便于兼容原有部署。

请求链路:

MCP client
  ├─ 可选:外层网关鉴权请求头
  └─ Authorization: Bearer <WeKnora API Key>
          ↓
WeKnora MCP Dispatch
  ├─ GET /knowledge-bases 验证 Key
  ├─ 绑定当前请求身份
  └─ X-API-Key 转发至 WeKnora API

Related MCP server: mcp-streamable-http-bridge

生产 Docker 配置

使用本仓库构建镜像,并参考 production.request-scoped.override.yml 覆盖 WeKnora 官方 Compose 的 mcp 服务。请求级模式下应保持 WEKNORA_API_KEYMCP_SERVER_AUTH_TOKEN 为空。

docker build -t local/weknora-mcp-dispatch:v0.7.2 .

关键环境变量:

变量

推荐值

说明

WEKNORA_BASE_URL

http://app:8080/api/v1

WeKnora API 地址

MCP_AUTH_MODE

weknora_api_key

启用请求级空间 Key

MCP_READ_ONLY

true

仅暴露知识查询工具

MCP_HTTP_PATH

/mcp

Streamable HTTP 路径

MCP_API_KEY_VALIDATION_TTL_SECONDS

60

验证缓存 TTL

MCP_API_KEY_VALIDATION_CACHE_MAX_ENTRIES

2048

最大缓存指纹数

MCP_API_KEY_VALIDATION_MAX_CONCURRENCY

16

最大并发验证数

WorkBuddy 配置示例

写入用户级 ~/.workbuddy/mcp.json 或项目级 .workbuddy/mcp.json

{
  "mcpServers": {
    "weknora": {
      "type": "http",
      "url": "https://kb.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${WEKNORA_SPACE_API_KEY}",
        "CF-Access-Client-Id": "${CF_ACCESS_CLIENT_ID}",
        "CF-Access-Client-Secret": "${CF_ACCESS_CLIENT_SECRET}"
      }
    }
  }
}

如果入口没有 Cloudflare Access,删除两个 CF-Access-* 请求头即可。

Codex 配置示例

~/.codex/config.toml 中加入:

[mcp_servers.weknora]
url = "https://kb.example.com/mcp"
bearer_token_env_var = "WEKNORA_SPACE_API_KEY"
env_http_headers = { "CF-Access-Client-Id" = "CF_ACCESS_CLIENT_ID", "CF-Access-Client-Secret" = "CF_ACCESS_CLIENT_SECRET" }

如果入口没有 Cloudflare Access,删除 env_http_headers。不要把 WeKnora API Key 或外层网关 Secret 明文提交到配置仓库。

快速开始

推荐直接参考 MCP配置说明,无需进行以下操作。 本节沿用上游 stdio/静态 Key 用法;多用户 HTTP 生产部署请使用上面的请求级配置。

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

# Linux/macOS
export WEKNORA_BASE_URL="http://localhost:8080/api/v1"
export WEKNORA_API_KEY="your_api_key_here"

# Windows PowerShell
$env:WEKNORA_BASE_URL="http://localhost:8080/api/v1"
$env:WEKNORA_API_KEY="your_api_key_here"

# Windows CMD
set WEKNORA_BASE_URL=http://localhost:8080/api/v1
set WEKNORA_API_KEY=your_api_key_here

3. 运行服务器

推荐方式 - 使用主入口点:

python main.py

其他运行方式:

# 使用原始启动脚本
python run_server.py

# 使用便捷脚本
python run.py

# 直接运行服务器模块
python weknora_mcp_server.py

# 作为 Python 模块运行
python -m weknora_mcp_server

4. 命令行选项

python main.py --help                 # 显示帮助信息
python main.py --check-only           # 仅检查环境配置
python main.py --verbose              # 启用详细日志
python main.py --version              # 显示版本信息

安装为 Python 包

从 PyPI 安装

pip install tencent-weknora-mcp
# 或使用 uvx 直接运行(无需预安装)
uvx --from tencent-weknora-mcp weknora-mcp-server

官方 PyPI 包名为 tencent-weknora-mcp(Tencent/WeKnora 维护,Trusted Publishing 发布)。 旧社区包 weknora-mcp 请不要再使用。 安装后命令行入口仍为 weknora-mcp-server / weknora-server。 官方 PyPI 包不包含本仓库的请求级多用户派发功能;生产部署该功能时应构建本仓库。

开发模式安装

pip install -e .

安装后可以使用命令行工具:

weknora-mcp-server
# 或
weknora-server

生产模式安装

pip install .

构建分发包

# 使用 setuptools
python setup.py sdist bdist_wheel

# 使用现代构建工具
pip install build
python -m build

测试模组

运行测试脚本验证模组是否正常工作:

python test_module.py
pytest -q tests

功能特性

该 MCP 服务器提供以下工具:

空间管理

  • create_tenant - 创建新空间

  • list_tenants - 列出所有空间

知识库管理

  • create_knowledge_base - 创建知识库

  • list_knowledge_bases - 列出知识库

  • get_knowledge_base - 获取知识库详情

  • delete_knowledge_base - 删除知识库

  • hybrid_search - 混合搜索

知识管理

  • create_knowledge_from_file - 从本地文件创建知识

  • create_knowledge_from_url - 从 URL 创建知识

  • create_knowledge_from_text - 从文本创建知识

  • list_knowledge - 列出知识

  • get_knowledge - 获取知识详情

  • delete_knowledge - 删除知识

模型管理

  • create_model - 创建模型

  • list_models - 列出模型

  • get_model - 获取模型详情

会话管理

  • create_session - 创建聊天会话

  • get_session - 获取会话详情

  • list_sessions - 列出会话

  • delete_session - 删除会话

聊天功能

  • chat - 发送聊天消息

块管理

  • list_chunks - 列出知识块

  • delete_chunk - 删除知识块

故障排除

如果遇到导入错误,请确保:

  1. 已安装所有必需的依赖包

  2. Python 版本兼容(推荐 3.10+)

  3. 没有文件名冲突(避免使用 mcp.py 作为文件名)

调用效果

Available Tools

28 tools
agent_chatA

Agentic pipeline chat: the agent autonomously calls tools (knowledge_search, web_search, SQL, etc.) to answer the query. Use this for complex multi-step questions or comparative analysis. REQUIRED: agent_id (name or UUID) — use list_agents to discover agents. IMPORTANT: many agents have KBSelectionMode=none and NO built-in knowledge bases. In that case you MUST pass knowledge_base_ids, otherwise the agent will fail with 'no search targets available'. Use get_agent to inspect an agent's kb_selection_mode and knowledge_bases before calling. If kb_selection_mode is 'none' or 'selected' with an empty list, always provide knowledge_base_ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesUser query
agent_idYesREQUIRED. Custom agent UUID or name. Use list_agents to discover agents. Use get_agent to check its kb_selection_mode.
session_idYesSession ID (from create_session or list_sessions)
knowledge_base_idsNoNames or UUIDs of knowledge bases to search. REQUIRED when the agent's kb_selection_mode is 'none' or 'selected' with no built-in KBs. Use list_knowledge_bases to find them.
web_search_enabledNoEnable web search.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key behaviors: the agent autonomously calls tools, can fail if no knowledge bases are available, and the failure mode 'no search targets available'. It also explains the need to check agent configuration. Missing details like return format and other side effects, but the core behavioral traits are well covered.

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

Conciseness4/5

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

The description is well-structured with a clear purpose, REQUIRED, and IMPORTANT sections. It is front-loaded with the core idea and every sentence adds value. However, there is some redundancy in the instructions about passing knowledge_base_ids, making it slightly longer than necessary.

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

Completeness4/5

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

For a complex tool with no output schema and no annotations, the description is quite complete. It covers the tool's purpose, usage prerequisites, and failure conditions. A brief mention of the response format or return value would improve completeness, but it otherwise provides enough context.

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

Parameters4/5

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

The schema already has 100% coverage, but the description adds significant value beyond schema for agent_id and knowledge_base_ids, explaining their interplay and specific conditions for use. It ties parameters to agent configuration, which the schema alone does not convey.

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

Purpose5/5

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

The description clearly identifies the tool as an agentic pipeline chat that autonomously calls tools to answer queries, and specifies it is for complex multi-step questions or comparative analysis. This distinguishes it from the sibling 'chat' tool and other knowledge tools.

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

Usage Guidelines5/5

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

Explicitly states when to use it for complex multi-step questions or comparative analysis. Provides detailed prerequisites: use list_agents to discover agents, inspect an agent's kb_selection_mode with get_agent, and pass knowledge_base_ids when required, giving clear alternatives to prevent failure.

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

chatA

RAG pipeline chat: retrieve relevant chunks from knowledge bases, then summarise with LLM. ALWAYS provide knowledge_base_ids (names like 'my-knowledge-base' or UUIDs) so retrieval can run — without them the answer is based on LLM knowledge only. Use list_knowledge_bases to discover available knowledge bases. For multi-step reasoning or tool-calling use agent_chat instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesUser query
session_idYesSession ID (from create_session or list_sessions)
knowledge_base_idsNoKnowledge base names OR UUIDs to search. Strongly recommended for RAG — without them the answer falls back to LLM knowledge only. E.g. ['my-knowledge-base'] or ['a1b2c3d4-...']. Use list_knowledge_bases to find them.
web_search_enabledNoEnable web search alongside KB retrieval.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the internal pipeline (retrieve chunks, then summarise), and the critical fallback behavior ('without them the answer is based on LLM knowledge only'). It does not disclose the return format or potential side effects, but the described process and fallback are meaningful behavioral traits that go beyond mere purpose.

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

Conciseness5/5

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

The description is three sentences of dense, valuable information. It front-loads the core purpose, then adds critical usage guidance and a sibling alternative. There is zero fluff; every sentence earns its place.

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

Completeness4/5

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

Given four parameters, no annotations, and no output schema, the description covers the essential ground: purpose, usage, and key parameter insights. It lacks an explicit statement about return values or error conditions, but the tool is a chat interface and the described behavior is sufficiently complete for an agent to select and invoke it correctly. It earns a 4 rather than a 5 due to the absence of any return-format hint or mention of web_search_enabled behavior.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds significant semantic value for knowledge_base_ids by explaining why to provide them, the consequences of not providing them, and pointing to list_knowledge_bases for discovery. It does not add detail for web_search_enabled, but the schema already covers it; the added emphasis and practical context for the key parameter justify a 4.

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

Purpose5/5

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

The description opens with a clear, specific verb-resource pair: 'RAG pipeline chat: retrieve relevant chunks from knowledge bases, then summarise with LLM.' It explicitly distinguishes itself from sibling tools by naming agent_chat for multi-step reasoning, and list_knowledge_bases for discovery, making the tool's unique role unmistakable.

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

Usage Guidelines5/5

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

Provides explicit usage guidance: 'ALWAYS provide knowledge_base_ids' and explains the alternative 'For multi-step reasoning or tool-calling use agent_chat instead.' It also tells the agent to use list_knowledge_bases to discover available bases, giving both when-to-use and when-not-to-use context.

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

create_knowledge_baseC

Create a new knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesKnowledge base name
descriptionYesKnowledge base description
summary_model_idNoSummary model ID
embedding_model_idNoEmbedding model ID

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only restates the tool's name and provides no information about side effects, required permissions, idempotency, or return behavior. It is effectively tautological.

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

Conciseness2/5

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

The description is extremely short and front-loaded, but it earns its place poorly because it merely repeats the tool name. It lacks useful detail that would justify its presence, falling into under-specification rather than effective conciseness.

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

Completeness2/5

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

Given that there is no output schema, no annotations, and no usage guidance, the description is incomplete. It does not explain what the tool returns, what side effects occur, or how this creation tool relates to other knowledge base tools. The schema covers parameter names but not runtime behavior or outcomes.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides, but the schema itself fully documents all four parameters, including required ones like name and description.

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

Purpose4/5

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

The description clearly states the action and resource: 'Create a new knowledge base.' It is unambiguous and distinct from creating models, sessions, or tenants, though it does not differentiate from sibling tools like create_knowledge_from_file or create_knowledge_from_url.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as create_knowledge_from_file or create_knowledge_from_url. There is no mention of prerequisites, typical scenarios, or exclusions.

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

create_knowledge_from_fileA

Create knowledge from a local file on the server filesystem

ParametersJSON Schema
NameRequiredDescriptionDefault
kb_idYesKnowledge base ID
file_pathYesAbsolute path to the local file on the server
enable_multimodelNoEnable multimodal processing

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning prerequisites, side effects, supported file types, or what happens on success. This is a significant gap for a creation tool.

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

Conciseness5/5

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

The description is a single, well-structured sentence with no wasted words. It is front-loaded and immediately clear about the tool's purpose.

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

Completeness3/5

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

The description is minimally viable but lacks details on usage context, return values, or prerequisites. With no output schema and no annotations, it does not fully cover the operational context, though the parameter schema is complete.

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

Parameters3/5

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

Schema description coverage is 100% with meaningful descriptions for each parameter. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Create knowledge') and identifies the resource as 'a local file on the server filesystem', clearly distinguishing it from the sibling tool create_knowledge_from_url. This directly states what the tool does.

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

Usage Guidelines4/5

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

The description clearly implies this tool is for local server files, providing context for when to use it versus the URL-based alternative. However, it does not explicitly name alternatives or provide exclusion criteria, so it falls short of a 5.

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

create_knowledge_from_urlD

Create knowledge from URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to create knowledge from
kb_idYesKnowledge base ID
enable_multimodelNoEnable multimodal processing

TDQS

D1.9/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It simply states 'Create knowledge', which implies mutation but provides no details about side effects, permission requirements, idempotency, return values, or whether the operation is asynchronous. This is a significant transparency gap for a creation tool.

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

Conciseness2/5

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

The description is extremely short, but it is under-specified rather than concise. It merely repeats the tool name and does not earn its place by conveying useful information. Every word is redundant, as the name already communicates the same idea.

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

Completeness1/5

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

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is woefully incomplete. It fails to explain the expected behavior, the nature of the returned data, or any prerequisites. An AI agent would have insufficient context to invoke this tool correctly or interpret its results.

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

Parameters3/5

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

Schema description coverage is 100% for all three parameters (url, kb_id, enable_multimodal), so the input schema already documents parameter meanings. The tool description adds no extra semantic value on top of the schema, so 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.

Purpose2/5

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

The description 'Create knowledge from URL' is essentially a restatement of the tool name 'create_knowledge_from_url'. It does not add any detailed explanation of what 'knowledge' means or what the creation process entails. While it mentions the source (URL), it fails to distinguish itself from siblings beyond that single word, offering no additional scope or purpose clarity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of when to choose URL-based creation over file-based creation (sibling create_knowledge_from_file) or any other context. No exclusions or alternative tool references are given.

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

create_modelC

Create a new model

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesModel name
typeYesModel type (KnowledgeQA, Embedding, Rerank)
sourceNoModel sourcelocal
api_keyNoModel API key
base_urlNoModel API base URL
is_defaultNoSet as default model
descriptionYesModel description

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states that it creates a model, but does not disclose side effects (e.g., whether duplicate names cause errors), authorization requirements, return behavior, or any constraints, which is insufficient 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.

Conciseness2/5

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

The description is a single short sentence that is front-loaded, but it is under-specified rather than concise. It adds no value beyond the tool name, so it fails the criterion that every sentence should earn its place.

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

Completeness2/5

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

For a tool with 7 parameters, no output schema, and no annotations, this description is inadequate. It does not explain what a model is, when to create one, what the response is, or any operational context, making it incomplete for an agent to invoke correctly.

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

Parameters3/5

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

All 7 parameters have descriptions in the input schema, so schema coverage is 100%. The description adds no additional parameter context, but the baseline of 3 is appropriate since the schema already documents each parameter meaning.

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

Purpose2/5

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

The description 'Create a new model' is essentially a restatement of the tool name 'create_model'. It provides a verb and resource but does not differentiate from sibling tools or clarify what a model is in this context, making it a tautology.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or how it relates to other model-related tools like list_models or get_model.

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

create_sessionC

Create a new chat session with conversation strategy for a knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
kb_idYesKnowledge base ID
titleNoSession title (optional)
max_roundsNoMaximum conversation rounds
descriptionNoSession description (optional)
enable_rewriteNoEnable query rewriting
summary_model_idNoModel ID for response summarization (optional)
fallback_responseNoFallback response when no answer foundSorry, I cannot answer this question.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, permissions, return values, or what 'conversation strategy' entails. For a creation tool, this is a significant gap.

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

Conciseness5/5

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

The description is a single, concise sentence of 12 words. It is front-loaded with the primary action and resource, and every word earns its place without unnecessary detail.

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

Completeness2/5

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

Given the tool has 7 parameters and no output schema, the description is incomplete. It does not explain what constitutes a session, how it relates to the knowledge base, any prerequisites, or what the return value represents. Users would need additional information to use this tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value by referencing 'conversation strategy' but does not map this to parameters like max_rounds or enable_rewrite. The schema already provides thorough parameter descriptions, so no additional meaning is needed.

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

Purpose4/5

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

The description clearly states the tool creates a new chat session, with the verb 'Create' and resource 'chat session'. The phrase 'with conversation strategy for a knowledge base' adds context, though it is somewhat vague. It distinguishes from sibling tools like get_session and list_sessions, but not explicit alternatives like chat or agent_chat.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as chat or agent_chat. The description simply states what it does without any contextual cues, exclusions, or references to other tools.

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

create_tenantB

Create a new tenant in WeKnora

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTenant name
businessYesBusiness type
descriptionYesTenant description
retriever_enginesNoRetriever engine configuration

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure, but it only says 'create' with no detail on side effects, permissions, idempotency, or response behavior. It adds no insight beyond the tool name.

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

Conciseness5/5

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

A single sentence conveys the core purpose efficiently with no filler. It is front-loaded and directly states the action, making it easy to parse quickly.

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

Completeness2/5

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

Although the schema details parameters, the description lacks essential context for a creation tool with a nested object and no output schema. It does not explain how retriever_engines should be configured, what happens on success, or any constraints, leaving significant gaps for an agent to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well-documented. The description does not add any extra parameter information, but the schema fully covers the meaning of name, description, business, and retriever_engines, resulting in a baseline score of 3.

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

Purpose5/5

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

The description 'Create a new tenant in WeKnora' uses a specific verb (create) and resource (tenant), clearly distinguishing it from siblings like list_tenants and other creation tools. It is unambiguous and immediately understandable.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or exclusions. The description simply states the action without contextualizing it among sibling tools.

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

delete_chunkC

Delete a chunk

ParametersJSON Schema
NameRequiredDescriptionDefault
chunk_idYesChunk ID
knowledge_idYesKnowledge ID

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description must fully disclose behavioral traits. It only repeats the action 'Delete' without any information about side effects, permanence, permissions, or impact on related data. It adds no value beyond the tool name.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for a simple tool, though it sacrifices substance for brevity.

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

Completeness2/5

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

The tool is a simple delete operation with two well-described parameters and no output schema. While the minimal description covers the basic action, it omits critical context such as whether the deletion is irreversible, whether related data (e.g., knowledge base) is affected, and any required permissions. This is a significant gap for a mutation tool with no annotations.

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

Parameters3/5

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

The input schema already provides descriptions for both parameters (Chunk ID and Knowledge ID) with 100% coverage. The description adds no further parameter meaning, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (Delete) and the resource (chunk), making it unambiguous. However, it does not distinguish this tool from sibling delete tools like delete_knowledge or delete_knowledge_base, so it misses the opportunity to differentiate.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or contextual conditions mentioned. The agent is left to infer usage entirely from the name and parameters.

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

delete_knowledgeD

Delete knowledge

ParametersJSON Schema
NameRequiredDescriptionDefault
knowledge_idYesKnowledge ID

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description must disclose behavioral traits. It fails to mention whether deletion is permanent, whether it cascades to related data, or whether any permissions are required. The description is purely action-oriented with no behavioral context.

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

Conciseness2/5

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

The description is extremely terse, but this is under-specification rather than conciseness. It provides no useful information beyond the tool name, similar to the 'Process' example in the calibration guide.

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

Completeness1/5

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

For a deletion tool with no annotations, no output schema, and a single parameter, the description should explain consequences, reversibility, and typical use cases. The current description is wholly inadequate for an agent to understand the tool's impact.

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

Parameters3/5

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

The schema provides 100% coverage for the single parameter knowledge_id with description 'Knowledge ID'. Per the rubric, high schema coverage yields a baseline of 3. The description adds no additional parameter meaning but is not required to compensate.

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

Purpose2/5

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

The description 'Delete knowledge' is essentially a tautology of the tool name. It states a verb and resource but does not clarify what 'knowledge' refers to (e.g., a document, chunk, or knowledge base entry). It does not distinguish from sibling tools like delete_knowledge_base or delete_chunk.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention scenarios, prerequisites, or differences from related delete tools such as delete_session or delete_chunk.

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

delete_knowledge_baseC

Delete a knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
kb_idYesKnowledge base ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries full responsibility for behavioral disclosure. It only states the action 'Delete' but does not mention permanence, cascading effects, required permissions, or any other consequences. This is a significant transparency 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.

Conciseness5/5

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

The description is a single, focused sentence with no unnecessary words. It is appropriately sized for the tool's simple purpose and well-structured.

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

Completeness2/5

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

Given the tool is destructive, has no annotations, and no output schema, the description is insufficiently complete. It does not explain the effects of deletion, what the agent should expect in response, or any edge cases. The minimal complexity does not excuse this lack of essential context.

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

Parameters3/5

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

Schema coverage is 100%: the parameter 'kb_id' is fully described as 'Knowledge base ID'. The description adds no additional meaning to the parameter, so the baseline of 3 applies per the rubric.

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

Purpose4/5

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

The description states a clear verb + resource: 'Delete a knowledge base'. It is unambiguous in what it does. However, it does not differentiate from the sibling 'delete_knowledge', so it misses the explicit sibling distinction needed for a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives, no prerequisites, no mention of irreversibility, and no distinction from similar tools like 'delete_knowledge'. This is a complete absence of usage guidance.

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

delete_sessionC

Delete a session

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action 'Delete' without disclosing whether deletion is permanent, what happens to associated data, error handling, or authentication requirements. The word 'delete' implies destructiveness but adds no further behavioral context.

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

Conciseness2/5

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

The description is a single sentence, but it is under-specified and duplicates the tool name. It does not earn its place as it provides no additional information beyond the name. This is not meaningful conciseness but rather under-specification, similar to the 'Process' example.

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

Completeness2/5

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

For a simple one-parameter delete tool, the description plus schema allow basic invocation, but there is no information about return values, success/failure behavior, or side effects. Given no output schema or annotations, the description is incomplete and leaves the agent uncertain about what happens when the tool is invoked.

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

Parameters3/5

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

The description does not address the session_id parameter, but the input schema provides 100% coverage with a description 'Session ID'. Therefore, the schema already documents the parameter, and the description adds no extra meaning beyond what the schema provides. The baseline of 3 is appropriate.

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

Purpose2/5

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

The description 'Delete a session' simply restates the tool name 'delete_session' with no additional specificity about scope, permanence, or effect. It does distinguish from sibling tools like create_session/get_session, but provides no value beyond the name itself, making it a tautology.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description offers no context on when to use this tool versus other delete tools (e.g., delete_knowledge), no prerequisites, and no mention of alternatives. It simply states the action without any situational guidance.

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

get_agentA

Get full configuration of a single agent by UUID or name. Check kb_selection_mode and knowledge_bases fields: if kb_selection_mode is 'none' or 'selected' with an empty knowledge_bases list, you MUST pass knowledge_base_ids when calling agent_chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesAgent UUID or name

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does not explicitly state whether the operation is read-only or has side effects, though the verb 'get' implies a read. It adds useful behavioral context by naming fields to inspect, but lacks deeper details like permissions or error behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and then actionable guidance. No redundant or extraneous content.

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

Completeness4/5

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

For a single-parameter read tool with no output schema, the description covers the essential purpose and provides critical follow-up steps for agent_chat. It does not describe the full return shape, but 'full configuration' implies the object structure and is adequate for selection and invocation.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter agent_id is already described as 'Agent UUID or name'. The description repeats this, adding no new semantic meaning beyond the schema.

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

Purpose5/5

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

Clearly states the tool retrieves the full configuration of a single agent by UUID or name. This distinguishes it from sibling list_agents, which presumably lists all agents.

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

Usage Guidelines4/5

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

Provides explicit downstream guidance: after fetching the config, check kb_selection_mode and knowledge_bases and pass knowledge_base_ids to agent_chat under specific conditions. It does not explicitly exclude alternatives, but the instructions make the use case clear.

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

get_knowledgeC

Get knowledge details

ParametersJSON Schema
NameRequiredDescriptionDefault
knowledge_idYesKnowledge ID

TDQS

C2.8/5.0
Behavior2/5

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. It only indicates a read operation ('get') and does not describe response format, permissions, error behavior, or what 'details' means. This is minimal and insufficient for a tool with no structured behavioral metadata.

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

Conciseness3/5

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

The description is very concise (three words), but it borders on tautology with the tool name. It is not verbose, yet it sacrifices substance. Every word is concise but not every word adds value beyond a minimal statement.

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

Completeness2/5

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

Given the tool has no output schema and no annotations, the description should clarify what 'details' includes. It does not. It also lacks any context about how this relates to sibling operations. For a simple get tool, it is incomplete.

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

Parameters3/5

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

The schema provides 100% coverage for the single parameter knowledge_id with a description. The tool description adds no additional meaning beyond the schema, but since the schema is complete, the baseline of 3 applies.

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

Purpose4/5

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

The description 'Get knowledge details' clearly identifies the operation as a retrieval of knowledge-related data using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like get_knowledge_base or list_knowledge, so it's clear but lacks sibling scoping.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description only states what it does, with no mention of conditions, prerequisites, or exclusions. This leaves 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.

get_knowledge_baseC

Get knowledge base details

ParametersJSON Schema
NameRequiredDescriptionDefault
kb_idYesKnowledge base ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Get knowledge base details' without explaining any side effects, return format, required permissions, or whether the operation is read-only. This is minimal disclosure beyond what the name implies.

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

Conciseness4/5

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

The description is a single concise sentence with no fluff, front-loading the key action and object. It is not verbose, but it could be slightly more informative without becoming unwieldy, such as specifying the scope of 'details'.

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

Completeness2/5

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

For a simple read tool with one parameter and no output schema, the description is incomplete. It fails to disambiguate from sibling tools like 'get_knowledge', and does not explain what 'details' includes. An agent may not know when to use this tool or what to expect in the response.

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

Parameters3/5

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

The schema covers the only parameter 'kb_id' with a description 'Knowledge base ID', providing 100% schema description coverage. The description adds no additional meaning about the parameter, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'knowledge base details', indicating a read operation on a knowledge base. However, it does not distinguish this from the sibling tool 'get_knowledge', which may cause confusion about which tool to use.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like 'get_knowledge' or 'list_knowledge_bases'. The description provides no context about typical use cases, prerequisites, or scenarios where another tool would be more appropriate.

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

get_modelC

Get model details

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesModel ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that model details are retrieved, but does not mention what fields are returned, whether the operation is read-only, or any potential errors. This is a minimal disclosure for a tool with no annotation support.

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

Conciseness4/5

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

The description is extremely concise with a single sentence and no filler. It is front-loaded and easy to parse, although its brevity means it adds little information beyond the tool name.

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

Completeness3/5

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

Given the low complexity (one required parameter, no output schema), the description is minimally viable but lacks context about return values or behavior. For a simple retrieval tool this may be acceptable, but it does not fully compensate for the absence of annotations and output schema.

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

Parameters3/5

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

The schema covers 100% of the parameter, describing model_id as 'Model ID'. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description 'Get model details' uses a specific verb and resource, clearly identifying this as a retrieval operation for a single model. It is distinguishable from sibling tools like list_models and get_agent by name, though the description itself does not explicitly differentiate them.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as list_models or get_agent. The description provides no context about intended usage scenarios, prerequisites, or exclusions.

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

get_sessionC

Get session details

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behaviors. It simply restates the tool's function without mentioning error handling, permission requirements, return format, or side effects.

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

Conciseness3/5

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

The description is only four words and front-loaded, but it is under-specified, essentially mirroring the tool name. It does not waste words but also doesn't earn its place with additional value.

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

Completeness2/5

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

For a simple read tool, the description might suffice if an output schema existed, but without one, the expected return value ('session details') is undefined. The context signals show no output schema, so the description should clarify what 'details' includes.

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

Parameters3/5

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

The input schema fully documents session_id with the description 'Session ID', and the tool description adds no further semantic nuance such as format constraints or usage examples. Baseline of 3 is appropriate given 100% schema coverage.

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

Purpose4/5

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

The description uses the specific verb 'get' and resource 'session', clearly indicating a read operation. However, 'details' is vague and does not specify that the operation fetches by session_id, though the schema implies a single-session lookup.

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

Usage Guidelines2/5

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

No guidance is provided on when to use get_session versus list_sessions or delete_session. The description lacks any mention of use cases, prerequisites, or alternatives.

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

list_agentsA

List all custom agents available to the current tenant. Use this to discover agent IDs, names, and their KB selection mode before calling agent_chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
page_sizeNoPage size

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool lists 'all custom agents available to the current tenant' and references 'KB selection mode' in the response, offering some scoping. However, it does not mention pagination behavior, permissions, or whether the list is ordered, though the schema implies pagination.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with the purpose and followed by a clear usage directive. Every word earns its place, with no filler or repetition.

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

Completeness4/5

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

For a simple list tool with two optional pagination parameters and no output schema, the description provides a clear purpose, usage context, and a hint of the response fields (agent IDs, names, KB selection mode). It is mostly sufficient, though it could explicitly state that the response is an array of agent objects.

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

Parameters3/5

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

Both parameters (page and page_size) are fully described in the schema with default values, yielding 100% coverage. The description adds no parameter-specific information beyond that baseline, so a score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('List') and identifies the resource ('custom agents available to the current tenant'). It further clarifies the intent by stating it is used to discover agent IDs, names, and KB selection mode before calling agent_chat, which distinguishes it from siblings like get_agent and agent_chat.

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

Usage Guidelines4/5

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

The description explicitly advises using this tool before agent_chat to discover agent identifiers and settings. It provides clear context for when to use it, but it does not mention alternatives like get_agent for retrieving a single agent's details or explicitly state when not to use it.

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

list_chunksC

List chunks of knowledge

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
page_sizeNoPage size
knowledge_idYesKnowledge ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning read-only nature, return format, pagination behavior, or any side effects. This is minimal disclosure.

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

Conciseness4/5

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

The description is a single, concise sentence with no redundancy. It is front-loaded and easy to parse, though it is very brief and adds little beyond the tool name.

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

Completeness2/5

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

The description is inadequate for the tool's complexity. It does not explain that chunks belong to a specific knowledge_id, what constitutes a chunk, or what the response contains. No output schema or annotations exist, so the agent lacks critical context.

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

Parameters3/5

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

The input schema provides descriptions for all three parameters (knowledge_id, page, page_size), so the baseline is 3. The description adds no additional meaning about how the parameters relate to the tool's function.

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

Purpose4/5

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

The description clearly states the action 'List chunks of knowledge' with a specific verb and resource. However, it does not explicitly differentiate from sibling tools like list_knowledge or list_knowledge_bases, nor does it mention that chunks are scoped to a knowledge_id.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not state when to use this tool over alternatives, what prerequisites exist (e.g., a valid knowledge_id), or any exclusions.

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

list_knowledgeC

List knowledge in a knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
kb_idYesKnowledge base ID
page_sizeNoPage size

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It only states 'List' without detailing pagination behavior, return format, ordering, or the meaning of 'knowledge'. The schema reveals page/page_size but the description adds no behavioral context beyond the basic read operation.

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

Conciseness4/5

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

The description is a single sentence with six words, front-loaded with the verb and clear resource. It is efficiently sized with no wasted words, though its brevity leaves out potentially useful detail.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should provide more context about what is returned, how pagination works, and what constitutes 'knowledge'. It only says the action and scope, leaving the agent without enough information to fully anticipate the tool's behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents parameters (kb_id, page, page_size) with their types and defaults. The description adds no parameter-level meaning beyond what's already in the schema, matching the baseline for high schema coverage.

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

Purpose4/5

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

The description 'List knowledge in a knowledge base' uses a specific verb and resource, clearly indicating a listing operation scoped to a knowledge base. It distinguishes from sibling tools like 'get_knowledge' (retrieving a single item) and 'list_knowledge_bases' (listing base objects), though it doesn't explicitly call out these differences.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_knowledge' or 'hybrid_search'. The description gives no context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name and schema.

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

list_knowledge_basesB

List all knowledge bases

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. 'List all knowledge bases' implies a read-only operation returning a collection, but it does not state whether this is safe/non-destructive (though implied), whether pagination is involved, or whether the scope is limited to the current tenant. The behavior is straightforward enough that a score above 2 is warranted, but the lack of any context about response shape or filtering limits it to a 3.

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

Conciseness5/5

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

The description is a single, grammatically complete sentence: 'List all knowledge bases'. It is maximally concise, contains no filler, and is front-loaded with the action verb. Every word earns its place.

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

Completeness3/5

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

For a simple list tool with no parameters, the description is nearly sufficient, but it lacks context about the return value (e.g., what fields are included for each knowledge base) and whether 'all' means across all tenants or the current scope. Since there is no output schema, the agent must infer the response format. This gap prevents a higher score, but the tool's simplicity keeps it at a minimally adequate 3.

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

Parameters4/5

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

The tool has 0 parameters and schema coverage is 100%, so there are no parameter details to explain. Per the rubric, a 0-parameter tool receives a baseline of 4, and the description does not need to add parameter semantics. It correctly implies no inputs are required.

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

Purpose4/5

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

The description 'List all knowledge bases' clearly states the action (list) and resource (knowledge bases), with 'all' indicating scope. While it distinguishes from siblings like get_knowledge_base and delete_knowledge_base by name, it does not explicitly distinguish from the similarly named list_knowledge, leaving slight ambiguity about whether it covers bases versus individual knowledge items.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is the appropriate tool for simply enumerating knowledge bases, nor does it reference other list tools like list_models or list_sessions, or contrast with get_knowledge_base for retrieving specific details.

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

list_modelsA

List all models

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely states 'List all models' without revealing expected behavior such as return format, pagination, ordering, or any side effects. This is insufficient for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero redundant words. It efficiently states the action and target resource.

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

Completeness3/5

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

For a simple zero-parameter list tool, the description is mostly complete, but with no output schema, it fails to specify what 'list models' returns (e.g., full objects or just IDs). The sibling context implies models exist, but the return structure is unidentified, leaving a minor gap.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description's 'all' scope aligns with the empty schema, adding no conflicting information. No additional parameter semantics are needed.

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

Purpose5/5

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

The description 'List all models' uses a specific verb 'List' and resource 'models', with 'all' clarifying the scope. It distinguishes from sibling tools like get_model (single) and create_model (create).

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

Usage Guidelines4/5

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

The phrase 'List all models' clearly indicates when to use the tool: to retrieve all models. It does not explicitly exclude alternatives or mention when not to use it, but the context is unambiguous for a zero-parameter list operation.

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

list_sessionsC

List chat sessions

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
page_sizeNoPage size

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden for behavioral disclosure. It only states 'List chat sessions', which implies a read operation, but does not describe return format, pagination behavior, sorting, or any other behavioral traits. This is the minimum statement of function with no added context.

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

Conciseness4/5

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

The description is one short sentence, front-loaded with the verb and resource, and contains no wasted words. It is appropriately concise for a simple list operation, though it could be slightly more informative without sacrificing brevity.

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

Completeness3/5

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

The tool is simple and the schema covers pagination parameters, but the description does not mention what the response contains (e.g., session IDs, titles, timestamps) or that results are paginated. Given no output schema and no annotations, the description leaves gaps that an agent might need to infer.

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

Parameters3/5

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

Schema description coverage is 100% with 'page' and 'page_size' both documented. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('List') and resource ('chat sessions'), clearly identifying the tool's purpose. It distinguishes from sibling tools like get_session, create_session, and delete_session by the resource and operation, though it doesn't differentiate among other list_* tools beyond the resource name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, or on any prerequisites or exclusions. The description simply states 'List chat sessions' without mentioning pagination or relationship to get/create/delete session tools.

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

list_tenantsB

List all tenants

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'List all tenants', which adds little beyond the tool name. It does not mention whether the operation is read-only, what the return format is, or any pagination/limiting behavior.

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

Conciseness4/5

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

The description is a single sentence and is very concise. It earns the words it uses, though it under-specifies by not adding any additional detail. For a simple list tool, this length is acceptable.

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

Completeness2/5

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

Given no output schema and no annotations, the description is the sole source of information. It fails to mention what the response contains, any usage context, or behavior, leaving the agent with only the name and a one-line description, which is insufficient for full completeness.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100% vacuously. Per the rubric, a baseline of 4 is appropriate for 0 parameters. The description adds no parameter information, but none is needed.

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

Purpose4/5

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

The description clearly states the tool lists all tenants using the verb 'list' and resource 'tenants', making its purpose clear. However, it doesn't explicitly distinguish itself from sibling tools like 'create_tenant' or other list tools, and could benefit from noting the scope of what 'all' entails.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. For a list operation, it is implied that it should be used when you need to see all tenants, but this is not explicitly stated.

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

wiki_index_viewA

Get a structured wiki index with per-type directory groups. Returns an overview of all wiki pages organized by type (entity, concept, summary, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
kb_idYesKnowledge base ID
limitNoMaximum items per type group

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It describes the return format (overview organized by type) but does not disclose potential side effects, permissions, pagination behavior, or whether it is read-only. 'Get' hints at a safe read operation, but explicit behavioral details are lacking.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and contains no redundant or extraneous information. Every word earns its place.

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

Completeness4/5

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

For a simple listing tool with no output schema, the description adequately explains what is returned (overview organized by type) and the grouping concept. It could specify the structure of entries or mention how to navigate the index, but it is largely complete for its simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds context about the return format (per-type groups) but does not add meaning beyond what the input schema already provides for kb_id and limit.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('structured wiki index'), and differentiates it from sibling tools like wiki_search and wiki_read_page by emphasizing per-type directory groups and an overview of all wiki pages.

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

Usage Guidelines3/5

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

The description implies the tool is for obtaining an overview of wiki pages, but it does not explicitly state when to use it over alternatives or mention any exclusions. Sibling tools exist but are not referenced, so guidance is only implied.

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

wiki_read_pageA

Read a wiki page by its slug. Returns full markdown content, metadata, inbound/outbound links, and source references.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPage slug (e.g. 'entity/acme-corp', 'concept/rag')
kb_idYesKnowledge base ID

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states what the tool returns (full markdown, metadata, links, source references), which is valuable for a read operation. However, it does not mention error behavior or permission requirements, leaving some room for interpretation.

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

Conciseness5/5

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

The description is concise and front-loaded with the action verb. Two sentences contain all essential information without superfluous words. Every sentence adds value, making it an exemplar of efficient writing.

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

Completeness4/5

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

For a simple read tool with two well-documented parameters, the description specifies return values (markdown, metadata, links, references) even though no output schema exists. It lacks only minor details like error handling or response shape nuances, but overall it is sufficiently complete for selection and invocation.

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

Parameters3/5

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

The input schema already provides full coverage (100%) with descriptions for both parameters, including an example for slug. The description adds no additional parameter-level meaning beyond what the schema already states, so 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.

Purpose5/5

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

The description clearly states the action (read) and resource (wiki page) with a specific identifier (slug). It distinguishes itself from sibling tools like wiki_search (which finds pages) and wiki_index_view (which views index) by focusing on reading a single page's full content.

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

Usage Guidelines3/5

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

The context implies use when you have a slug and want page content, but there is no explicit guidance on when to use this versus alternatives like wiki_search. No exclusions or prerequisites are mentioned, leaving usage inferable but not clearly directed.

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

Tool Schema Changelog

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

  1. 28 tool updatesv0.1.0
    • First observedagent_chat
    • First observedchat
    • First observedcreate_knowledge_base
    • First observedcreate_knowledge_from_file
    • First observedcreate_knowledge_from_url
    • First observedcreate_model
    • First observedcreate_session
    • First observedcreate_tenant
    • First observeddelete_chunk
    • First observeddelete_knowledge
    • First observeddelete_knowledge_base
    • First observeddelete_session
    • First observedget_agent
    • First observedget_knowledge
    • First observedget_knowledge_base
    • First observedget_model
    • First observedget_session
    • First observedhybrid_search
    • First observedlist_agents
    • First observedlist_chunks
    • First observedlist_knowledge
    • First observedlist_knowledge_bases
    • First observedlist_models
    • First observedlist_sessions
    • First observedlist_tenants
    • First observedwiki_index_view
    • First observedwiki_read_page
    • First observedwiki_search

TDQS

C2.7/5.0
Disambiguation4/5

Most tools target distinct resources (knowledge bases, knowledge items, sessions, agents, models, wiki). The only real overlap is list_knowledge vs list_chunks and possibly chat vs agent_chat, but the descriptions help differentiate these.

Naming Consistency4/5

The majority follow a verb_noun snake_case pattern (get_, create_, delete_, list_). Minor deviations like chat, agent_chat, and wiki_index_view are still readable and do not break the overall consistency.

Tool Count2/5

With 28 tools, the set exceeds the recommended 25-tool threshold and feels heavy. While the broader domain (knowledge, chat, agents, wiki, models, tenants) justifies some size, the number is still unwieldy for an agent to navigate efficiently.

Completeness3/5

The surface covers core CRUD for knowledge bases and knowledge items, but lacks update operations for most resources (e.g., update_knowledge, update_model, update_agent). Agent management includes only inspection, and wiki lacks editing capabilities, leaving notable gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Bridges stdio Model Context Protocol (MCP) servers to MCP Streamable HTTP behind a single gateway, enabling multi-tenant, multi-user deployment with per-tenant environment variables via HTTP headers.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Stateless MCP adapter for the LKPlanWise Go REST API, enabling AI agents to call curated financial tools via Streamable HTTP while forwarding bearer credentials.
    -
  • A
    license
    A
    quality
    B
    maintenance
    A thin stdio gateway to Nodus's Streamable HTTP MCP server, exposing a curated allowlist of tools for the Research Workbench. It enables secure, bearer-authenticated interactions with Nodus without graph logic or caching.
    1
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mwe-support/weknora-mcp-dispatch'

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