Skip to main content
Glama
Ownership verified

Server Details

MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 14 of 14 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Every tool has a clearly distinct purpose. For example, get_database_schema retrieves only the schema, while query_database fetches both schema and rows. delete_page requires a confirm flag, preventing accidental deletions. All tools are well-separated.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_page, delete_page, get_database_schema). The naming is predictable and aids in understanding the tool's function at a glance.

Tool Count5/5

With 14 tools covering CRUD operations for pages and databases, search, listing members, audit logs, and item movement, the count is well-scoped for a workspace management server. Each tool serves a clear and necessary function.

Completeness5/5

The tool set provides comprehensive coverage for core workspace operations: creating, reading, updating, and deleting pages/databases, plus search, listing members, audit logs, and bulk updates. There are no obvious gaps for typical workflows.

Available Tools

14 tools
bulk_update_pagesA
Idempotent
Inspect

Update multiple pages or database rows in a single call.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYesList of updates to apply

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYesPer-update results
Behavior2/5

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

Annotations already provide idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds no additional behavioral context such as rate limits, authentication needs, or what happens on partial failures. With no extra value beyond the annotations, this is a 2.

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 core purpose efficiently. Every word is meaningful, and there is no extraneous content.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, output schema present), the description adequately explains the primary function. However, it could be improved by noting the required array structure or the idempotent nature, though idempotency is already in annotations.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does not add any new information about parameters beyond what the schema already provides (the 'updates' array with pageId, title, content, properties). No extra semantics or usage hints are given.

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' and identifies the resource as 'pages or database rows', with the key qualifier 'multiple' and 'in a single call'. This clearly distinguishes it from sibling tool 'update_page' which updates a single item.

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 this tool is for batch operations through the word 'bulk' and 'multiple', but it does not explicitly state when to use this versus 'update_page', nor does it provide any exclusions or prerequisites. The context is clear but lacking explicit guidance.

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

create_databaseAInspect

Create a new database with a custom schema. A "Title" text column is always prepended if not provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDatabase name
schemaNoColumn definitions. Omit to use default schema (Title + Status).
parentIdNoParent workspace item ID (omit for root)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesWorkspace item ID of the new database
databaseIdYesDatabase ID used by query/schema tools
Behavior4/5

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

Annotations are minimal, so the description carries the burden. It discloses that a 'Title' text column is always prepended if not provided, which is a key behavioral side-effect. However, it does not mention error cases (e.g., duplicate name) or other 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?

The description is two sentences with no wasted words. It front-loads the main action and includes a critical detail efficiently. Every sentence earns its place.

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

Completeness4/5

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

Given the presence of an output schema and complete parameter descriptions, the description adequately covers the creation process. It could briefly mention what is returned (e.g., database ID), but the output schema likely handles that. Missing prerequisites like permissions are minor gaps.

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?

With 100% schema description coverage, the baseline is 3. The description adds value by explaining the effect on the schema parameter (Title column auto-prepended). This clarifies behavior beyond the schema, justifying a 4.

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

Purpose5/5

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

The description clearly states 'Create a new database with a custom schema,' specifying the action (create) and the resource (database). It adds a behavioral note about prepending a Title column, which distinguishes it from other tools like update_database_schema or create_page.

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 gives a clear purpose but does not explicitly state when to use this tool versus alternatives. It implies usage for creating databases but lacks guidance on when to avoid or what prerequisites exist (e.g., permissions).

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

create_pageAInspect

Create a new standalone page or database row.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPage title
contentNoInitial markdown content
parentIdNoParent workspace item ID (for standalone pages)
databaseIdNoDatabase ID (creates a database row instead of a page)
propertiesNoInitial properties (for database rows)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesID of the created page or row
typeYesWhat was created (page | db-row)
Behavior3/5

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

Annotations indicate a non-read-only, non-idempotent mutation. The description adds no behavioral details beyond 'create', such as idempotency effects or response behavior. With annotations covering the mutation trait, this is adequate but not enhanced.

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?

One sentence that is directly front-loaded with the core action. No wasted words; every part earns its place.

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

Completeness4/5

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

Given the presence of an output schema, annotations, and full schema coverage, the description effectively covers the primary distinction (page vs row). It could briefly mention that initial content and properties are supported, but the schema handles those details adequately.

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 descriptions for all 5 parameters. The description adds high-level context (standalone vs database row) but does not provide additional meaning beyond what the schema already conveys, meeting the baseline for high 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 creates either a standalone page or a database row, distinguishing it from sibling tools like update_page and create_database. The verb 'Create' and resource types are specific.

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 via parameters (parentId for standalone, databaseId for database row) but does not explicitly state when to use this tool versus alternatives like create_database or query_database. No when-not or exclusions are provided.

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

