Skip to main content
Glama

Contentstack MCP Server

This Model Context Protocol (MCP) server integrates with Contentstack's Content Management API, enabling AI assistants like Claude to interact with your Contentstack CMS through a standardized protocol.

Note: This is an early version of Contentstack MCP Server. See the Roadmap for upcoming improvements and planned features.

Table of Contents

Related MCP server: mcp-clickup

Features

Available Resources

  • content-types: List all content types (URI: contentstack://content-types)

  • content-type: Get content type by UID (URI: contentstack://content-type/{uid})

  • entries: Get entries by content type (URI: contentstack://entries/{content_type_uid})

  • entry: Get specific entry (URI: contentstack://entry/{content_type_uid}/{entry_uid})

  • assets: List all assets (URI: contentstack://assets)

Content Type Management

  • Create, update, and delete content types

  • Define schemas, options, field rules, and taxonomies

  • Manage global fields

Entry Management

  • Create, update, and delete entries

  • Publish and unpublish entries across environments

  • Query entries with filtering, pagination, and sorting options

Global Field Management

  • Create and update global fields for reuse across content types

  • Retrieve global fields with pagination options

Content Workflows

  • Guided content creation workflows

  • Content analysis and insights

  • Migration planning assistance

Installation

Prerequisites

  • Node.js (v16.0.0 or higher)

  • A Contentstack account

  • API credentials (API Key and Management Token)

NPM Installation

The easiest way to use this MCP server is via NPM:

# Install globally
npm install -g @drossman/contentstack-mcp

# Or use directly via npx
npx @drossman/contentstack-mcp

Manual Installation

  1. Clone the repository:

    git clone https://github.com/darekrossman/contentstack-mcp.git
    cd contentstack-mcp
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.example .env

    Edit the .env file with your Contentstack credentials:

    CONTENTSTACK_API_KEY=your_api_key_here
    CONTENTSTACK_MANAGEMENT_TOKEN=your_management_token_here
    # Optional: Specify branch if using branches
    CONTENTSTACK_BRANCH=your_branch_name
  4. Build and start the server:

    npm run build
    npm start

Installation via Smithery CLI

You can also install this MCP server using the Smithery CLI:

npx @smithery/cli install contentstack-mcp --client claude

See the Smithery CLI documentation for more details and advanced usage.

Development

Setup for Development

For development, you can use:

npm run dev

This starts the server using ts-node for a faster development cycle.

Code Quality

This project uses Biome.js for linting and formatting. It provides a consistent code style and helps catch potential issues early.

Available Commands

  • Lint Code:

    npm run lint
  • Lint and Fix:

    npm run lint:fix
  • Format Code:

    npm run format
  • Format and Fix:

    npm run format:fix

Configuration

Authentication

This server requires authentication with Contentstack's API:

Management Token (Required):

  • Stack-level token with predefined permissions

  • Set via CONTENTSTACK_MANAGEMENT_TOKEN environment variable

  • Generate from Contentstack dashboard: Settings > Tokens > Management Tokens

API Key (Required):

  • Stack API key for authentication

  • Set via CONTENTSTACK_API_KEY environment variable

Branch Support

If your Contentstack account uses branches, you can specify a branch:

CONTENTSTACK_BRANCH=develop

Integration with AI Assistants

Claude for Desktop

To use this server with Claude for Desktop:

  1. Edit your Claude for Desktop configuration file:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add this server to the mcpServers section:

    {
      "mcpServers": {
        "contentstack": {
          "command": "npx",
          "args": ["-y", "@drossman/contentstack-mcp"],
          "env": {
            "CONTENTSTACK_API_KEY": "your_api_key_here",
            "CONTENTSTACK_MANAGEMENT_TOKEN": "your_management_token_here"
          }
        }
      }
    }
  3. Restart Claude for Desktop

Cursor

To use this server with Cursor, add the Contentstack MCP server configuration:

{
   "mcpServers": {
      "contentstack": {
      "command": "npx",
      "args": ["-y", "@drossman/contentstack-mcp"],
      "env": {
         "CONTENTSTACK_API_KEY": "your_api_key_here",
         "CONTENTSTACK_MANAGEMENT_TOKEN": "your_management_token_here",
      }
      }
   }
}

Install with Smithery

You can also install this MCP server using the Smithery CLI using your client of choice:

npx -y @smithery/cli install @drossman/contentstack-mcp --client claude

Available clients include:

  • claude

  • cline

  • windsurf

  • roocode

  • witsy

  • enconvo

  • cursor

  • vscode

  • vscode-insiders

  • boltai

  • amazon-bedrock

  • amazonq

See the Smithery CLI documentation for more details and advanced usage.

Roadmap

  • Enhanced AI Contextual Understanding: Improve context provisioning for complex queries

  • Advanced Querying & Filtering: Support filtering by multiple criteria and custom fields

  • Workflow & Publishing Automation: Enable AI-driven content workflow actions

  • Asset Management Enhancements: Add direct asset manipulation capabilities

  • Bulk Operations Support: Implement batch operations for entries and assets

  • Improved Error Handling & AI Feedback: Refine error messages for AI consumption

  • User-Specific Context & Permissions: Tailor actions based on user permissions

  • Extensibility for Custom Tools: Create an extension framework

  • Real-time Event Handling: Add webhook support for reactive AI behaviors

  • Comprehensive Documentation: Develop detailed guides for AI interaction

Shoutout

Special thanks to Ivo Toby. This project and its author are heavily inspired by his work in this space.

License

MIT


Disclaimer: This project is not affiliated with, endorsed by, or supported by Contentstack. It is an independent open-source project designed to work with the Contentstack API.

Available Tools

15 tools
create_content_typeC

Creates a new content type with the specified schema, options, field rules, and taxonomies.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_rulesNoField visibility rules for showing/hiding fields based on conditions
optionsNoContent type options like webpage/content block settings and URL patterns
schemaYesArray of schema fields defining the content structure. Each field object should include properties like: - display_name: Field display name - uid: Unique identifier for the field - data_type: Type of data (text, number, boolean, file, etc.) - field_metadata: Additional metadata for the field - multiple: Whether field accepts multiple values - mandatory: Whether field is required - unique: Whether field values must be unique
taxonomiesNoTaxonomies to associate with this content type
titleYesContent type title
uidYesContent type UID (unique identifier)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'creates' implies a write operation, it doesn't specify permissions needed, whether this is a destructive operation (overwrites existing content types with same UID?), what happens on success/failure, or any rate limits. The description mentions components like 'schema, options, field rules, and taxonomies' but doesn't explain their behavioral implications.

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

Conciseness5/5

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

The description is a single, well-structured sentence that efficiently communicates the core functionality. It front-loads the main action ('Creates a new content type') and lists the key components without unnecessary elaboration. Every word earns its place.

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

Completeness2/5

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

For a complex creation tool with 6 parameters (including nested objects), no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after creation (e.g., returns the created content type object?), error conditions, or how this tool integrates with the broader content management system represented by sibling tools.

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

Parameters3/5

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

The description lists the main parameter categories (schema, options, field rules, taxonomies) which adds some semantic context beyond the schema. However, with 100% schema description coverage, the schema already documents all 6 parameters thoroughly. The description doesn't add significant parameter-specific details like format examples, constraints, or relationships between parameters.

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

Purpose4/5

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

The description clearly states the verb 'creates' and the resource 'new content type', specifying what the tool does. It distinguishes from siblings like 'update_content_type' by focusing on creation rather than modification. However, it doesn't explicitly differentiate from 'create_entry' or 'create_global_field' in terms of resource type hierarchy.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when not to use it, or how it relates to sibling tools like 'create_entry' (which likely creates entries within content types) or 'create_global_field' (which might create reusable fields).

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

create_entryC

Creates a new entry for a specified content type.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entryYesEntry data according to content type schema

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Creates', implying a write operation, but doesn't disclose behavioral traits such as permissions required, whether it's idempotent, error handling, or what happens on success (e.g., returns an ID). This is inadequate for a mutation tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly, though it lacks detail due to its brevity.

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

Completeness2/5

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

Given the complexity of a creation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what an 'entry' is, the expected outcome, or error conditions, leaving significant gaps for the agent to operate effectively in this context.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for both parameters ('content_type_uid' and 'entry'). The description adds no additional meaning beyond the schema, such as explaining the relationship between content type and entry data, so it meets the baseline for high schema coverage without compensating value.

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

Purpose3/5

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

The description states the action ('Creates') and resource ('new entry for a specified content type'), which is clear but vague. It doesn't specify what an 'entry' represents in this context or differentiate from sibling tools like 'create_content_type' or 'create_global_field', leaving ambiguity about the scope of creation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention prerequisites like needing a content type first, or contrast with tools like 'update_entry' or 'publish_entry', leaving the agent to infer usage from context alone.

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

create_global_fieldC

Creates a new global field with the specified title, UID, and schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesArray of schema fields defining the global field structure. Each field object should include properties like: - display_name: Field display name - uid: Unique identifier for the field - data_type: Type of data (text, number, boolean, file, etc.) - field_metadata: Additional metadata for the field - multiple: Whether field accepts multiple values - mandatory: Whether field is required - unique: Whether field values must be unique
titleYesGlobal field title
uidYesGlobal field UID (unique identifier)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool creates a new global field but doesn't mention whether this is a destructive operation, what permissions are required, if there are rate limits, or what happens on success/failure. For a creation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and implications.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose and parameters. It's front-loaded with the core action and avoids unnecessary details, making it easy to parse quickly. Every word contributes to understanding the tool's function.

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

Completeness2/5

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

Given the complexity of creating a global field with three required parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like error handling, authentication needs, or what the tool returns upon success. For a creation tool in a system with multiple resource types, more context is needed to guide proper usage.

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

Parameters3/5

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

The description lists the parameters (title, UID, schema) but doesn't add meaning beyond what the input schema provides. Since schema description coverage is 100%, the schema already documents these parameters thoroughly. The description doesn't explain parameter interactions, constraints, or provide examples, so it meets the baseline for high schema coverage without adding extra value.

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

Purpose4/5

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

The description clearly states the action ('creates') and resource ('new global field'), making the purpose evident. It distinguishes this tool from siblings like 'update_global_field' by specifying creation rather than modification. However, it doesn't explicitly differentiate from 'create_content_type' or 'create_entry', which are similar creation operations for different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_content_type' or 'create_entry'. It mentions the required parameters but doesn't indicate prerequisites, such as whether a global field must be unique or if there are constraints on UID format. No explicit when-not-to-use scenarios or comparisons with sibling tools are included.

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

delete_content_typeC

Deletes a content type identified by its UID.

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYesContent type UID to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool deletes a content type but lacks critical details: whether deletion is permanent/reversible, permission requirements, impact on associated entries/fields, error handling, or response format. This is inadequate for a destructive operation.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, directly stating the tool's core function without unnecessary elaboration.

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

Completeness2/5

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

For a destructive tool with no annotations and no output schema, the description is incomplete. It fails to address safety concerns, behavioral implications, or result expectations, leaving significant gaps for an AI agent to understand the tool's full context and risks.

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 the 'uid' parameter fully. The description adds no additional meaning beyond what the schema provides (e.g., format examples, validation rules). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Deletes') and target resource ('a content type identified by its UID'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'delete_entry' or 'update_content_type', which would require a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'update_content_type' or 'delete_entry', nor does it mention prerequisites (e.g., content type must exist, no dependencies). It only states what the tool does, not when to invoke it.

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

delete_entryC

Deletes an entry identified by its UID and content type UID.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entry_uidYesEntry UID to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral context. It states the destructive action ('Deletes') but doesn't cover critical aspects like permissions required, whether deletion is permanent/reversible, error conditions, or side effects. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and directly states the required identifiers.

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

Completeness2/5

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

For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks essential context about permissions, consequences, error handling, and how it relates to sibling operations (e.g., whether deletion affects published status). The 100% schema coverage doesn't compensate for these behavioral 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%, with both parameters clearly documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., no format examples, validation rules, or relationship between the two UIDs). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Deletes') and the resource ('an entry'), specifying it's identified by UID and content type UID. It distinguishes from siblings like 'delete_content_type' by focusing on entries, but doesn't explicitly differentiate from other entry-related tools like 'unpublish_entry' or 'update_entry'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., entry must exist), exclusions (e.g., cannot delete published entries), or relationships with siblings like 'unpublish_entry' or 'delete_content_type'.

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

get_all_content_typesC

Retrieves a list of all content types, with options for pagination and including additional details like global field schema and counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_branch_infoNoInclude branch information in response
include_countNoInclude total count of content types
include_global_field_schemaNoInclude global field schemas
include_reference_content_type_uidNoInclude content type UIDs in references
limitNoNumber of content types to return (max 100)
skipNoNumber of content types to skip (for pagination)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions pagination options and inclusion of additional details, it doesn't address important behavioral aspects like rate limits, authentication requirements, error conditions, response format, or whether this is a read-only operation (though implied by 'retrieves'). The description provides some context but leaves significant gaps.

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

Conciseness4/5

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

The description is a single, well-structured sentence that efficiently communicates the core functionality and key features. It's appropriately sized and front-loaded with the main purpose. Every element earns its place, though it could potentially be slightly more concise by removing 'like' before the examples.

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 6 parameters with 100% schema coverage but no annotations and no output schema, the description provides adequate but incomplete context. It covers the main functionality and parameter categories but lacks behavioral details needed for a read operation with multiple options. The absence of output schema means the description should ideally say more about what gets returned, but it doesn't.

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, the baseline is 3. The description mentions 'options for pagination' (mapping to limit/skip) and 'including additional details like global field schema and counts' (mapping to include_global_field_schema, include_count, and related parameters). It adds some high-level grouping of parameters but doesn't provide additional semantic context beyond what's already well-documented in the schema.

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

Purpose4/5

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

The description clearly states the verb ('Retrieves') and resource ('list of all content types'), making the purpose immediately understandable. It distinguishes from siblings like 'get_content_type' (singular) by specifying 'all content types', but doesn't explicitly contrast with other list tools like 'get_all_global_fields' beyond the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_content_type' for single content types, or how it relates to other list operations like 'get_all_global_fields'. There's no context about prerequisites, timing, or use case scenarios.

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

get_all_global_fieldsC

Retrieves a list of all global fields, with options for pagination and including branch information.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_branch_infoNoInclude branch information in response
include_countNoInclude total count of global fields
limitNoNumber of global fields to return (max 100)
skipNoNumber of global fields to skip (for pagination)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only mentions pagination and branch info options. It doesn't disclose whether this is a read-only operation, potential rate limits, authentication requirements, or what the response structure looks like (especially critical without an output schema).

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose and briefly mentions key features. Every word serves a purpose with no redundancy or unnecessary elaboration.

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

Completeness2/5

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

For a list retrieval tool with 4 parameters and no output schema, the description is insufficient. It doesn't explain the return format, what 'global fields' represent in this context, or how results are ordered. Without annotations or output schema, more behavioral context is needed for proper agent usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters. The description adds minimal value by mentioning 'pagination' (implied by limit/skip) and 'including branch information' (matching include_branch_info), but doesn't provide additional context beyond what's in the schema.

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

Purpose4/5

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

The description clearly states the verb 'retrieves' and resource 'global fields', making the purpose unambiguous. It distinguishes from siblings like 'get_global_field' (singular) by specifying 'all global fields', though it doesn't explicitly contrast with other list operations like 'get_all_content_types'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_global_field' or other list operations. The description mentions pagination and branch info options but doesn't specify use cases or prerequisites for invoking this tool.

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

get_content_typeB

Retrieves a specific content type by its UID, optionally including the global field schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_global_field_schemaNoInclude global field schemas
uidYesContent type UID to retrieve

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data, implying a read-only operation, but doesn't specify if it requires authentication, rate limits, error handling, or what the return format looks like (e.g., JSON structure). For a retrieval tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Retrieves a specific content type by its UID') and adds an optional feature ('optionally including the global field schema'). There is no wasted text, and it's appropriately sized for a simple retrieval tool.

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

Completeness3/5

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

Given the tool's low complexity (2 parameters, no nested objects) and high schema coverage, the description is minimally adequate. However, with no output schema and no annotations, it lacks details on return values, error cases, or behavioral traits. For a retrieval tool in a set with many siblings, more context on output format or integration would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for both parameters in the schema: 'uid' as the content type UID to retrieve and 'include_global_field_schema' as a boolean to include global field schemas. The description adds minimal value beyond the schema by mentioning the optional inclusion of global field schema, but doesn't provide additional context like format examples or usage tips. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb 'retrieves' and the resource 'specific content type by its UID', which is specific and actionable. It distinguishes from siblings like 'get_all_content_types' by specifying retrieval of a single item rather than listing all. However, it doesn't explicitly differentiate from 'get_entry' or other get_* tools beyond the resource name.

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

Usage Guidelines3/5

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

The description implies usage by mentioning retrieval of a content type by UID, which suggests this tool is for fetching a single known content type. It doesn't provide explicit guidance on when to use this vs. alternatives like 'get_all_content_types' for listing or 'get_entry' for entries, nor does it mention prerequisites or exclusions, leaving usage context somewhat implied.

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

get_entriesC

Retrieves entries for a specified content type, with extensive options for filtering, sorting, pagination, and including related data.

ParametersJSON Schema
NameRequiredDescriptionDefault
ascNoSort entries in ascending order by the specified field UID
content_type_uidYesContent type UID to fetch entries from
descNoSort entries in descending order by the specified field UID
exceptNoExclude specified top-level fields from the response
include_countNoInclude total count of entries
include_global_field_schemaNoInclude global field schema
include_metadataNoInclude metadata in the response
include_ownerNoInclude owner information in the response
include_publish_detailsNoInclude publish details in the response
include_referenceNoReferences to include
include_reference_content_type_uidNoInclude content type UIDs in references
include_schemaNoInclude content type schema
limitNoNumber of entries to return (max 100)
localeNoLocale code (e.g., 'en-us')
onlyNoInclude only specified top-level fields in the response
queryNoQuery in JSON format to filter entries
skipNoNumber of entries to skip (for pagination)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but lacks behavioral details. It mentions filtering, sorting, pagination, and including related data, but doesn't disclose rate limits, authentication requirements, error conditions, or response format. For a read operation with 17 parameters, this leaves significant gaps in understanding how the tool behaves.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose and lists key capabilities. It avoids redundancy and wastes no words, though it could be slightly more structured by separating different functional aspects.

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

Completeness2/5

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

For a complex tool with 17 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return format, error handling, or practical usage examples. Given the richness of the input schema and lack of other structured data, more context is needed to guide effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 17 parameters. The description adds minimal value by summarizing the types of options (filtering, sorting, pagination, including related data) but doesn't provide additional syntax, format, or usage details beyond what's in the schema. This meets the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the verb ('retrieves') and resource ('entries for a specified content type'), making the purpose evident. It distinguishes from siblings like 'get_entry' (singular) by implying multiple entries, but doesn't explicitly contrast with 'get_all_content_types' or 'get_content_type' which retrieve different resources.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_entry' (for a single entry) or 'get_all_content_types' (for content types rather than entries). The description mentions extensive options but doesn't specify scenarios or prerequisites for usage.

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

get_entryA

Retrieves a specific entry by its content type UID and entry UID, with options for locale and including references.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entry_uidYesEntry UID to retrieve
include_reference_content_type_uidNoInclude content type UIDs in references
include_referencesNoReferences to include
localeNoLocale code (e.g., 'en-us')

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool retrieves data (implied read-only) and includes options for locale and references, but lacks details on error handling, permissions, rate limits, or response format. It adds some context but doesn't fully compensate for the missing annotation coverage.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core purpose and efficiently lists key options. Every word earns its place with no redundancy or unnecessary elaboration, making it highly concise and easy to parse.

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 5 parameters, no annotations, and no output schema, the description is adequate but incomplete. It covers the basic purpose and hints at parameter usage, but lacks details on behavioral traits, error cases, or return values, which are important for a retrieval tool with multiple options.

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 thoroughly. The description adds minimal value by mentioning 'options for locale and including references,' which loosely maps to parameters but doesn't provide additional syntax or usage details beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the specific action ('Retrieves'), the resource ('a specific entry'), and the key identifiers ('by its content type UID and entry UID'). It distinguishes from sibling tools like 'get_entries' (plural retrieval) and 'get_content_type' (different resource type), making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage when you need a single entry with optional locale and reference handling, but it doesn't explicitly state when to use this versus alternatives like 'get_entries' for multiple entries or other retrieval tools. No exclusions or prerequisites are mentioned, leaving some ambiguity.

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

publish_entryC

Publishes an entry to a specified environment and locale.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entry_uidYesEntry UID to publish
environmentYesEnvironment to publish to
localeNoLocale code (defaults to en-us)en-us

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the action ('Publishes') which implies a write/mutation operation, but doesn't disclose behavioral traits like whether publishing is reversible, requires specific permissions, affects entry status, or has side effects. The description is minimal and lacks operational context.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and includes all essential elements (verb, resource, target). Every word earns its place without redundancy or fluff.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a mutation tool. It doesn't explain what happens after publishing (e.g., entry availability, response format), error conditions, or dependencies. For a tool that likely changes system state, more context is needed beyond the basic action.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond the schema—it doesn't explain parameter relationships, constraints, or usage examples. Baseline 3 is appropriate as the schema handles parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('Publishes') and the resource ('an entry'), specifying the target ('to a specified environment and locale'). It distinguishes from sibling tools like 'unpublish_entry' by indicating the opposite action, but doesn't explicitly differentiate from other publishing-related tools if they existed.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., entry must exist), exclusions, or compare with sibling tools like 'create_entry' or 'update_entry' in a publishing workflow. Usage context is implied but not stated.

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

unpublish_entryC

Unpublishes an entry from a specified environment and locale.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entry_uidYesEntry UID to unpublish
environmentYesEnvironment to unpublish from
localeNoLocale code (defaults to en-us)en-us

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('unpublishes') but doesn't clarify if this is reversible, requires specific permissions, affects related data, or has side effects like rate limits. This leaves significant gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action and context. There is no wasted verbiage, making it easy to parse quickly.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., reversibility, permissions), error handling, or return values, which are critical for safe and effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or constraints. Baseline 3 is appropriate as the schema handles the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('unpublishes') and resource ('an entry'), specifying the context ('from a specified environment and locale'). It distinguishes from siblings like 'publish_entry' by indicating the opposite operation, though it doesn't explicitly contrast with other deletion or update tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'delete_entry' or 'update_entry'. The description mentions the context (environment and locale) but doesn't specify prerequisites, exclusions, or scenarios for choosing this over other tools.

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

update_content_typeC

Updates an existing content type identified by its UID. Allows modification of title, schema, options, and field rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_rulesNoField visibility rules for showing/hiding fields based on conditions
optionsNoContent type options like webpage/content block settings and URL patterns
schemaNoArray of schema fields defining the content structure. Each field object should include properties like: - display_name: Field display name - uid: Unique identifier for the field - data_type: Type of data (text, number, boolean, file, etc.) - field_metadata: Additional metadata for the field - multiple: Whether field accepts multiple values - mandatory: Whether field is required - unique: Whether field values must be unique
titleNoNew content type title
uidYesContent type UID to update

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it correctly identifies this as an update/mutation operation, it doesn't disclose important behavioral traits: whether this requires specific permissions, whether changes are reversible, what happens to existing entries when schema changes, or what the response looks like. For a mutation tool affecting content structure with no annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose and lists the modifiable components. Every word earns its place with zero waste or redundancy. It's appropriately sized for the tool's complexity.

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

Completeness2/5

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

For a mutation tool with 5 parameters (including complex nested objects), no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or response format. While the schema covers parameter details well, the description fails to provide the contextual completeness needed for safe and effective tool invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description lists the four modifiable aspects (title, schema, options, field rules) which correspond to parameters, but doesn't add meaningful semantic context beyond what's in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Updates') and resource ('existing content type identified by its UID'), and specifies what can be modified ('title, schema, options, and field rules'). It distinguishes from 'create_content_type' by specifying 'existing' content type, but doesn't explicitly differentiate from 'update_entry' or 'update_global_field' which operate on different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'update_entry' or 'update_global_field'. It doesn't mention prerequisites (e.g., needing the UID of an existing content type) or when not to use it. The only implicit guidance is that it updates existing content types, but this is already covered in purpose clarity.

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

update_entryC

Updates an existing entry identified by its UID and content type UID.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_type_uidYesContent type UID
entryYesUpdated entry data
entry_uidYesEntry UID to update

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool updates an entry but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, error handling (e.g., if UID is invalid), or side effects (e.g., impact on published status). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It front-loads the core action ('Updates an existing entry') and includes essential identifiers. Every word earns its place, making it appropriately sized and well-structured.

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

Completeness2/5

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

Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., permissions, side effects), usage context, and return values. While the schema covers parameters, the overall context for safe and effective use is insufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the three parameters (content_type_uid, entry_uid, entry). The description adds minimal value by mentioning identification by UID and content type UID, but doesn't provide additional semantics beyond what the schema already specifies (e.g., format of UIDs, structure of entry data). Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Updates') and resource ('an existing entry'), specifying identification by UID and content type UID. It distinguishes from siblings like create_entry, delete_entry, and get_entry by focusing on modification rather than creation, deletion, or retrieval. However, it doesn't explicitly differentiate from update_content_type or update_global_field beyond the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., entry must exist), exclusions (e.g., not for new entries), or comparisons to siblings like publish_entry/unpublish_entry for workflow states. Usage is implied by the action but lacks explicit context.

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

