Skip to main content
Glama

gitbook-mcp

MCP Server for full GitBook API automation. Exposes 39 tools that allow AI agents (Claude Code, Cursor, etc.) to manage documentation, change requests, reviews, and Git Sync programmatically.

Quickstart

# 1. Clone
git clone <your-repo-url>
cd gitbook-mcp

# 2. Install and build
npm install
npm run build

# 3. Configure
cp .env.example .env
# Edit .env with your token (see "Configuration" below)

# 4. Run
npm start

Related MCP server: GitHub MCP Agent Server

Configuration

Environment variables

Variable

Required

Description

GITBOOK_API_TOKEN

Yes

GitBook API token

GITBOOK_DEFAULT_ORG_ID

No

Default organization ID

GITBOOK_DEFAULT_SPACE_ID

No

Default space ID

GITBOOK_API_BASE_URL

No

API base URL (default: https://api.gitbook.com/v1)

Get your token

  1. Go to GitBook Developer Settings

  2. Create a new API Token

  3. Copy the token to your .env

.env example

GITBOOK_API_TOKEN=gb_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GITBOOK_DEFAULT_SPACE_ID=
GITBOOK_DEFAULT_ORG_ID=

AI Agent Integration

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "gitbook": {
      "command": "node",
      "args": ["/path/to/gitbook-mcp/dist/index.js"],
      "env": {
        "GITBOOK_API_TOKEN": "${GITBOOK_API_TOKEN}",
        "GITBOOK_DEFAULT_ORG_ID": ""
      }
    }
  }
}

Claude Code resolves ${GITBOOK_API_TOKEN} from shell environment variables. Add to your ~/.bashrc or ~/.zshrc:

export GITBOOK_API_TOKEN="your-token-here"

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "gitbook": {
      "command": "node",
      "args": ["/path/to/gitbook-mcp/dist/index.js"],
      "env": {
        "GITBOOK_API_TOKEN": "your-token-here",
        "GITBOOK_DEFAULT_ORG_ID": ""
      }
    }
  }
}

In Cursor, ${VAR} interpolation is not supported. Place the token directly in the JSON.

Other MCP clients

Any client compatible with MCP via stdio transport will work. The server reads stdin/stdout following the MCP protocol.

Tools

Spaces (6)

Tool

Description

get_space

Get space details

update_space

Update title, visibility

create_space

Create new space in an org

duplicate_space

Duplicate an existing space

list_spaces

List spaces in an org

search_space_content

Search content within a space

Pages (8)

Tool

Description

get_space_revision

Full page tree of a space

list_pages

List pages (with pagination)

get_page_by_id

Read page by ID

get_page_by_path

Read page by URL path (e.g., getting-started/install)

get_page_links

Outgoing links from a page

get_page_backlinks

Pages linking to a page (backlinks)

list_files

List files (images, attachments)

get_file

File details and download URL

Change Requests (6)

Tool

Description

create_change_request

Create new CR (similar to PR/draft)

list_change_requests

List CRs of a space

get_change_request

CR details

update_change_request

Update CR title/status

merge_change_request

Merge CR into main content

sync_change_request

Sync CR with latest content

Reviews (5)

Tool

Description

list_reviews

List reviews of a CR

submit_review

Approve, request changes, or comment

list_requested_reviewers

List requested reviewers

request_reviewers

Request review from specific users

remove_reviewer

Remove reviewer from a CR

Comments (6)

Tool

Description

list_comments

List comments (space or CR)

post_comment

Post comment (supports markdown)

update_comment

Edit existing comment

delete_comment

Delete comment

list_comment_replies

List replies to a comment

post_comment_reply

Reply to a comment

Git Sync (3)

Tool

Description

git_import

Import content from a Git repo to a space

git_export

Export content from a space to a Git repo

get_git_info

Git Sync status and configuration

Organizations (4)

Tool

Description

get_organization

Organization details

list_collections

List collections in an org

get_collection

Collection details

ask_ai

Ask GitBook AI about the documentation

Content Import (1)

Tool

Description

import_content

Import content from a URL into the org

Architecture

src/
├── index.ts                 # Entrypoint — stdio transport
├── server.ts                # McpServer creation
├── config.ts                # Environment variable loading
├── client/
│   ├── gitbook-client.ts    # HTTP client for GitBook API v1
│   └── types.ts             # API response types
├── tools/
│   ├── index.ts             # Registration of all 39 tools
│   ├── spaces.ts            # 6 tools
│   ├── pages.ts             # 8 tools
│   ├── change-requests.ts   # 6 tools
│   ├── reviews.ts           # 5 tools
│   ├── comments.ts          # 6 tools
│   ├── git-sync.ts          # 3 tools
│   ├── organizations.ts     # 4 tools
│   └── content-import.ts    # 1 tool
├── schemas/
│   └── index.ts             # Reusable Zod schemas
└── utils/
    ├── errors.ts            # API error handling
    └── pagination.ts        # Pagination helpers

Scripts

Command

Description

npm run build

Compile TypeScript to dist/

npm start

Start MCP server via stdio

npm run dev

Compile in watch mode (development)

npm run inspect

Open MCP Inspector for debugging

Requirements

  • Node.js >= 18.0.0

  • npm

Dependencies

Package

Version

Usage

@modelcontextprotocol/sdk

^1.12.0

Official MCP SDK

zod

^3.24.0

Schema validation

typescript

^5.7.0

(dev) Compilation

Debug

MCP Inspector

npm run inspect

Opens a web interface to test tools interactively.

Error logs

The server sends formatted errors back to the MCP client. GitBook API errors include:

  • HTTP status code

  • Failed endpoint

  • GitBook error message

Common issues

Problem

Solution

GITBOOK_API_TOKEN is required

Set the environment variable or create the .env file

GitBook API error 401

Invalid or expired token — generate a new one

GitBook API error 403

Token lacks permission for the resource

GitBook API error 404

Incorrect space/page/org ID

Cannot find module dist/index.js

Run npm run build first

Update

cd ~/gitbook-mcp
git pull
npm install
npm run build

License

MIT

Available Tools

39 tools
ask_aiB

Ask GitBook AI a question about the organization's documentation content

ParametersJSON Schema
NameRequiredDescriptionDefault
orgIdYesThe organization ID
queryYesThe question to ask the AI

TDQS

B3.2/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 restates the purpose without revealing whether the operation is read-only, what happens with the query, or how the response is returned. This is a significant gap for a tool that relies on an external AI service.

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

Conciseness5/5

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

The description is a single sentence of 11 words, front-loaded with the action and target. It is highly concise with no wasted words, and every word contributes to the minimal purpose 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?

