Skip to main content
Glama

Server Details

Read spaces, collections, pages and content; search docs and manage GitBook organization spaces.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
82.5% over 65 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation5/5

Each tool combines a distinct resource (collection, space, page, user, change_request, comment) with a distinct action (get, list, search, create, update). The only near-pairs, gitbook_search_space vs gitbook_search_organization, are clearly scoped by description. No two tools could be reasonably confused.

Naming Consistency5/5

All 14 tools follow a strict gitbook_<verb>_<noun> snake_case pattern with no deviations. The verb set (get, list, search, create, update) is used uniformly and predictably across resources.

Tool Count5/5

14 tools sit comfortably in the well-scoped 3-15 range. Each tool maps to a concrete REST endpoint and earns its place; there is no redundant or filler tool.

Completeness3/5

The surface is heavily read-oriented: pages, spaces, and collections only support get/list with no create/update/delete, and comments only support list. Change requests have create/list/update but no get-single, merge, or close, leaving notable lifecycle gaps for a documentation platform.

Available Tools

14 tools
gitbook_create_change_requestCreate change requestB
Destructive
Inspect

Create a new draft change request (branch) in a space. Safe: creates a draft; publishes nothing. GitBook REST: POST /spaces/{spaceId}/change-requests.

NameRequiredDescriptionDefault
spaceIdYesThe space id.
subjectNoA title/subject for the change request.

TDQS

B3.2/5.0
Behavior1/5

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

Annotations declare destructiveHint=true, yet the description asserts 'Safe: creates a draft; publishes nothing.' That directly negates the structured safety signal the agent relies on, which is a contradiction rather than added context. Useful details (no publish, POST endpoint) do not offset telling the agent the opposite of what the annotation says.

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?

Three short, front-loaded sentences with no filler; the core effect is stated first and the REST endpoint is appended. The 'Safe' framing occupies space but misleads, which is a small structural cost rather than verbosity.

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 two-parameter creation tool with no output schema and an annotation set that the description partly conflicts with, the definition is adequate on mechanics but silent about the return value (the created change request id) and about access requirements, leaving real 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 description coverage is 100%, so both spaceId and subject are already documented in the schema; the description only echoes 'in a space' and says nothing about subject. Baseline 3 applies when the schema carries parameter semantics.

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?

States a specific verb and resource ('Create a new draft change request (branch)') plus the scope ('in a space'), and the parenthetical '(branch)' disambiguates it from siblings like gitbook_update_change_request and gitbook_list_change_requests. An agent can select it correctly without opening the schema.

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 clause 'creates a draft; publishes nothing' implies when this is appropriate (proposing edits without touching published content), but there is no explicit when-to-use or when-not-to-use guidance relative to siblings such as update_change_request or direct page editing. Usage is inferable rather than stated.

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

gitbook_get_collectionGet collectionA
Read-only
Inspect

Get a collection by its ID. GitBook REST: GET /collections/{collectionId}.

NameRequiredDescriptionDefault
collectionIdYesThe collection id.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the underlying REST verb/path, which is mildly useful orientation, but adds no context about failure modes (e.g., what happens with an unknown ID) or auth/rate constraints.

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

Conciseness5/5

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

Two tight sentences: the purpose is front-loaded and the endpoint reference is a compact secondary clause. Nothing is padding.

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 one-parameter read-only lookup with an annotation-covered safety profile and no output schema, the definition is essentially sufficient. The only minor gap is no note about behavior on a missing/invalid collectionId.

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% and the single parameter (collectionId) is fully documented in the schema, so the baseline of 3 applies. The description adds no format, sourcing, or constraint detail beyond what the schema already provides.

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

Purpose4/5

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

The description states a specific verb (Get) and resource (collection) scoped by a singular identifier ('by its ID'), which cleanly separates it from the sibling gitbook_list_collections. It stops short of naming that sibling explicitly, so it is clear but not sibling-differentiating at the highest level.

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?

Usage is only implied: 'by its ID' suggests it is the single-record lookup to use once an ID is known, in contrast to list_collections. There is no explicit when-to-use/when-not statement, prerequisites, or named alternative.

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

gitbook_get_current_userGet current userA
Read-only
Inspect

Get the profile of the authenticated GitBook user. GitBook REST: GET /user.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating read, so the description does not need to restate safety. It adds only the REST endpoint mapping (GET /user), which is mild implementation context; it says nothing about auth requirements beyond the word 'authenticated' or about what the profile payload contains.

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

