contentstack-mcp
The Contentstack MCP Server integrates with Contentstack's Content Management API, enabling AI assistants like Claude to interact with a Contentstack CMS via the MCP protocol. Its capabilities include:
Content Type Management: List, create, retrieve, update, and delete content types with detailed schemas, options, field rules, and taxonomies
Entry Management: List, create, retrieve, update, delete, publish, and unpublish entries with filtering, sorting, and pagination
Global Field Management: List, create, update, and retrieve global fields for reuse across content types
Asset Management: List and manage assets programmatically
Workflow Automation: Facilitate guided content creation workflows and provide content analysis
Branch Support: Manage content across different branches
Integration with AI Assistants: Connect with tools like Claude for Desktop and Cursor
Extensibility: Configure for custom use cases and integrations
Uses Biome.js for linting and formatting, providing code style consistency and early issue detection in the development workflow.
Integrates with Contentstack's Content Management API, enabling interaction with content types, entries, assets, global fields, and content workflows. Supports creating, updating, deleting and publishing content in the Contentstack CMS.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@contentstack-mcpshow me the latest blog posts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpManual Installation
Clone the repository:
git clone https://github.com/darekrossman/contentstack-mcp.git cd contentstack-mcpInstall dependencies:
npm installSet up environment variables:
cp .env.example .envEdit the
.envfile 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_nameBuild 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 claudeSee the Smithery CLI documentation for more details and advanced usage.
Development
Setup for Development
For development, you can use:
npm run devThis 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 lintLint and Fix:
npm run lint:fixFormat Code:
npm run formatFormat 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_TOKENenvironment variableGenerate from Contentstack dashboard: Settings > Tokens > Management Tokens
API Key (Required):
Stack API key for authentication
Set via
CONTENTSTACK_API_KEYenvironment variable
Branch Support
If your Contentstack account uses branches, you can specify a branch:
CONTENTSTACK_BRANCH=developIntegration with AI Assistants
Claude for Desktop
To use this server with Claude for Desktop:
Edit your Claude for Desktop configuration file:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this server to the
mcpServerssection:{ "mcpServers": { "contentstack": { "command": "npx", "args": ["-y", "@drossman/contentstack-mcp"], "env": { "CONTENTSTACK_API_KEY": "your_api_key_here", "CONTENTSTACK_MANAGEMENT_TOKEN": "your_management_token_here" } } } }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 claudeAvailable 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 toolscreate_content_typeC
Creates a new content type with the specified schema, options, field rules, and taxonomies.
| Name | Required | Description | Default |
|---|---|---|---|
| field_rules | No | Field visibility rules for showing/hiding fields based on conditions | |
| options | No | Content type options like webpage/content block settings and URL patterns | |
| schema | Yes | Array 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 | |
| taxonomies | No | Taxonomies to associate with this content type | |
| title | Yes | Content type title | |
| uid | Yes | Content type UID (unique identifier) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry | Yes | Entry data according to content type schema |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | Yes | Array 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 | |
| title | Yes | Global field title | |
| uid | Yes | Global field UID (unique identifier) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Content type UID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry_uid | Yes | Entry UID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| include_branch_info | No | Include branch information in response | |
| include_count | No | Include total count of content types | |
| include_global_field_schema | No | Include global field schemas | |
| include_reference_content_type_uid | No | Include content type UIDs in references | |
| limit | No | Number of content types to return (max 100) | |
| skip | No | Number of content types to skip (for pagination) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| include_branch_info | No | Include branch information in response | |
| include_count | No | Include total count of global fields | |
| limit | No | Number of global fields to return (max 100) | |
| skip | No | Number of global fields to skip (for pagination) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| include_global_field_schema | No | Include global field schemas | |
| uid | Yes | Content type UID to retrieve |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| asc | No | Sort entries in ascending order by the specified field UID | |
| content_type_uid | Yes | Content type UID to fetch entries from | |
| desc | No | Sort entries in descending order by the specified field UID | |
| except | No | Exclude specified top-level fields from the response | |
| include_count | No | Include total count of entries | |
| include_global_field_schema | No | Include global field schema | |
| include_metadata | No | Include metadata in the response | |
| include_owner | No | Include owner information in the response | |
| include_publish_details | No | Include publish details in the response | |
| include_reference | No | References to include | |
| include_reference_content_type_uid | No | Include content type UIDs in references | |
| include_schema | No | Include content type schema | |
| limit | No | Number of entries to return (max 100) | |
| locale | No | Locale code (e.g., 'en-us') | |
| only | No | Include only specified top-level fields in the response | |
| query | No | Query in JSON format to filter entries | |
| skip | No | Number of entries to skip (for pagination) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry_uid | Yes | Entry UID to retrieve | |
| include_reference_content_type_uid | No | Include content type UIDs in references | |
| include_references | No | References to include | |
| locale | No | Locale code (e.g., 'en-us') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry_uid | Yes | Entry UID to publish | |
| environment | Yes | Environment to publish to | |
| locale | No | Locale code (defaults to en-us) | en-us |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry_uid | Yes | Entry UID to unpublish | |
| environment | Yes | Environment to unpublish from | |
| locale | No | Locale code (defaults to en-us) | en-us |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| field_rules | No | Field visibility rules for showing/hiding fields based on conditions | |
| options | No | Content type options like webpage/content block settings and URL patterns | |
| schema | No | Array 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 | |
| title | No | New content type title | |
| uid | Yes | Content type UID to update |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type_uid | Yes | Content type UID | |
| entry | Yes | Updated entry data | |
| entry_uid | Yes | Entry UID to update |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | No | Updated 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 | |
| title | No | New global field title | |
| uid | Yes | Global field UID to update |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
A basic MCP server to operate on the Postman API.
The official MCP Server for the Mux API
Related MCP Servers
- AlicenseCqualityDmaintenanceUpdate, create, delete content, content-models and assets in your Contentful Space409962MIT
- MIT

Contentfulofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with comprehensive tools to interact with Contentful APIs.13960MIT- AlicenseCqualityDmaintenanceA Storyblok MCP Server built on TypeScript with more than 130+ Actions1008MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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