The tool has no output schema and no annotations, so the description must provide more context. It fails to mention usage guidance, behavioral implications, or any expectation about the AI's response, leaving the agent to guess. Given the simplicity of the tool, this is still a noticeable gap.

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 covers both parameters (orgId, query) with basic descriptions, and the tool description adds no additional meaning. Since schema coverage is 100%, the baseline score of 3 applies; the description does not compensate for any missing parameter context.

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 ('Ask'), the target ('GitBook AI'), and the scope ('organization's documentation content'). It is distinct from sibling tools that manage spaces, pages, or files, so there is no ambiguity about what this 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 Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as search_space_content or get_page. It does not mention any prerequisites, exclusions, or context that would help an agent decide between asking the AI and searching content directly.

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

create_change_requestB

Create a new change request (similar to a PR/draft) in a GitBook space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
subjectNoSubject/title of the change request

TDQS

B3.3/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 mentions the change request is similar to a PR/draft, which adds slight context, but it does not disclose side effects, authentication needs, return behavior, or whether the creation is immediate. This is minimal transparency.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and resource. No wasted words, and it includes a helpful analogy in parentheses.

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 create tool with no output schema, the description does not explain what the tool returns (e.g., the created change request ID) or any potential errors. It is adequate for basic understanding but leaves gaps that would be useful for an agent, especially since there is no output schema to cover return values.

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 meaningful parameter semantics beyond the schema; 'space' context is implicit in the schema's 'The ID of the space' and 'subject' is already labeled 'Subject/title'. No extra value is provided.

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') and resource ('change request') with the context 'in a GitBook space' and an analogy to a PR/draft. This clearly distinguishes it from sibling tools like update_change_request and merge_change_request.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. The description only states what it does; it does not mention context, exclusions, or alternative tools. The usage is only implied by the verb 'Create'.

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

create_spaceA

Create a new GitBook space in an organization

ParametersJSON Schema
NameRequiredDescriptionDefault
orgIdYesThe organization ID
titleYesTitle for the new space
visibilityNoVisibility setting (defaults to organization default)

TDQS

A3.6/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 creation action and does not mention permissions, idempotency, failure conditions, or response format.

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, front-loaded with the action 'Create', containing zero filler or redundant information.

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

Completeness4/5

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

For a simple create tool with 3 parameters, complete schema descriptions, and no output schema, the description adequately scopes the operation. It provides the necessary context that the space is created in an organization.

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 covers 100% of parameters with descriptions, so the schema already carries the parameter semantics. The description adds no additional meaning beyond the schema, warranting the 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 uses the specific verb 'Create' with resource 'GitBook space' and context 'in an organization', clearly distinguishing this from sibling tools like get_space, update_space, and duplicate_space.

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

Usage Guidelines3/5

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

The description implies usage when creating a new space but provides no explicit when-to-use guidance, alternatives, or exclusions. The context is clear but not enhanced with sibling differentiation.

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

delete_commentA

Delete a comment (DESTRUCTIVE: cannot be undone)

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
commentIdYesThe ID of the comment to delete
changeRequestIdNoOptional change request ID if comment is on a CR

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 transparency burden. It discloses the critical behavioral trait that deletion is destructive and cannot be undone, which is essential for an agent to assess risk. It does not go further (e.g., permissions), but for a simple delete tool, this is a solid disclosure.

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, impactful sentence that front-loads the action and the critical risk. Every word earns its place; there is no fluff or redundancy.

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

Completeness4/5

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

Given the simplicity of the tool (no output schema, straightforward parameters), the description is complete enough for an agent to understand its purpose and primary risk. The sibling list provides surrounding context, and the destructive warning covers the main concern.

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 covers all parameters with clear descriptions (100% coverage), so the description need not repeat them. It does not add any extra meaning beyond what the schema already provides, so a 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 ('Delete') and the resource ('a comment'), distinguishing it from siblings like post_comment and update_comment. The destructive warning adds necessary emphasis without obscuring the core purpose.

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

Usage Guidelines3/5

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

The description implies usage for removing comments but does not explicitly state when to choose this over alternatives or mention any prerequises. No exclusions or when-not-to-use guidance is provided beyond the destructive warning.

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

duplicate_spaceA

Duplicate an existing GitBook space (creates a full copy)

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space to duplicate

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It reveals that the operation creates a full copy, but does not disclose details like required permissions, whether the operation is synchronous, side effects on the original, or what the response contains. This is a minimal disclosure for a mutation tool.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core purpose and includes a parenthetical clarifying the nature of the copy. No wasted words or redundancy.

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 with one parameter and no output schema, but the description is minimal. It covers the basic purpose but does not explain what exactly 'full copy' includes (pages, settings, etc.) or any potential limitations. Given the low complexity and schema richness, the description is adequate but not fully 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?

The schema already provides a complete description for the only parameter (spaceId: 'The ID of the space to duplicate'), achieving 100% coverage. The tool description does not add additional meaning to the parameter beyond what the schema states, so the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the action ('Duplicate') and the resource ('existing GitBook space'), with an added clarification that it creates a full copy. This distinguishes it from sibling tools like create_space (new space) or update_space (modify an existing space).

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 usage context is implicitly clear: use it when you need an exact copy of a space. However, it does not explicitly mention alternatives or when not to use it, such as distinguishing from create_space or when a non-full copy is needed. The description implies usage but lacks explicit guidance.

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

get_change_requestA

Get details of a specific change request

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request

TDQS

A3.5/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 fully disclose behavior. It says 'Get details' which implies a read-only operation, but it does not mention what happens when the change request is not found, whether authentication is required, or what return format to expect. This leaves the agent with little insight beyond the obvious read intent.

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 entire description is a single, front-loaded sentence that directly states the action and target. It contains zero unnecessary words and efficiently conveys the essential 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 tool has a simple signature (two required parameters, no output schema, no annotations). The description gives the bare minimum—what it does—but lacks any detail about return values, error handling, or behavior in edge cases. For a low-complexity get tool, it is sufficient, but the absence of output schema or additional context leaves gaps.

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

Parameters3/5

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

The input schema already provides descriptions for both parameters (spaceId and changeRequestId), covering 100% of the parameters. The description adds no further meaning about parameter usage or formatting. The baseline of 3 is appropriate given the high schema coverage.

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

Purpose5/5

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

The description clearly states the tool retrieves details for a single, specific change request. The verb 'Get' and resource 'specific change request' make it distinct from sibling tools like list_change_requests, and the word 'specific' signals it operates on one item rather than a collection.

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

Usage Guidelines3/5

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

The description implies usage—use this when you need details of a particular change request—but does not explicitly say when not to use it or mention alternatives. Sibling tool names provide context, but the description itself offers no direct guidance on choosing between this and list_change_requests or other related tools.

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

get_collectionA

Get details of a specific collection in a GitBook organization

ParametersJSON Schema
NameRequiredDescriptionDefault
orgIdYesThe organization ID
collectionIdYesThe collection ID

TDQS

A3.5/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 disclosing behavioral traits. The description only states the purpose and adds no information about authentication requirements, error behavior (e.g., 404 if not found), or the exact structure of the returned details. For a simple read operation, this transparency is insufficient.

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

Conciseness5/5

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

The description is a single concise sentence that directly states the tool's purpose. Every word earns its place, with no redundancy or fluff. It is appropriately sized for a simple get operation.

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 with two well-documented parameters and no output schema. However, the description does not explain what 'details' includes or how collections relate to other entities (e.g., spaces). Without an output schema, more context about the return content would improve completeness.

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

Parameters3/5

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

The input schema has 100% description coverage, with both parameters ('orgId' and 'collectionId') clearly described. The tool description adds no additional parameter context 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.

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 function: 'Get details of a specific collection in a GitBook organization'. The verb 'Get' and resource 'details of a specific collection' are specific. It distinguishes from siblings like 'list_collections' (which lists all) and 'get_space' (which targets spaces rather than collections).

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

Usage Guidelines3/5

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

The description implies usage: when you need specific collection details. However, it does not explicitly mention when to prefer this over alternatives (e.g., 'list_collections' to find collection IDs) or provide any exclusions. It lacks clear when-to-use vs. when-not-to-use guidance.

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

get_fileA

Get details and download URL for a specific file in a GitBook space

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesThe ID of the file
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID

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 full burden. 'Get' and 'download URL' imply a read-only operation and describe the primary output, but it does not disclose error behavior, permissions, or optional parameter effects. Adequate but minimal.

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 that is front-loaded with the action and resource, with no wasted words. It 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?

The tool is simple and the description covers the main purpose, but with no output schema, it does not enumerate what 'details' includes or explain how changeRequestId affects results. Adequate for a basic get operation, but could be more thorough.

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 each parameter has a description. The tool description adds no additional parameter context beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource: 'details and download URL for a specific file in a GitBook space'. It distinguishes from sibling 'list_files' by explicitly saying 'specific file', implying retrieval by ID.

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

Usage Guidelines3/5

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

The description implies usage when needing details for a specific file, but it does not explicitly name alternatives or provide when-not-to-use guidance. The contrast with list_files is only implicit.

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

get_git_infoB

Get Git sync configuration and status for a GitBook space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Get' implies a read operation, but the description does not disclose what the returned status/configuration includes, whether it can fail, or any auth/permission requirements. This is a minimal disclosure 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.

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no filler. It efficiently states the tool's purpose without redundancy.

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 one-parameter getter tool, the description is minimally functional, but it lacks context about return values since no output schema exists. It does not mention what aspects of 'configuration and status' are returned, leaving some ambiguity for an agent deciding whether this tool meets its needs.

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

Parameters3/5

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

The only parameter, spaceId, is fully described in the schema (100% coverage) as 'The ID of the space'. The description adds no additional semantic detail beyond what the schema already provides, 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 uses a specific verb ('Get') and resource ('Git sync configuration and status') for a GitBook space. It clearly differentiates from siblings like get_space (broader space info) and git_import/git_export (write operations).

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as get_space, git_import, or git_export. The usage context is only implied by the description, with no explicit when-to-use or when-not-to-use instructions.

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

get_organizationA

Get details of a GitBook organization

ParametersJSON Schema
NameRequiredDescriptionDefault
orgIdYesThe organization ID

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Get details' without mentioning whether the operation is read-only, what errors might occur (e.g., invalid orgId), required permissions, or response format. This provides no guidance beyond the action itself.

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

Conciseness5/5

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

The description is a single sentence with no redundant wording. It is concise, front-loaded, and easily parsed. Every word contributes to the meaning.

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 one-parameter read tool with no output schema, the description is adequate but leaves gaps: it does not specify what 'details' are returned (e.g., name, slug, plan), whether the response is the full organization object, or behavior if the orgId is not found. These omissions make it minimally viable but not 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?

The schema describes the single parameter orgId as 'The organization ID' with 100% coverage. The description adds no additional meaning or context about the parameter. Since schema coverage is high, the baseline of 3 applies; the description neither helps nor hurts parameter understanding.

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

Purpose5/5

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

The description specifies the exact action ('Get') and resource ('details of a GitBook organization'), clearly distinguishing it from sibling tools that operate on spaces, pages, or change requests. It is not a tautology and provides a concise, unambiguous statement of 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 makes the use case clear: when you need organization-level details. While it doesn't explicitly compare with alternatives, there is no other sibling tool for fetching organization details, so the context is sufficient. No exclusions are mentioned, but none are necessary for this simple read operation.

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

get_page_by_idA

Get a specific page by its ID from a GitBook space (or change request)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe ID of the page
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the core operation ('Get a specific page') and adds the nuance of retrieving from a change request, implying a read-only action. However, it does not detail return format, error behavior, permissions, or side effects, leaving significant gaps.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essential information economically. Every word contributes to the purpose, with no redundancy or filler.

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

Completeness4/5

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

For a straightforward read operation with no output schema and no annotations, the description is adequately complete. It clarifies the lookup method (by ID) and the optional change request scope. It could mention that it returns a page object, but the verb 'Get' implicitly conveys this. Overall, sufficient given the tool's 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 all parameters are already documented. The description reinforces the optional 'changeRequestId' by mentioning 'or change request' but does not add extra semantic value beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states a specific verb ('Get') and resource ('specific page by its ID from a GitBook space (or change request)'). It distinguishes itself from sibling tools like get_page_by_path (which uses a path) and list_pages (which lists multiple pages) by emphasizing retrieval by ID.

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

Usage Guidelines4/5

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

The description implies when to use this tool: when you have a page ID rather than a path, and optionally within a change request context. It does not explicitly name alternatives or exclusions, but the 'by its ID' phrasing clearly differentiates from path-based retrieval, providing adequate context.

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

get_page_by_pathA

Get a specific page by its URL path from a GitBook space (or change request)

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
pagePathYesThe URL path of the page (e.g. 'getting-started/install')
changeRequestIdNoOptional change request ID

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 full burden. It is a simple get operation; the description is truthful but does not disclose error behavior (e.g., 404 if not found) or permissions required. Minimal but not misleading.

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

Conciseness5/5

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

Single sentence, front-loaded with action and resource. No fluff, highly concise while conveying the core purpose.

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

Completeness4/5

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

For a simple get tool with no output schema, the description is complete enough. It specifies the input (path) and the optional change request context. It doesn't describe return format, but that's not expected given the 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 baseline is 3. The description does not add much beyond the schema; it confirms the pagePath purpose but the schema already explains it. No additional semantic insight.

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

Purpose5/5

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

The description clearly states it gets a specific page by URL path, using a specific verb and resource. It distinguishes from sibling get_page_by_id by specifying the lookup method (path vs ID).

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

Usage Guidelines4/5

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

The description implies usage context: use when you have a page's URL path, and mentions change requests. It doesn't explicitly contrast with alternatives like get_page_by_id, but the phrase 'by its URL path' provides clear guidance.

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

get_spaceA

Get details of a GitBook space by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the GitBook space

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 must disclose behavioral traits, but it only states 'Get details,' which is a read operation already implied by the name. It does not mention response format, error behavior, or required permissions, leaving transparency gaps.

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

Conciseness5/5

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

The description is a single, well-structured sentence that immediately conveys the tool's purpose with no redundant words. It is appropriately concise for a simple get operation.

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 one-parameter read tool with no output schema, the description is mostly sufficient, but the term 'details' is vague and could specify what information is returned. Given the low complexity, it does not need extensive elaboration.

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 the single parameter 'spaceId' with a clear description, and the tool description does not add additional parameter semantics. Since schema coverage is 100%, a 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 identifies the action ('Get details'), the resource ('a GitBook space'), and the identifier ('by its ID'). This distinguishes it from sibling tools like list_spaces or update_space, making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage when an agent has a space ID and needs its details, but it does not explicitly state when to use this tool instead of alternatives like list_spaces or get_space_revision. No exclusions or alternative recommendations are provided.

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

get_space_revisionC

Get the full content tree of a GitBook space (or change request)

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID to read CR content instead of published

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the scope (space or change request) and that it is a get operation, but does not explicitly state that it is read-only, describe what the 'content tree' contains (titles, page content, ordering), or warn about potential large responses.

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 that conveys the core purpose without unnecessary words. It is appropriately sized and front-loaded.

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

Completeness2/5

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

With no annotations and no output schema, the description must stand alone to explain the tool's behavior. It fails to describe the nature of the returned content tree (e.g., hierarchical structure, whether it includes page content) or any important behavioral considerations like read-only safety. For a tree-returning tool, this 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?

Schema description coverage is 100%, with both spaceId and changeRequestId clearly explained in the schema. The description adds no parameter-level detail 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.

Purpose4/5

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

The description clearly states a specific action ('Get') and resource ('full content tree of a GitBook space (or change request)'). This distinguishes it from sibling tools like get_space (likely metadata) and list_pages (likely a flat list), though it does not explicitly contrast 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?

The description offers no guidance on when to use this tool versus alternatives. It neither specifies use cases beyond the generic 'get the full content tree' nor provides exclusions like 'for space metadata use get_space instead.'

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

git_exportB

Export GitBook space content to a Git repository

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe Git repository URL to export to
spaceIdYesThe ID of the space to export from

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states the core action without disclosing side effects, authentication requirements, overwrite behavior, or what happens to the target repository. This is a significant gap for a tool that writes to an external system.

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 that leads with the action and resource. It contains no filler or redundancy.

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 no output schema or annotations, the description is minimal. It omits return value expectations, failure modes, and operational context (e.g., whether the repository must already exist). Given the tool's simplicity, more context is needed for safe usage.

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 both parameters (url and spaceId), achieving 100% coverage. The description itself adds no parameter details, but the baseline of 3 is appropriate since the schema already documents the parameters.

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 'Export' with a clear resource ('GitBook space content') and destination ('Git repository'). It distinctly separates this tool from siblings like git_import (which imports) and get_space (which retrieves space details).

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 does not provide any guidance on when to use this tool versus alternatives. No prerequisites, use cases, or exclusions are mentioned. An agent must infer from the verb 'Export' that this is for pushing content to Git, but the description lacks explicit direction.

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

git_importA

Import content from a Git repository into a GitBook space (DESTRUCTIVE: overwrites existing content)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe Git repository URL to import from
spaceIdYesThe ID of the space to import into

TDQS

A3.5/5.0
Behavior3/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 explicitly warns that the operation is DESTRUCTIVE and overwrites existing content, which is critical safety information. However, it does not clarify the exact scope of overwriting (e.g., entire space vs. conflicting pages), whether changes are reversible, or any permission requirements, leaving significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action and immediately follows with the critical destructive warning in parentheses. Every word serves a purpose, and there is no redundant or extraneous information.

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

Completeness3/5

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

The tool is relatively simple with two well-documented parameters and no output schema. However, the destructive nature demands more context, such as the precise impact on existing content or how this differs from the sibling import_content tool. The description covers the essential action and warning but leaves important operational details unspecified, making it only partially 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?

Both parameters (url and spaceId) have descriptions in the schema, giving 100% schema coverage. The tool description merely restates the domain (Git repository, space) without adding syntax, format, or usage details beyond what the schema already provides. Thus the description adds minimal value for parameter understanding.

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

Purpose5/5

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

The description clearly states the action: import content from a Git repository into a GitBook space. It identifies the specific resource (Git repository) and destination (GitBook space), which distinguishes it from sibling tools like import_content (general import) and git_export (export direction). The verb 'Import' is specific and unambiguous.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives such as import_content or git_export. The destructive warning implies caution but does not explain scenarios where this tool is preferred or excluded. No alternatives are mentioned, so the agent lacks decision-making context.

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

import_contentA

Import content into a GitBook organization from a URL (DESTRUCTIVE: may overwrite existing content depending on target)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the content to import
orgIdYesThe organization ID
spaceIdNoOptional target space ID (imports into this space)

TDQS

A3.5/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 explicitly labels the tool as DESTRUCTIVE and warns that it may overwrite existing content depending on the target, which is a critical safety-related behavioral trait beyond the schema.

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 a parenthetical destructive warning. It is concise, front-loaded, and every word adds value, making it highly efficient.

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

Completeness3/5

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

While the destructive warning is valuable, the description lacks details about what exactly gets overwritten, whether the operation is reversible, and any required permissions. The phrase 'depending on target' is vague. Given the tool's potential impact, more context would be needed for full completeness, though the schema covers parameters well.

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 already provides 100% coverage with descriptions for all parameters, including the optional nature of spaceId. The description adds no additional semantic detail about parameters, so it meets the baseline without exceeding it.

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 imports content into a GitBook organization from a URL, using a specific verb and resource. However, it does not differentiate from the similar sibling tool git_import, which likely serves an overlapping purpose.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, common use cases, or exclusions, and the sibling tool git_import appears to be a close alternative without any differentiation.

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

list_change_requestsA

List change requests in a GitBook space

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space

TDQS

A3.5/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 burden for behavioral disclosure. It only says 'List change requests' with no mention of read-only status, return format, pagination behavior, or any other side effects or constraints. This is insufficient for a tool with no annotation safety hints.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and resource. Every word earns its place with no unnecessary elaboration.

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 full schema coverage, the description is minimally adequate. However, the lack of behavioral transparency and usage guidance leaves gaps, especially because there is no output schema to clarify the return value.

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 describes all three parameters (spaceId, page, limit) with 100% coverage. The description adds no parameter-specific semantics beyond what the schema provides, so a 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 a specific action ('List') on a specific resource ('change requests') scoped to a GitBook space. It distinguishes itself from sibling tools like list_spaces and list_pages by naming the exact entity, and from get_change_request by being the plural/list form.

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 enumerating change requests in a space, but it does not explicitly state when to use it versus alternatives like get_change_request or merge_change_request. There is also no guidance on using the page and limit parameters for pagination.

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

list_collectionsA

List all collections in a GitBook organization

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
orgIdYesThe organization ID

TDQS

A3.5/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 basic action; it does not mention pagination behavior, return format, ordering, authentication, or read-only guarantees. The schema hints at pagination via page/limit, but the description doesn't clarify that 'all collections' may require multiple paginated calls.

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

Conciseness5/5

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

The description is a single sentence with no filler. It states the action, resource, and scope efficiently, front-loading the key information.

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

Completeness3/5

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

For a simple list tool with a fully documented schema, the description is adequate but lacks key context. There is no output schema, so the description does not explain return values or pagination semantics. The phrase 'all collections' could mislead an agent into thinking a single call returns everything, when page/limit suggest otherwise. However, given the tool's simplicity, this is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains each parameter (orgId, page, limit). The description adds no additional meaning beyond the schema, thus it meets the baseline for fully documented parameters.

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 resource ("collections") with a clear scope ("in a GitBook organization"), distinguishing it from siblings like get_collection (singular) and list_spaces (different resource). It is immediately obvious 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 Guidelines3/5

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

The description implies usage (use this when you need to list collections) but provides no explicit alternatives or exclusions. Sibling tools like get_collection or list_spaces are not referenced, leaving the agent to infer when this tool is preferred over others.

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

list_comment_repliesA

List replies to a specific comment

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space
commentIdYesThe ID of the parent comment
changeRequestIdNoOptional change request ID if comment is on a CR

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the basic action without disclosing behavioral traits such as pagination behavior (despite having page/limit params), whether replies are returned recursively or at a single level, or any response format details. This lack of added context makes it insufficiently transparent.

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

Conciseness5/5

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

The description is a single sentence containing only the essential information. It is efficiently worded and front-loaded, with no unnecessary wording or repetition.

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 has moderate complexity with 5 parameters and no output schema, and the description provides only a minimal purpose statement. While the schema covers parameter semantics, the description omits contextual details about response shape, recursion behavior, or when the optional changeRequestId might be needed. It is minimally viable but lacks depth.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds little beyond what the schema says; 'a specific comment' simply reinforces the commentId parameter meaning. It does not provide extra semantic value, so a 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 'List replies to a specific comment' clearly states the verb (List), the resource (replies), and the specific scope (a specific comment). It is distinguishable from sibling tools like 'list_comments' which likely lists top-level comments, making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies the use case—when you need replies to a particular comment—but offers no explicit guidance on when to prefer this over alternatives like 'list_comments', nor does it mention any exclusions or prerequisites. The context is clear but not fully explicit.

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

list_commentsA

List comments on a GitBook space or change request

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID (scopes comments to that CR)

TDQS

A3.9/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 states the action and scope, but does not disclose whether the response includes only top-level comments or also replies, nor mention pagination details (though page/limit params are in schema). For a simple list tool, this is adequate but leaves some behavioral ambiguity. There is no contradiction with annotations since none exist.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the verb and target. It wastes no words and fully captures the tool's purpose. This is ideal for quick agent parsing.

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

Completeness3/5

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

With no output schema, the description does not need to detail return values, but it also fails to mention response shape or any behavioral nuances. However, given the low complexity of a list operation and the clear scope, the description is minimally adequate. It lacks guidance on filtering, ordering, or whether replies are included, which could be important for an agent.

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

Parameters3/5

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

The input schema has 100% coverage with each parameter described. The description adds minimal value beyond the schema, merely restating that comments can be on a space or change request, which is already conveyed by the presence of spaceId and changeRequestId. Since schema coverage is high, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists comments, specifying the scope as 'GitBook space or change request.' This distinguishes it from siblings like post_comment, update_comment, and list_comment_replies, which handle creation, modification, or replies respectively. The verb 'list' is specific and the resource is unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool: to list comments on a space or change request. It does not explicitly name alternatives or exclusions, but the scope is clear enough that an agent can infer it is the primary listing tool for top-level comments. Sibling tools like list_comment_replies indicate a separate purpose, aiding differentiation.

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

list_filesA

List all files (images, attachments) in a GitBook space (or change request)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID

TDQS

A3.6/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 'List all files' without mentioning pagination behavior, whether file contents are included, or what happens when both spaceId and changeRequestId are provided. This is a significant transparency gap for a list 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, front-loaded sentence with no wasted words. It immediately states the action and scope.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the tool returns and any relevant behavioral details like pagination or result format. It fails to do so, making the tool only partially specified for agent 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 description coverage is 100%, so the baseline is 3. The description adds some context by clarifying files as images/attachments and mentioning the change request scope, but it does not meaningfully enhance understanding beyond the schema's parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool lists all files (images, attachments) in a GitBook space or change request. It distinguishes itself from similarly named tools like list_pages (which lists pages) and get_file (singular file).

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: when you need to list files in a space or change request. It does not explicitly name alternatives or exclusions, but the scope is clear enough for basic selection.

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

list_pagesB

List all pages in a GitBook space (or change request)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only restates the purpose and optional change request scope, but does not mention pagination behavior, sorting, whether the result includes nested pages, or the read-only nature of the operation. This leaves significant gaps for an agent to understand what to expect.

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

Conciseness5/5

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

The description is a single sentence that is immediately informative and contains no unnecessary words. It effectively front-loads the core purpose and the optional change request scope, making it very easy to parse.

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 accepts four parameters, can operate on a space or change request, and has no output schema, the description is too sparse. It omits details about pagination, return structure, how changeRequestId alters behavior, and whether all pages are included or only top-level ones. An agent would need to infer too much from the schema alone.

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 already provides descriptions for all four parameters, so the baseline is 3. The description adds the concept of 'space' and 'change request' but does not explain how changeRequestId interacts with spaceId or how pagination parameters work beyond what the schema states. No additional parameter-level semantics are provided.

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

Purpose5/5

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

The description clearly states 'List all pages in a GitBook space (or change request)' with a specific verb ('List') and resource ('pages'), and it distinguishes itself from sibling page-level tools like get_page_by_id and get_page_by_path by indicating it returns multiple pages. The mention of 'space' and 'change request' narrows the scope.

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 retrieving all pages in a space or change request, but it does not explicitly state when to prefer this over alternatives like get_page_by_id or get_page_by_path. No exclusions, prerequisites, or when-not-to-use guidance is provided.

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

list_requested_reviewersB

List users who have been requested to review a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request

TDQS

B3.3/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 safety and side effects. It does not explicitly state that this is a read-only operation, nor does it mention permissions, pagination, or return format. 'List' implies read-only, but this is not disclosed as a guarantee.

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 that states the action and target resource without any filler. 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 operation with two clearly documented parameters and no output schema, the description is mostly complete. However, it lacks usage guidelines and behavioral transparency, which are important for an agent to select and invoke it correctly in 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 already fully documents both parameters with descriptions. The tool description adds no additional meaning to the parameters, so the baseline of 3 applies due to high schema coverage (100%).

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 ('users who have been requested to review a change request'). It clearly distinguishes from sibling tools like list_reviews (which likely lists review records) and request_reviewers (which adds reviewers).

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 list_reviews or the review-related tools. There are no exclusions, prerequisites, or context about the typical workflow.

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

list_reviewsA

List reviews on a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request

TDQS

A3.6/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. The verb 'List' implies a read-only operation, but the description does not explicitly state that it is non-mutating, nor does it disclose anything about pagination behavior, sorting, or what aspects of reviews are returned. This is a minimal disclosure that does not help the agent anticipate the tool's behavior beyond its basic function.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any filler or redundancy. It is front-loaded and earns its place with zero waste.

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 listing tool with 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what a 'review' entails, what fields will be in the response, or how pagination works beyond the schema hints. The description adds minimal value over the tool's name and schema, leaving significant gaps for the agent 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?

The input schema has 100% description coverage for all four parameters, so the schema already explains their meanings. The description adds no additional parameter context, but since the schema carries the weight, a baseline score of 3 is appropriate. No improvement or regression from the description is present.

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 reviews on a change request' uses a specific verb and resource, clearly scoping the tool to reviews for a particular change request. It distinguishes itself from sibling tools like list_change_requests (which lists CRs) and submit_review (which submits a review), leaving no ambiguity about its function.

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

Usage Guidelines4/5

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

The description implies a clear context: use this tool when you need to retrieve reviews for a specific change request. It does not explicitly mention when not to use it or name alternatives, but the scoping is clear enough to guide selection among siblings like list_comments or list_requested_reviewers.

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

list_spacesB

List all spaces in a GitBook organization

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
orgIdYesThe organization ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose pagination behavior (despite the schema including page and limit), ordering, or whether the list includes all spaces at once. The phrase 'all spaces' may be misleading if the API is paginated.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It is front-loaded with the main action and 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 list tool with one required parameter and full schema coverage, the description is adequate in intent but lacks important contextual details such as pagination mechanics and return value structure. Since there is no output schema, some explanation of the response format would improve completeness.

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 already provides descriptions for all three parameters (page, limit, orgId) with 100% coverage. The description only adds 'GitBook organization', which is already implied by the orgId parameter and the tool's context, so no significant additional meaning is provided.

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

Purpose5/5

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

The description clearly states the verb 'List' and resource 'spaces', distinguishing it from sibling tools like get_space, update_space, and create_space. The scope 'in a GitBook organization' adds context, making the purpose unambiguous.

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

Usage 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 search_space_content or list_pages. There is no mention of the pagination token, limits, or any exclusions that would help the agent decide when this tool is appropriate.

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

merge_change_requestB

Merge a change request into the main content (DESTRUCTIVE: publishes changes)

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request to merge

TDQS

B3.4/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 of behavioral disclosure. It explicitly labels the operation as DESTRUCTIVE and mentions publishing changes, which is a valuable warning. However, it omits details about reversibility, permission requirements, and the state of the change request after merging.

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

Conciseness5/5

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

The description is extremely concise, using a single sentence plus a parenthetical warning. Every word adds value, and the destructive warning is front-loaded.

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

Completeness2/5

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

For a destructive mutation tool, the description provides only the core action and a danger label. It lacks context about merge outcomes, whether the operation creates a new revision, and what state the change request transitions to. Without annotations or an output schema, this is insufficient for agents to fully reason about consequences.

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 clear descriptions for both required parameters (spaceId and changeRequestId), and schema coverage is 100%. The description does not add additional parameter-level semantics, 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 uses the specific verb 'merge' and identifies the resource (change request) and target (main content), clearly distinguishing it from sibling tools like get_change_request or update_change_request.

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

Usage Guidelines2/5

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

The description provides no context for when to use this tool versus alternatives. It doesn't mention prerequisites such as review status or that this should be used only after approval. The sibling tools imply a workflow, but the description itself gives no usage guidance.

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

post_commentA

Post a new comment on a GitBook space or change request

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe comment text (markdown supported)
spaceIdYesThe ID of the space
changeRequestIdNoOptional change request ID (posts comment on that CR)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the action 'Post a new comment' without disclosing important behavioral details like required permissions, whether the comment is immediately visible, what happens on validation failures, or what response to expect. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that communicates the essential action and target without any wasted words. It is perfectly concise and readable.

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 relatively simple (one action, three params, no output schema), and the description covers the core purpose and target locations. However, for a mutating create operation without annotations, it lacks details about return values, errors, or prerequisites. It is adequate but not rich.

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 100% coverage with clear descriptions for each parameter (body supports markdown, spaceId is the space ID, changeRequestId is optional). The description adds no additional parameter meaning beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses the specific verb 'Post' with the resource 'new comment' and clearly scopes it to 'a GitBook space or change request'. This distinguishes it from sibling tools like post_comment_reply (replies), update_comment, and delete_comment.

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 is for creating new comments on spaces or change requests, providing clear context. However, it does not explicitly mention alternatives (e.g., using post_comment_reply for replies) or state when not to use it, so it falls short of a perfect score.

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

post_comment_replyA

Post a reply to an existing comment

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe reply text (markdown supported)
spaceIdYesThe ID of the space
commentIdYesThe ID of the parent comment to reply to
changeRequestIdNoOptional change request ID if comment is on a CR

TDQS

A3.6/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 for behavioral disclosure. 'Post' conveys a mutation, but the description provides no additional context about side effects (e.g., whether a new resource is created), permissions, idempotency, or error behavior. It is not contradictory, but it is minimal.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action, and contains no redundant words. It is appropriately concise 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?

This is a mutation tool with 4 parameters, no annotations, and no output schema. The description does not explain return values, prerequisites (e.g., the comment must exist in the specified space), or error conditions. The one-liner is a bare minimum and insufficient for an agent to fully understand the tool's behavior without additional inference.

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 extra meaning beyond the schema; it only reinforces that commentId refers to an existing comment. The schema already explains all parameters adequately.

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 ('Post a reply') and the resource ('an existing comment'), making it distinct from sibling tools like post_comment (which would create a new top-level comment) and list_comment_replies. The verb is specific and the resource is unambiguous.

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

Usage Guidelines3/5

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

The description implies usage: when you have an existing comment and want to reply to it. However, it does not explicitly mention when not to use it or suggest alternatives (e.g., post_comment for new comments). The context is clear but lacks explicit guidance or exclusions.

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

remove_reviewerA

Remove a requested reviewer from a change request (DESTRUCTIVE)

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesThe user ID to remove from reviewers
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request

TDQS

A3.7/5.0
Behavior3/5

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

The description includes '(DESTRUCTIVE)' which warns about the mutation, but since no annotations are provided, the description carries full burden. It does not explain what data is affected, whether the operation is reversible, or any permission requirements.

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

Conciseness5/5

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

The description is a single sentence with a parenthetical warning, front-loading the action. Every word is purposeful; no filler or repetition.

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 tool with three fully described parameters and no output schema, the description covers the basic action and destructiveness. However, it omits expected response behavior and edge cases, and without annotations, the agent lacks information about failure modes.

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 does not add any additional meaning to the parameters beyond what the schema already provides, but it is consistent with them.

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 ('Remove') and resource ('requested reviewer from a change request'), clearly distinguishing it from sibling tools like request_reviewers and list_requested_reviewers. The parenthetical '(DESTRUCTIVE)' adds a necessary warning without obscuring the purpose.

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 canceling a review request but does not explicitly state when to use it versus alternatives like update_change_request or submit_review. No exclusion criteria or conditions (e.g., only before review starts) are mentioned.

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

request_reviewersB

Request specific users to review a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
userIdsYesArray of user IDs to request as reviewers
changeRequestIdYesThe ID or number of the change request

TDQS

B3.2/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 does not state whether the request adds or replaces reviewers, sends notifications, or requires a particular change request state, leaving side effects unknown.

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

Conciseness5/5

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

The description is a single clear sentence with no redundant words, filler, or repetition. It is appropriately concise for the tool's simplicity.

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?

This is a mutation tool with no annotations and no output schema, but the description does not explain the outcome or any side effects. It omits whether existing reviewers are preserved, what the response contains, or any prerequisites, leaving the context incomplete for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters (spaceId, changeRequestId, userIds) are already well-documented. The description adds no parameter-specific meaning beyond what the schema provides, 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 uses a specific verb ('Request') and clearly identifies the resource ('specific users to review a change request'). It distinguishes this tool from sibling tools like list_requested_reviewers and remove_reviewer by its action-focused wording.

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_requested_reviewers or remove_reviewer. No prerequisites, conditions, or exclusions are mentioned, leaving the agent to infer usage from the bare action statement.

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

search_space_contentB

Search for content within a GitBook space

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination token
limitNoMax items to return
queryYesThe search query
spaceIdYesThe ID of the space to search in

TDQS

B3.2/5.0
Behavior2/5

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

Since no annotations are present, the description carries the full burden of behavioral disclosure. It only states the action without explaining whether the search covers page content, titles, or files, nor does it mention pagination, sorting, or result shape. This is a significant gap for a search 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, direct sentence that front-loads the core action and resource. It contains no redundant information, making it appropriately concise.

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?

With no output schema and no annotations, the description needs to provide more context about return behavior and usage nuances. It fails to clarify what 'content' includes, how results are paginated, or what the response looks like, which is incomplete for an agent to reliably invoke the tool.

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

Parameters3/5

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

The input schema provides 100% coverage for all four parameters, each with a clear description. The tool description adds no extra meaning beyond the schema's parameter definitions, 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 a specific action ('Search') and resource ('content within a GitBook space'), making it distinct from sibling tools like get_page_by_id (exact retrieval) or list_pages (listing). It communicates both the verb and the scope without ambiguity.

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 such as get_page_by_path or ask_ai. It does not mention exclusions, prerequisites, or typical use cases, leaving the agent to infer applicability.

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

submit_reviewA

Submit a review on a change request (approve, request changes, or comment)

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesThe review decision
commentNoOptional review comment
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It indicates a write operation ('submit') but does not describe side effects, such as whether the review notifies the author, updates the change request status, or is reversible. No permission or rate-limit information is given.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the action and resource, and it efficiently communicates the tool's purpose without any wasted words or repetition.

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 that this is a mutation tool with no annotations and no output schema, the description is adequately sized but lacks key contextual information like side effects and workflow context. The schema partially compensates with parameter descriptions, but the tool's role in the review lifecycle is only implied.

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 already provides detailed descriptions for all four parameters (100% coverage), so the description adds no additional parameter semantics beyond listing the enum values in parentheses, which is redundant. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('submit') and resource ('review on a change request'), and enumerates the three possible statuses. This distinguishes it from siblings like list_reviews or post_comment.

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

Usage Guidelines3/5

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

The description implies usage in the review workflow but does not explicitly state when to use this tool versus alternatives like post_comment or request_reviewers. No exclusions or prerequisites are mentioned, leaving the agent to infer context from the tool's name and sibling list.

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

sync_change_requestB

Sync/update a change request with the latest main content

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe ID of the space
changeRequestIdYesThe ID or number of the change request to sync

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says "Sync/update" which implies mutation, but does not state whether it overwrites local changes, whether it is destructive, how it handles conflicts, or what the return value is. This is a significant gap for a mutating 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 concise sentence that is front-loaded with the action and resource. It contains no unnecessary words and is easy to parse quickly.

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

Completeness2/5

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

Given the absence of annotations and output schema, the description is too sparse. It does not explain what 'sync' entails operationally (e.g., whether it pulls changes into the change request, whether it overwrites edits, or what results are returned). The tool is a mutation with no safety annotations, so more context is needed.

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

Parameters3/5

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

Schema coverage is 100% with both parameters (spaceId, changeRequestId) described individually. The description adds no additional meaning beyond the schema; it does not explain the parameters in the sync context. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb "Sync/update" with a resource "change request" and context "with the latest main content", clearly distinguishing it from generic update tools like update_change_request. It states exactly 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 Guidelines3/5

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

The description implies usage: use when you want to sync a change request with the latest main content. However, it does not explicitly mention when to use it versus alternatives (e.g., update_change_request or merge_change_request), nor does it provide exclusions or prerequisites.

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

update_change_requestB

Update a change request's properties (subject, status, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoNew status for the change request
spaceIdYesThe ID of the space
subjectNoNew subject/title
changeRequestIdYesThe ID or number of the change request

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states that the tool updates properties. It does not mention whether the operation is destructive, whether special permissions are required, or how status transitions are validated, which is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is a single clear sentence with no fluff, earning efficiency points. However, it is extremely terse and omits details, though that is acceptable for a simple operation with a well-described schema.

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 minimal and does not explain return values, side effects, or valid status transitions, despite there being no output schema. Given the tool's mutating nature and the presence of sibling tools like sync_change_request, more context is needed to fully understand its role.

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 documented in the schema. The description adds marginal value by naming 'subject, status' in the prose, but 'etc.' is vague and adds no new meaning beyond what the schema provides.

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

Purpose5/5

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

The description uses the specific verb 'Update' with a clear resource ('change request's properties') and lists example fields ('subject, status, etc.'). This clearly differentiates the tool from siblings like create_change_request, get_change_request, and merge_change_request, which perform distinct operations.

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 modifying existing change requests, but it does not explicitly state when to use it over alternatives or mention any exclusions. The presence of sibling tools with similar names (create, merge, sync) suggests context, but no explicit guidance is provided.

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

update_commentA

Update an existing comment (uses PUT as per GitBook API)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe new comment text (markdown supported)
spaceIdYesThe ID of the space
commentIdYesThe ID of the comment to update
changeRequestIdNoOptional change request ID if comment is on a CR

TDQS

A3.5/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 of disclosing behavior. The only extra detail 'uses PUT' is a protocol note, not an explanation of side effects (e.g., overwriting content), authentication needs, or whether the update is a full replacement. This is insufficient for an agent to anticipate the tool's 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?

A single, front-loaded sentence stating the action with a useful technical clarification in parentheses. No redundancy or filler; 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 comment update with a fully described schema, the description is minimally adequate. However, it does not address potential failure scenarios, return values (since there is no output schema), or the optional changeRequestId parameter beyond the schema, leaving some contextual gaps.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; it relies on the well-described properties. No additional context is provided (e.g., how changeRequestId interacts with the update).

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 'Update an existing comment' with a specific verb and resource, distinguishing it from sibling tools like post_comment (create) and delete_comment (remove). The added 'uses PUT' provides relevant technical detail without obscuring the core purpose.

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 updating existing comments but does not explicitly mention alternatives or exclusions (e.g., 'to create a comment, use post_comment'). While the purpose is evident from the name, no direct guidance on when to choose this tool is provided.

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

update_spaceB

Update a GitBook space's properties (title, visibility, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew title for the space
spaceIdYesThe ID of the space to update
visibilityNoVisibility setting for the space

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Update' without disclosing any behavioral effects, such as whether changes are immediately effective, whether specific permissions are needed, or whether the operation is reversible. No side effects or error conditions are mentioned.

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

Conciseness5/5

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

The description is a single sentence that directly states the purpose with minimal words. It is front-loaded and contains no filler or redundant content.

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

Completeness2/5

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

This is a mutation tool with no annotations and no output schema. The description is too sparse: it does not mention return values, whether updates are partial or full, or any special considerations around visibility changes (e.g., making a space public). The schema covers parameters, but the operational context remains 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?

Schema description coverage is 100% (all three parameters have descriptions), so the baseline is 3. The description mentions 'title, visibility' which overlaps with schema fields but adds no extra meaning beyond what the schema already provides.

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

Purpose5/5

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

The description uses a specific verb 'Update' and identifies the resource as 'a GitBook space's properties', with examples of updatable fields. This clearly distinguishes it from siblings like get_space, create_space, and duplicate_space.

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

Usage Guidelines3/5

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

The description implies usage when needing to modify a space's properties, but does not explicitly contrast with alternatives like create_space or the change request tools. No when-not-to-use guidance is provided.

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. 39 tool updatesv1.0.0
    • First observedask_ai
    • First observedcreate_change_request
    • First observedcreate_space
    • First observeddelete_comment
    • First observedduplicate_space
    • First observedget_change_request
    • First observedget_collection
    • First observedget_file
    • First observedget_git_info
    • First observedget_organization
    • First observedget_page_backlinks
    • First observedget_page_by_id
    • First observedget_page_by_path
    • First observedget_page_links
    • First observedget_space
    • First observedget_space_revision
    • First observedgit_export
    • First observedgit_import
    • First observedimport_content
    • First observedlist_change_requests
    • First observedlist_collections
    • First observedlist_comment_replies
    • First observedlist_comments
    • First observedlist_files
    • First observedlist_pages
    • First observedlist_requested_reviewers
    • First observedlist_reviews
    • First observedlist_spaces
    • First observedmerge_change_request
    • First observedpost_comment
    • First observedpost_comment_reply
    • First observedremove_reviewer
    • First observedrequest_reviewers
    • First observedsearch_space_content
    • First observedsubmit_review
    • First observedsync_change_request
    • First observedupdate_change_request
    • First observedupdate_comment
    • First observedupdate_space

TDQS

B3.2/5.0
Disambiguation4/5

Most tools target distinct resource-action pairs, but a few overlaps exist: get_page_by_id vs get_page_by_path both retrieve pages, and git_import vs import_content both perform destructive imports from different sources. These are minor confusions, as the descriptions clarify the differences.

Naming Consistency4/5

The naming convention is predominantly verb_noun in snake_case (e.g., get_space, create_change_request, list_comments), which is consistent. However, git_import and git_export break the pattern by placing the noun first, and ask_ai is slightly anomalous. Overall, the style is readable and predictable with only minor deviations.

Tool Count2/5

With 39 tools, this server is heavily over-scoped for an MCP server. The domain of GitBook is broad, but the tool count exceeds the typical range and feels unwieldy. Many tools are narrowly focused (e.g., list_requested_reviewers vs remove_reviewer), and consolidation could reduce the count while maintaining functionality.

Completeness2/5

Significant gaps exist in page management: there are no tools to create, update, or delete pages directly. While change requests are well-covered, the inability to manage pages is a critical omission. Also missing are delete operations for spaces and change requests, limiting lifecycle completeness.

Maintenance

ActivityInactive
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

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/lucasbenevinuto/gitbook-mcp'

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