Conciseness5/5

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

Two short sentences, front-loaded with the purpose, followed by a compact REST mapping. Every word earns its place and nothing is padded.

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 zero-parameter read whose annotations already declare readOnlyHint, the definition is nearly complete. The only omission is a hint about the shape of the returned profile, which matters slightly since no output schema exists to document it.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case: there is nothing for the description to disambiguate. The description correctly implies no input is needed by framing it as 'the authenticated user'.

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?

States a specific verb (Get) and resource (profile of the authenticated GitBook user), so there is no ambiguity about what is returned. No sibling tool covers user identity, so differentiation is inherent rather than explicitly stated, which keeps it just short of a 5.

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

Usage Guidelines3/5

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

Usage is implied by the phrase 'authenticated GitBook user' — it is the obvious call when the agent needs to know who it is acting as. There is no explicit when-to-use statement, no prerequisites, and no mention of alternatives, but none exist among the siblings, so the gap is minor.

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

gitbook_get_pageGet pageA
Read-only
Inspect

Get a single page's content from a space by its page ID. GitBook REST: GET /spaces/{spaceId}/content/page/{pageId}.

NameRequiredDescriptionDefault
formatNoResponse format — 'document' (structured, default) or 'markdown'.
pageIdYesThe page id.
spaceIdYesThe space id.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already declares the safe read-only profile, so the description only needs to add context. It adds the underlying REST endpoint mapping (GET /spaces/{spaceId}/content/page/{pageId}), but says nothing about not-found behavior or what 'content' excludes.

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

Conciseness5/5

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

Two compact sentences with zero filler; the capability statement is front-loaded and the endpoint mapping is a useful trailing detail.

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 read-only single-resource fetch with full schema coverage and annotations, the description covers purpose and scope adequately. Minor gaps remain around return shape and error conditions, but no output schema is expected to carry those.

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 spaceId, pageId, and the format enum are already fully documented in the schema. The description adds no parameter detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Get), resource (a single page's content), and scoping (from a space, by page ID), which separates it from the list_pages and search siblings. It does not name an alternative explicitly, so it falls just short of full sibling differentiation.

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 phrase 'by its page ID' implies the caller must already hold a page identifier, which hints at when this applies versus listing or searching. However, no explicit when-to-use, prerequisites, or named alternatives are given.

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

gitbook_get_spaceGet spaceB
Read-only
Inspect

Get full details of a space by its ID. GitBook REST: GET /spaces/{spaceId}.

NameRequiredDescriptionDefault
spaceIdYesThe space id.

TDQS

B3.4/5.0
Behavior2/5

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

The readOnlyHint annotation already tells the agent this is a safe read, and the description adds nothing behavioral beyond it — no note on what 'full details' includes, whether the call fails on unknown IDs, or any permission scope. The only addition (the REST endpoint GET /spaces/{spaceId}) is API trivia rather than behavioral context.

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

Conciseness5/5

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

Two short sentences, action front-loaded, no filler. The REST endpoint mapping is the only arguably optional clause and it is kept terse.

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

Completeness4/5

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

For a single-parameter read tool with annotations covering the safety profile, the definition is nearly sufficient. The one remaining gap is that no output schema exists, so the description could say what 'full details' returns, but this is a minor omission.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is documented in the schema as 'The space id.' The description's 'by its ID' merely restates the schema, adding no format, source, or acquisition guidance. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get full details of a space') and pins the lookup key ('by its ID'), which implicitly separates it from the list_/search_ siblings. It does not name any sibling explicitly, so differentiation is inferred rather than stated.

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 'by its ID' phrasing implies you should call this when you already hold a spaceId, but there is no explicit when-to-use guidance, no mention of gitbook_search_space for name-based lookup, and no statement of what to do if the ID is unknown.

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

gitbook_list_change_requestsList change requestsB
Read-only
Inspect

List change requests for a space. GitBook REST: GET /spaces/{spaceId}/change-requests.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
statusNoFilter by change-request status, e.g. 'open', 'merged', 'draft'.
spaceIdYesThe space id.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds only the REST endpoint mapping, which confirms but does not extend the read semantics; it says nothing about default page size, ordering, or total-count behavior that an agent listing results would benefit from.

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

Conciseness5/5

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