delete_pageA
Destructive
Inspect

Delete a workspace page, database, or database row. Requires confirm: true to execute — omit or set false to preview what would be deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe workspace item ID or database row ID to delete
confirmNoSet to true to confirm deletion. Without this flag, returns a preview of what would be deleted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNoID of the deleted item
deletedYesWhether the item was actually deleted (false for a preview)
previewNoPreview message when confirm was not set
Behavior4/5

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

Annotations already indicate destructive nature; description adds the preview behavior without contradiction. Does not cover error handling or reversibility.

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 concise sentences: one for purpose, one for usage. No filler or repetition.

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

Completeness4/5

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

Given output schema exists, description covers key aspects. Could mention error cases or missing item scenarios.

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

Parameters4/5

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

Schema covers both parameters; description adds context for confirm (preview vs execution) but does not provide additional details for pageId beyond what schema offers.

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 resources (workspace page, database, database row). It distinguishes from sibling tools like update_page and create_page.

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

Usage Guidelines4/5

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

Provides clear guidance on using confirm flag for execution vs preview. However, no explicit when-not-to-use or alternatives are mentioned.

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

get_database_schemaA
Read-only
Inspect

Get only the column schema of a database, without fetching any rows. Use this to inspect column names, types, and select options before querying.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYesDatabase ID (from list_workspace or search)

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesDatabase name
schemaYesColumn definitions (id, name, type, options)
Behavior4/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false; the description adds the key behavioral trait that no rows are fetched, which is valuable beyond the annotations. No contradictions or omissions.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and constraint, no redundant content. Every sentence adds value.

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

Completeness5/5

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

Given the presence of an output schema, the description does not need to detail return values. It covers purpose, usage context, and key behavioral constraint (no row fetching) comprehensively.

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?

With 100% schema description coverage for the single parameter 'databaseId' (described as 'Database ID (from list_workspace or search)'), the tool description adds no further meaning. Baseline 3 is appropriate as the schema does the work.

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 retrieves the column schema of a database without fetching any rows, which is specific and distinct from siblings like query_database (fetches rows) and update_database_schema (modifies schema).

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 advises using this tool 'to inspect column names, types, and select options before querying,' which gives clear context for when to invoke it. It implicitly contrasts with querying tools but could explicitly mention not to use for row data or schema modification.

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

get_pageA
Read-only
Inspect

Get full content of a workspace page or database row by its ID. Auto-detects the type — no flags needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe workspace item ID or database row ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesPage ID
iconNoPage icon
typeYesResolved type (page | database)
titleNoPage title
contentNoMarkdown content
databaseIdNoAssociated database ID (database items only)
propertiesNoDatabase-row properties (database rows only)
Behavior4/5

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

Annotations already provide readOnlyHint=true. The description adds value by disclosing that the tool auto-detects the type (page or database row) and requires no flags, which is beyond the annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with main action, no redundant words. Every sentence adds value.

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

Completeness5/5

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

Given the tool's simplicity (single parameter), presence of output schema, and annotations, the description is complete. It covers purpose, input behavior, and auto-detection. No gaps for a retrieval tool.

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

Parameters4/5

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

Schema coverage is 100% with a clear description. The description adds context by explaining auto-detection between page and database row, enhancing the schema's 'workspace item ID or database row ID' explanation.

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', the resource 'full content of a workspace page or database row', and the input identifier. It distinguishes itself from siblings like get_database_schema and query_database by specifying it provides full content via ID with auto-detection.

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 for retrieving content by ID without flags, but does not explicitly state when not to use it or compare to alternatives. The context suggests it's the go-to for single item retrieval, but lacks explicit exclusions.

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

list_membersA
Read-only
Inspect

List all members of the workspace with their roles and join dates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
membersYesWorkspace members, oldest first
Behavior4/5

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

Annotations already mark readOnlyHint=true, so the description adds value by specifying what information is returned (roles, join dates). No contradictions with annotations.

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 (10 words) that front-loads the core action. No unnecessary words or repetition.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, output schema exists), the description adequately covers what it does and what it returns. Could mention ordering or pagination, but not critical.

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?

There are no parameters; the input schema is empty. Baseline for 0 parameters is 4. The description doesn't need to add parameter semantics, and it doesn't.

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', the resource 'all members of the workspace', and the specific details included ('roles and join dates'). This distinguishes it from siblings like 'list_workspace' which lists workspaces, not members.

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?

No explicit guidance on when to use this tool versus alternatives such as 'search_workspace' or 'query_audit_log'. However, the purpose is straightforward and implied by the description.

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