update_global_fieldB

Updates an existing global field identified by its UID. Allows modification of title and schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaNoUpdated schema fields defining the global field structure. Each field object should include properties like: - display_name: Field display name - uid: Unique identifier for the field - data_type: Type of data (text, number, boolean, file, etc.) - field_metadata: Additional metadata for the field - multiple: Whether field accepts multiple values - mandatory: Whether field is required - unique: Whether field values must be unique
titleNoNew global field title
uidYesGlobal field UID to update

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states this is an update operation, implying mutation, but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, potential side effects on existing data, or error handling. The description adds minimal context beyond the basic action.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action and key parameters. Every word earns its place with no redundancy or unnecessary elaboration, making it easy to parse quickly.

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

Completeness2/5

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

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on permissions, side effects, return values, or error conditions, which are critical for safe and effective use. The schema covers parameters well, but behavioral context is insufficient for a tool that modifies data.

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 three parameters (uid, title, schema) with detailed descriptions. The description adds marginal value by mentioning that title and schema can be modified, but doesn't provide additional semantics beyond what's in the schema, such as format constraints or examples.

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

Purpose4/5

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

The description clearly states the verb ('Updates') and resource ('an existing global field identified by its UID'), and specifies what can be modified ('title and schema'). It distinguishes from siblings like 'create_global_field' by focusing on updates, but doesn't explicitly contrast with 'update_content_type' or 'update_entry' which update different 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?

The description implies usage when modifying an existing global field's title or schema, but provides no explicit guidance on when to use this versus alternatives like 'create_global_field' for new fields or 'update_content_type' for content type updates. It mentions the UID requirement, which hints at prerequisite identification.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific resources (content types, entries, global fields) and actions (create, get, update, delete, publish/unpublish). There is no overlap or ambiguity; for example, get_all_content_types vs. get_content_type are clearly differentiated by scope.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with underscores (e.g., create_content_type, get_entries, update_global_field). The naming is predictable and uniform across all 15 tools, making it easy for agents to understand and use them.

Tool Count5/5

With 15 tools, this server is well-scoped for content management operations. Each tool earns its place by covering essential CRUD and lifecycle actions for content types, entries, and global fields, without being overly bloated or sparse.

Completeness5/5

The tool surface provides complete CRUD and lifecycle coverage for the content management domain. It includes create, get, update, and delete for all core resources (content types, entries, global fields), plus publishing/unpublishing for entries, with no obvious gaps that would hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/darekrossman/contentstack-mcp'

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