Two tight sentences: the action and scope come first, the endpoint mapping second. Nothing is redundant or padded.

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

Completeness4/5

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

For a simple read-only list tool with full schema coverage and a readOnly annotation, the description is essentially sufficient. The only modest omissions are pagination/ordering expectations, which are not strictly required to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so page, limit, status, and spaceId are all documented in the schema itself. The description adds no format or semantics beyond the schema, which is the expected baseline when the schema carries the load.

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?

States a specific verb (List) and resource (change requests) with scope ('for a space') and even maps it to the underlying REST endpoint, so the agent knows exactly which operation this is. It does not explicitly differentiate itself from siblings like gitbook_get_change_request or gitbook_search_space, which keeps it just short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, no mention of alternatives (e.g. search_space for cross-space lookups), and no note about pagination or filtering behavior in practice. The 'for a space' phrasing weakly implies spaceId is the selector, but nothing routes the agent between this and its siblings.

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

gitbook_list_collectionsList collectionsB
Read-only
Inspect

List all collections in an organization. GitBook REST: GET /orgs/{organizationId}/collections.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
nestedNoInclude nested (sub-)collections in the response.
organizationIdYesThe organization id.

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds no further behavioral context: no mention of pagination behavior, default page/limit values, sorting, or what the response contains beyond the raw REST path.

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?

Two compact sentences with the operation front-loaded. The trailing REST endpoint reference is somewhat redundant for an agent but does anchor the tool to a concrete API route without wasting much space.

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

Completeness4/5

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

For a simple read-only list tool with full schema coverage and readOnlyHint annotations, the definition is nearly complete. No output schema exists, but the description does not need to explain returns; only pagination semantics are left implicit in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (page, limit, nested, organizationId) are already documented in the schema. The description adds nothing beyond the schema, which makes the baseline 3 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?

States a specific verb and resource with scope: 'List all collections in an organization'. It clearly differs from the singular gitbook_get_collection and from other list_* siblings by resource, though it never names an alternative explicitly.

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 when-to-use conditions, prerequisites (e.g. required permissions or org membership), or alternatives to this tool versus get_collection or list_spaces. Usage is only inferable from the tool name.

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

gitbook_list_commentsList commentsB
Read-only
Inspect

List top-level comments posted on a space. GitBook REST: GET /spaces/{spaceId}/comments.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
statusNoFilter by comment status.
spaceIdYesThe space id.

TDQS

B3.3/5.0
Behavior3/5

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

readOnlyHint=true already establishes this as a safe read, and the description adds the useful nuance that only top-level comments are returned. However, it says nothing about pagination semantics, default page size, or whether the status filter has a default, so it clears the lowered annotated bar without adding much.

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

Conciseness5/5

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

Two sentences, zero filler, and the purpose is front-loaded before the endpoint detail. Every sentence 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?

The description is adequate for a read-only list call, but with no output schema it could say more about the shape of returned comments, and the free-form 'status' parameter is left unexplained in both schema and description.

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 page, limit, status, and spaceId are already documented. The description adds no extra meaning beyond the schema — notably it does not explain what values 'status' accepts, which the schema also leaves as a bare string.

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

Purpose4/5

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

The description states a specific verb and resource ('List top-level comments posted on a space') and even scopes it to top-level comments rather than replies. It is unambiguous, though there are no comment-oriented siblings to differentiate against, so the sibling-routing component of a 5 is absent.

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, nor on prerequisites such as needing a valid spaceId or whether replies can be retrieved some other way. The REST endpoint reference is descriptive, not prescriptive.

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

gitbook_list_organizationsList organizationsA
Read-only
Inspect

List the organizations the authenticated user belongs to. GitBook REST: GET /orgs.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already declares this is a safe read, so the description carries a lighter burden. It adds the REST mapping (GET /orgs) and the auth scope, but says nothing about pagination behavior or result ordering despite having page/limit parameters.

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

Conciseness5/5

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

Two brief sentences, zero waste. The scope constraint and the endpoint mapping are front-loaded and immediately actionable.

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, annotated, read-only list endpoint with fully documented parameters, the description covers what an agent needs to select and call it. The only gap is that no output schema exists and the description does not hint at the returned shape, which is minor for a low-risk list call.

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 page ('1-based page number') and limit ('Results per page') fully documented in the schema. The description adds no syntax, defaults, or range information beyond that, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List the organizations') and scopes it to the authenticated user, which lets an agent distinguish it from the space/collection/change-request siblings at a glance. It stops short of explicitly naming a sibling it is not, so it lands at 4 rather than 5.

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

Usage Guidelines3/5

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

The 'organizations the authenticated user belongs to' clause is implied usage guidance: it tells the agent this returns only the caller's orgs, not all orgs in the instance. There is no explicit when-to-use/when-not or named alternative, so it is minimum-viable at 3.

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

gitbook_list_pagesList pagesA
Read-only
Inspect

List all pages in a space with their hierarchy and metadata. GitBook REST: GET /spaces/{spaceId}/content/pages.

NameRequiredDescriptionDefault
spaceIdYesThe space id.
computedNoInclude computed properties in the response.
metadataNoInclude page metadata in the response.

TDQS

A3.8/5.0
Behavior3/5

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

readOnlyHint=true already establishes this as a safe, non-mutating read. The description adds that results are hierarchical and carry metadata, plus the underlying REST route, but says nothing about pagination, result limits, or ordering. With annotations covering the safety profile, this is an adequate but thin addition.

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

Conciseness5/5

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

Two short sentences with the core capability front-loaded, followed by the REST route as a compact reference. No filler 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?

With no output schema, the description usefully signals what comes back (hierarchy and metadata), which is the key thing an agent needs to know. The only gap is pagination/volume behavior for a list endpoint in a potentially large space.

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 three parameters are already documented in the schema. The description's mention of 'metadata' loosely maps to the metadata flag but adds no format or default details beyond the schema. Baseline 3 applies when the schema carries the burden.

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 names a specific verb (List), resource (pages), and scope (all pages in a space), and adds that hierarchy and metadata are included. This is readily distinguishable from gitbook_get_page (single page) and from the list_* siblings targeting other resources.

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?

Usage is only implied by the scope wording: an agent can infer 'use this to enumerate all pages of a space.' There is no explicit statement of when to prefer this over gitbook_get_page or gitbook_search_space, and no prerequisites or exclusions are given.

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

gitbook_list_spacesList spacesB
Read-only
Inspect

List all spaces in an organization. GitBook REST: GET /orgs/{organizationId}/spaces.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
organizationIdYesThe organization id.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the underlying REST endpoint (GET /orgs/{organizationId}/spaces), which is real but marginal context, and it omits pagination behavior — notably the word 'all' sits awkwardly against the page/limit parameters.

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

Conciseness5/5

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

Two brief sentences, purpose front-loaded, zero redundancy. Every clause carries 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 read-only list with full schema coverage and no output schema, the description is nearly sufficient. The remaining gap is pagination semantics — the description says 'all' without noting that results are paged, which an agent relying on page/limit should know.

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

Parameters3/5

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

Schema description coverage is 100%, with page, limit and organizationId all documented in the schema, so the baseline is 3. The description adds nothing about parameter formats or defaults beyond what the schema already states.

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?

States a specific verb and resource ('List all spaces in an organization'), which is enough for an agent to separate it from gitbook_get_space and gitbook_list_collections. It does not explicitly name the sibling tools or clarify how it differs from gitbook_search_space, but the verb+resource pairing 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 Guidelines2/5

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

The description gives no when-to-use guidance and no alternatives: it never says to prefer gitbook_get_space for a single space or gitbook_search_space for filtered lookups. Usage must be inferred entirely from the tool name.

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

gitbook_search_organizationSearch organizationB
Read-only
Inspect

Search content across an entire organization. GitBook REST: GET /orgs/{organizationId}/search.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
queryYesThe full-text search query (required).
organizationIdYesThe organization id.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description's 'GET /orgs/{organizationId}/search' corroborates that this is a read-only operation. However, it says nothing about pagination behavior despite exposing page/limit, nor about what content is indexed or whether results span spaces and collections.

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?

Two short sentences with no padding, and the purpose is front-loaded before the API mapping. The REST endpoint reference is mildly useful for cross-referencing docs, though it is not essential.

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 four-parameter search tool with no output schema, the description leaves the result shape, paging semantics, and result-scope unstated. Annotations cover the safety profile, but an agent still lacks enough to know what comes back or how paging behaves.

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 four parameters (query, organizationId, page, limit) are already documented in the schema. The description adds no syntax, format, or semantic detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Search content') and scopes it to 'an entire organization', which implicitly distinguishes it from the sibling gitbook_search_space. It is clear what the tool does, though it never names the alternative explicitly.

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 scope phrase 'across an entire organization' implies when org-wide search is appropriate versus space-scoped search, but there is no explicit when-to-use, when-not-to-use, or alternative-naming guidance. Usage must be inferred from the scope wording.

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