list_workspaceA
Read-only
Inspect

List workspace items (pages and databases). Optionally filter by parent. Supports cursor-based pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum items per page (default 100)
cursorNoPagination cursor from a previous response's nextCursor field
parentIdNoParent item ID (omit for root items)

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesWorkspace items on this page
hasMoreYesWhether more items exist beyond this page
nextCursorNoCursor for the next page (present when hasMore)
Behavior4/5

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

Annotations provide readOnlyHint=true. Description adds pagination behavior and optional filtering, which are useful beyond annotations. No contradiction.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then details. No wasted words.

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

Completeness5/5

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

With output schema present, description covers listing scope, filtering, and pagination adequately. Complete for tool complexity.

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

Parameters3/5

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

Schema coverage is 100%; each parameter has a description in schema. Description reiterates filtering but adds little new meaning; 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?

Specific verb 'List' and resource 'workspace items (pages and databases)' clearly distinguishes from siblings like get_page, query_database, search_workspace.

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?

Clear context: list items, filter by parent, use pagination. No explicit when-not-to-use or alternatives, but purpose is straightforward.

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

move_itemA
Idempotent
Inspect

Move a sidebar item (page or database) to a new parent within the workspace. Pass null to move to workspace root.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesThe workspace item ID to move
newParentIdNoNew parent item ID. Pass null or omit to move to workspace root.

Output Schema

ParametersJSON Schema
NameRequiredDescription
movedYesWhether the item was moved
Behavior4/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds the specific behavior of moving and the effect of null parameter, providing good context beyond the annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the key action and resource. No wasted words; perfectly concise for the complexity.

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

Completeness5/5

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

Given the simple operation, an output schema is present (covering return values), and the description sufficiently covers the purpose, usage, and parameter nuances for a move 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 coverage is 100% with both parameters described. The description echoes the null behavior already in the schema, adding no new semantic information beyond what's in the input 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?

The description clearly states the action (move), the resource (sidebar item, page or database), and the scope (within the workspace). It distinguishes from siblings as no other tool is for moving items.

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 implicitly indicates when to use this tool (to change parent of a sidebar item) and provides a special case (null for root). No explicit exclusions or alternatives, but the context is clear given the sibling tools.

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

query_audit_logA
Read-only
Inspect

Query the MCP agent activity audit log for this workspace. Supports filtering by tool name, status, and date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd of date range (ISO 8601, e.g. "2025-12-31T23:59:59Z")
fromNoStart of date range (ISO 8601, e.g. "2025-01-01T00:00:00Z")
toolNoFilter by tool name (e.g. "create_page", "query_database")
limitNoMaximum results (default 50)
statusNoFilter by call status

Output Schema

ParametersJSON Schema
NameRequiredDescription
entriesYesAudit log entries, newest first
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds the ability to filter by tool name, status, and date range, which is behavior beyond the annotation. However, it does not disclose potential pagination or sorting behavior, which could be useful.

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 unnecessary words. It efficiently conveys the tool's core function and filtering capabilities.

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 5 parameters, output schema present, and annotations, the description covers the basic query and filtering. It could mention default ordering or that results are from recent activity, but overall it is adequate for a straightforward read-only 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 coverage is 100% with detailed parameter descriptions. The description reiterates filtering by tool, status, and date range but does not add new meaning beyond the schema. 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 verb 'Query' and resource 'MCP agent activity audit log' clearly specify the tool's action and object. The description distinguishes it from sibling tools (e.g., create_page, query_database) by focusing on auditing, which is unique.

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 implicitly indicates usage by stating it queries audit logs with filtering. It does not explicitly mention when to use this tool instead of others, but the purpose is clear and no siblings overlap, so context is sufficient.

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

query_databaseA
Read-only
Inspect

Get schema and rows of a database. Optionally filter rows by property values. Supports cursor-based pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows per page (default 50)
cursorNoPagination cursor from a previous response's nextCursor field
filtersNoFilter rows by property value, e.g. {"status": "Done"} or {"col_xxx": ["Tag1"]}
databaseIdYesDatabase ID (from list_workspace or search)

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYesMatching rows on this page
schemaNoDatabase column schema
hasMoreNoWhether more rows exist beyond this page
nextCursorNoCursor for the next page (present when hasMore)
Behavior4/5

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

Annotations declare readOnlyHint=true, so the agent knows it's safe. The description adds that the tool supports filtering and pagination, providing useful behavioral context beyond the annotations. It doesn't mention edge cases, but with good annotations and output schema, this is sufficient.

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

Conciseness5/5

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