gitbook_search_spaceSearch spaceA
Read-only
Inspect

Full-text search across all pages in a space. GitBook REST: GET /spaces/{spaceId}/search.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoResults per page.
queryYesThe full-text search query (required).
spaceIdYesThe space id.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered, and the 'GET /spaces/{spaceId}/search' reference is consistent with a read. Beyond that the description adds little: no pagination behavior (page/limit exist), no result ordering, no rate limits, and no note on what is matched (title vs body). Adequate but thin for a search endpoint.

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

Conciseness5/5

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

Two short sentences with zero filler; the capability statement is front-loaded and the REST reference is a compact secondary detail. Nothing is redundant with the name or title.

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 is the only place return shape could be described, and it says nothing about what results contain or how pagination is signalled. Annotations plus the fully documented schema cover safety and inputs, so it is minimally complete but leaves a real gap for a search 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?

Schema description coverage is 100%, so spaceId, query, page, and limit are already documented in the schema. The description adds no syntax, matching-mode, or pagination semantics beyond it, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource with scope: 'Full-text search across all pages in a space.' An agent immediately knows this is content search scoped to one space. It does not, however, distinguish itself from the sibling gitbook_search_organization, which is the main source of ambiguity between the two search tools.

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 space-scoped phrasing implies when this tool is appropriate (finding pages by content within a known space), but there is no explicit when-to-use/when-not statement and the sibling gitbook_search_organization is never named as the alternative for org-wide search. Usage is inferable rather than guided.

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

gitbook_update_change_requestUpdate change requestA
Destructive
Inspect

Update a change request's subject or status. Edits draft metadata only. GitBook REST: PATCH /spaces/{spaceId}/change-requests/{changeRequestId}.

NameRequiredDescriptionDefault
statusNoA new status for the change request.
spaceIdYesThe space id.
subjectNoA new title/subject for the change request.
changeRequestIdYesThe change request id.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true. The description adds useful blast-radius context by saying only draft metadata is edited, which tells the agent this does not publish or alter live content. It still omits whether the change is reversible and what permissions/validation the endpoint enforces, so it is a modest value-add rather than a rich 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?

Three short sentences, front-loaded with the action and scope, then the endpoint. Every sentence earns its place with zero filler.

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 4 params, no output schema, and only a destructiveHint annotation, the description covers what can be changed and the endpoint. It leaves notable gaps: no indication of valid status values (the schema has no enum for a clearly enumerable field) and no note on the response or side effects of the destructive update.

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%, and the required spaceId/changeRequestId are documented in the schema, so the schema carries the burden. The description names the two mutable fields (subject, status) and the REST path, but adds no format, allowed status values, or validation detail beyond the schema.

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

Purpose5/5

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

States a specific verb (Update), resource (change request), and the exact editable fields (subject or status), which cleanly separates it from the sibling create/list/get operations. The PATCH endpoint reference reinforces the mutation semantics.

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?

'Edits draft metadata only' gives an implied scope for when this tool is appropriate, but there is no explicit when-to-use vs. alternatives guidance (e.g., use update vs. create_change_request, or that publishing is out of scope). The agent must infer the routing from the name.

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.

  1. 14 tool updates
    • Changedgitbook_create_change_request1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_get_collection1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_get_current_user1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_get_page1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_get_space1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_change_requests1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_collections1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_comments1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_organizations1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_pages1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_list_spaces1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_search_organization1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_search_space1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgitbook_update_change_request1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 14 tool updates
    • First observedgitbook_create_change_request
    • First observedgitbook_get_collection
    • First observedgitbook_get_current_user
    • First observedgitbook_get_page
    • First observedgitbook_get_space
    • First observedgitbook_list_change_requests
    • First observedgitbook_list_collections
    • First observedgitbook_list_comments
    • First observedgitbook_list_organizations
    • First observedgitbook_list_pages
    • First observedgitbook_list_spaces
    • First observedgitbook_search_organization
    • First observedgitbook_search_space
    • First observedgitbook_update_change_request

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.