The description is two sentences (20 words) and front-loaded with the main purpose. Every sentence adds value: first sentence states what it does, second sentence adds key optional features. No wasted words.

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 existence of an output schema and annotations, the description is mostly complete. It covers the main functionality (schema + rows, filtering, pagination). It could mention that cursor comes from previous response, but that is in the schema description. Overall, adequate for complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter (databaseId, limit, cursor, filters). The description only summarizes these features ('Optionally filter rows... Supports cursor-based pagination') without adding new details 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?

The description clearly states the verb ('Get') and resource ('schema and rows of a database'), which distinguishes it from sibling tools like get_database_schema (only schema) and search_workspace (search across workspace). It also mentions filtering and pagination, adding specificity.

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 indirectly indicates usage by mentioning optional filtering and cursor-based pagination, but does not explicitly state when to use this tool versus alternatives (e.g., get_database_schema for just schema, search_workspace for broader search). Clear context but no exclusions.

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

search_workspaceA
Read-only
Inspect

Search the workspace by title and content. Matches standalone pages, databases, and database rows (each row is a page) on their title or body text. Use it to locate an item before reading or updating it.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default 10)
queryYesText to match against item titles and content (case-insensitive substring)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYesMatching items
Behavior4/5

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

Annotations indicate readOnlyHint=true, and the description is consistent, describing a read-only search. It adds behavioral details like case-insensitive substring matching and the types of items searched, which adds value beyond the annotation.

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 comprised of two efficient sentences, front-loaded with the core purpose. Every sentence adds essential information without redundancy.

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

Completeness5/5

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

Given the presence of an output schema and low complexity, the description adequately covers the tool's behavior, use case, and scope. No gaps are apparent.

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 detailed descriptions for both parameters (query, limit). The tool description adds minimal extra meaning beyond the schema, such as clarifying that query matches title and body text, but the schema already states this. 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 tool description explicitly states it searches workspace by title and content, matching pages, databases, and rows. This clearly distinguishes it from sibling tools like get_page (read specific item) and list_workspace (list all).

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 advises using it to locate an item before reading or updating, providing clear context. While it doesn't explicitly list when not to use, the use case is well-defined and differentiated from siblings.

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

update_database_schemaA
Destructive
Inspect

Add or remove columns from a database schema. Removing columns is destructive (data loss) and requires confirm: true. The title column cannot be removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoRequired when removing columns. Set to true to confirm the destructive operation.
addColumnsNoColumns to add
databaseIdYesDatabase ID (from list_workspace or search)
removeColumnIdsNoColumn IDs to remove (use get_database_schema to find IDs). Cannot remove the title column.

Output Schema

ParametersJSON Schema
NameRequiredDescription
schemaYesThe new column schema after the change
updatedYesWhether the schema was updated
Behavior4/5

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

The description builds on annotations by specifying that removal requires confirm: true and that the title column cannot be removed. Since destructiveHint is already true, the description adds valuable operational details without contradiction.

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 with three short sentences, each providing essential information. No extraneous words, and the most critical details (add/remove, destructive nature, confirm, title constraint) are front-loaded.

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 description covers the core operations and constraints. It assumes the user knows to get column IDs via get_database_schema (mentioned in parameter description but not main description). With an output schema present, return value explanation is unnecessary. Could be more explicit about the ability to combine add and remove in one 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%, so the schema already documents all parameters well. The description adds context about the confirm requirement for removal but does not significantly enhance understanding beyond the schema's own 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 adds or removes columns from a database schema. It distinguishes from sibling tools like get_database_schema (read-only) and create_database (creation) by focusing specifically on schema mutation.

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 this tool (schema modification) and highlights the destructive nature of column removal with the confirm requirement. However, it does not explicitly contrast with alternatives like get_database_schema for finding column IDs, though that is indirectly mentioned in the removeColumnIds parameter description.

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

update_pageA
Idempotent
Inspect

Update an existing page or database row.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew title
pageIdYesThe workspace item ID or database row ID to update
contentNoNew markdown content
propertiesNoProperties to merge (for database rows)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesID of the updated page or row
updatedYesWhether the update was applied
Behavior3/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds no further behavioral traits; it is consistent but does not expand on permissions or side effects.

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

Conciseness5/5

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

Single sentence, no redundant words, efficiently communicates 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?

With full schema and output schema present, the description is sufficient for a simple update tool. Lacks explanation of the distinction between page and database row updates, but schema covers specifics.

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 parameters are well-documented. The description adds no additional meaning 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 action (update) and the resource (existing page or database row), distinguishing it from sibling tools like create_page or delete_page.

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 on when to use this tool versus alternatives like bulk_update_pages or create_page. The description lacks context for preferred usage or exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources