Skip to main content
Glama

콘텐츠가 풍부한 MCP 서버

대장간 배지

Contentful의 콘텐츠 관리 API와 통합되어 포괄적인 콘텐츠 관리 기능을 제공하는 MCP 서버 구현입니다.

  • 주의 사항 *; 코드에 관심이 없고 Claude Desktop(또는 MCP 서버를 사용할 수 있는 다른 도구)에서 이 MCP를 사용하려는 경우 이 저장소를 복제할 필요가 없으며 Claude Desktop에서 설정하기만 하면 됩니다. 설치 방법에 대한 지침은 "Claude Desktop 사용" 섹션을 참조하세요.

특징

  • 콘텐츠 관리 : 항목 및 자산에 대한 전체 CRUD 작업

  • 공간 관리 : 공간과 환경을 생성, 업데이트 및 관리합니다.

  • 콘텐츠 유형 : 콘텐츠 유형 정의 관리

  • 현지화 : 여러 로캘 지원

  • 게시 : 콘텐츠 게시 워크플로 제어

  • 대량 작업 : 여러 항목 및 자산에 대한 대량 게시, 게시 취소 및 검증을 실행합니다.

  • 스마트 페이징 : 목록 작업은 컨텍스트 창 오버플로를 방지하기 위해 요청당 최대 3개 항목을 반환하며, 내장된 페이징 지원이 제공됩니다.

Related MCP server: Storyblok MCP Server

쪽수 매기기

LLM에서 컨텍스트 창 오버플로를 방지하기 위해 목록 작업(예: search_entries 및 list_assets)은 요청당 3개 항목으로 제한됩니다. 각 응답에는 다음이 포함됩니다.

  • 사용 가능한 항목의 총 수

  • 현재 항목 페이지(최대 3개)

  • 남은 항목 수

  • 다음 페이지로 건너뛰기 값

  • LLM에 추가 항목 검색을 제안하는 메시지

이 페이지 분할 시스템을 사용하면 LLM이 컨텍스트 창 제한을 유지하면서도 대규모 데이터 세트를 효율적으로 처리할 수 있습니다.

대량 작업

대량 작업 기능은 여러 콘텐츠 항목을 동시에 효율적으로 관리할 수 있도록 해줍니다.

  • 비동기 처리 : 작업이 비동기적으로 실행되고 상태 업데이트를 제공합니다.

  • 효율적인 콘텐츠 관리 : 단일 API 호출로 여러 항목 또는 자산 처리

  • 상태 추적 : 성공 및 실패 횟수를 통해 진행 상황을 모니터링합니다.

  • 리소스 최적화 : API 호출을 줄이고 일괄 작업의 성능을 향상시킵니다.

이러한 대량 작업 도구는 콘텐츠 마이그레이션, 대량 업데이트 또는 일괄 게시 워크플로에 이상적입니다.

도구

출입 관리

  • search_entries : 쿼리 매개변수를 사용하여 항목 검색

  • create_entry : 새 항목 만들기

  • get_entry : 기존 항목 검색

  • update_entry : 항목 필드 업데이트

  • delete_entry : 항목 제거

  • publish_entry : 항목 게시

  • unpublish_entry : 항목 게시 취소

대량 작업

  • bulk_publish : 단일 작업으로 여러 항목과 에셋을 게시합니다. 엔터티(항목 및 에셋) 배열을 받아서 일괄적으로 게시합니다.

  • bulk_unpublish : 여러 항목과 에셋을 한 번에 게시 취소합니다. bulk_publish와 유사하지만 전송 API에서 콘텐츠를 제거합니다.

  • bulk_validate : 콘텐츠 일관성, 참조 및 필수 필드에 대해 여러 항목의 유효성을 검사합니다. 콘텐츠를 수정하지 않고 유효성 검사 결과를 반환합니다.

자산 관리

  • list_assets : 페이지별로 자산 목록 표시(페이지당 3개 항목)

  • upload_asset : 메타데이터를 포함한 새로운 자산 업로드

  • get_asset : 자산 세부 정보 및 정보를 검색합니다.

  • update_asset : 자산 메타데이터 및 파일 업데이트

  • delete_asset : 공간에서 자산 제거

  • publish_asset : 전달 API에 자산 게시

  • unpublish_asset : 전달 API에서 자산 게시 취소

우주 및 환경 관리

  • list_spaces : 사용 가능한 공간 나열

  • get_space : 공간 세부 정보 가져오기

  • list_environments : 공간의 환경 나열

  • create_environment : 새로운 환경을 생성합니다

  • delete_environment : 환경 제거

콘텐츠 유형 관리

  • list_content_types : 사용 가능한 콘텐츠 유형 나열

  • get_content_type : 콘텐츠 유형 세부 정보 가져오기

  • create_content_type : 새로운 콘텐츠 유형을 만듭니다.

  • update_content_type : 콘텐츠 유형 업데이트

  • delete_content_type : 콘텐츠 유형 제거

  • publish_content_type : 콘텐츠 유형을 게시합니다.

개발 도구

MCP 검사관

이 프로젝트에는 개발 및 디버깅에 도움이 되는 MCP Inspector 도구가 포함되어 있습니다.

  • 검사 모드 : npm run inspect 실행하여 검사기를 시작합니다. http://localhost:5173 으로 이동하여 검사기를 열 수 있습니다.

  • 감시 모드 : npm run inspect:watch 사용하여 파일이 변경될 때 검사기를 자동으로 다시 시작합니다.

  • 시각적 인터페이스 : 검사기는 MCP 도구를 테스트하고 디버깅하기 위한 웹 인터페이스를 제공합니다.

  • 실시간 테스트 : 도구를 사용해 보고 즉각적인 반응을 확인하세요

  • 대량 작업 테스트 : 진행 상황 및 결과에 대한 시각적 피드백을 통해 대량 작업을 테스트하고 모니터링합니다.

이 프로젝트에는 모든 변경 사항에서 MCP 서버를 다시 빌드하고 다시 로드하는 npm run dev 명령도 포함되어 있습니다.

구성

필수 조건

  1. Contentful 에서 Contentful 계정을 만드세요

  2. 계정 설정에서 콘텐츠 관리 API 토큰을 생성합니다.

환경 변수

이러한 변수는 인수로 설정할 수도 있습니다.

  • CONTENTFUL_HOST / --host : Contentful 관리 API 엔드포인트(기본값은 https://api.contentful.com )

  • CONTENTFUL_MANAGEMENT_ACCESS_TOKEN / --management-token : 콘텐츠 관리 API 토큰

  • ENABLE_HTTP_SERVER / --http : HTTP/SSE 모드를 활성화하려면 "true"로 설정합니다.

  • HTTP_PORT / --port : HTTP 서버의 포트(기본값: 3000)

  • HTTP_HOST / --http-host : HTTP 서버의 호스트(기본값: localhost)

우주 및 환경 범위

LLM이 정의된 공간/환경 ID에 대해서만 작업을 수행하도록 spaceId와 EnvironmentId의 범위를 지정할 수 있습니다. 이는 주로 특정 공간 내에서 작업하는 에이전트를 지원하기 위한 것입니다. SPACE_ID 와 ENVIRONMENT_ID 환경 변수가 모두 설정된 경우, 도구는 이러한 값이 필요하지 않다고 보고하고 핸들러는 환경 변수를 사용하여 CMA 작업을 수행합니다. 또한 이러한 도구는 여러 공간에 분산되어 있으므로 공간 핸들러의 도구에 대한 액세스 권한을 잃게 됩니다. --space-id 및 --environment-id 인수를 사용하여 SPACE_ID 와 ENVIRONMENT_ID 추가할 수도 있습니다.

앱 ID 사용

관리 토큰을 제공하는 대신 앱 ID를 활용하여 인증을 처리할 수도 있습니다. Contentful 앱을 설정하고 설치한 후 MCP 서버를 호출할 때 다음 매개변수를 설정해야 합니다.

  • --app-id = Apptoken을 제공하는 앱 ID

  • --private-key = 앱의 사용자 인터페이스에서 생성한 개인 키로 app_id 에 연결됨

  • --space-id = 앱이 설치된 spaceId

  • --environment-id = 앱이 설치된 환경 ID(공간 내)입니다.

이러한 값을 사용하면 MCP 서버는 정의된 공간/환경 ID에서 콘텐츠 작업을 수행하기 위해 임시 AppToken을 요청합니다. 이는 특히 MCP 클라이언트(예: 채팅 에이전트) 역할을 하는 백엔드 시스템에서 이 MCP 서버를 사용할 때 유용합니다.

Claude Desktop과 함께 사용

이 MCP를 사용하려면 이 저장소를 복제할 필요가 없습니다. 간단히 claude_desktop_config.json 에 추가하면 됩니다.

~/Library/Application Support/Claude/claude_desktop_config.json 추가하거나 편집하고 다음 줄을 추가합니다.

지엑스피1

MCPClient가 환경 변수 설정을 지원하지 않는 경우 다음과 같은 인수를 사용하여 관리 토큰을 설정할 수도 있습니다.

{
  "mcpServers": {
    "contentful": {
      "command": "npx",
      "args": [
        "-y",
        "@ivotoby/contentful-management-mcp-server",
        "--management-token",
        "<your token>",
        "--host",
        "http://api.contentful.com"
      ]
    }
  }
}

Smithery를 통해 설치

Smithery 를 통해 Claude Desktop용 Contentful Management Server를 자동으로 설치하려면:

npx -y @smithery/cli install @ivotoby/contentful-management-mcp-server --client claude

Claude 데스크톱 개발 및 사용

만약 당신이 기여하고 클로드가 당신의 기여로 무엇을 하는지 시험하고 싶다면;

  • npm run dev 실행하면 모든 변경 사항에서 MCP 서버를 다시 빌드하는 감시자가 시작됩니다.

  • 프로젝트를 직접 참조하도록 claude_desktop_config.json 업데이트합니다. 즉,

{
  "mcpServers": {
    "contentful": {
      "command": "node",
      "args": ["/Users/ivo/workspace/contentful-mcp/bin/mcp-server.js"],
      "env": {
        "CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "<Your CMA Token>"
      }
    }
  }
}

이렇게 하면 Claude를 사용하여 MCP 서버에서 수정 사항을 직접 테스트할 수 있습니다. 그러나 새 도구/리소스를 추가하는 경우 Claude Desktop을 다시 시작해야 합니다.

운송 모드

MCP 서버는 두 가지 전송 모드를 지원합니다.

stdio 전송

기본 전송 모드는 통신에 표준 입출력 스트림을 사용합니다. 이는 Claude Desktop처럼 stdio 전송을 지원하는 MCP 클라이언트와의 통합에 이상적입니다.

stdio 모드를 사용하려면 --http 플래그 없이 서버를 실행하기만 하면 됩니다.

npx -y contentful-mcp --management-token YOUR_TOKEN
# or alternatively
npx -y @ivotoby/contentful-management-mcp-server --management-token YOUR_TOKEN

스트리밍 가능한 HTTP 전송

서버는 MCP 프로토콜에 정의된 StreamableHTTP 전송 방식도 지원합니다. 이 모드는 웹 기반 통합이나 서버를 독립형 서비스로 실행할 때 유용합니다.

StreamableHTTP 모드를 사용하려면 --http 플래그와 함께 실행하세요.

npx -y contentful-mcp --management-token YOUR_TOKEN --http --port 3000
# or alternatively
npx -y @ivotoby/contentful-management-mcp-server --management-token YOUR_TOKEN --http --port 3000

StreamableHTTP 세부 정보

  • 공식 MCP StreamableHTTP 전송을 사용합니다.

  • 표준 MCP 프로토콜 작업을 지원합니다.

  • 상태 유지를 위한 세션 관리 포함

  • 초기화/알림 패턴을 적절히 처리합니다.

  • 표준 MCP 클라이언트와 호환 가능

  • 더 이상 사용되지 않는 SSE 전송을 최신 접근 방식으로 대체합니다.

구현은 표준 MCP 프로토콜 사양을 따르므로 모든 MCP 클라이언트가 특별한 처리 없이 서버에 연결할 수 있습니다.

오류 처리

서버는 다음에 대한 포괄적인 오류 처리를 구현합니다.

  • 인증 실패

  • 속도 제한

  • 잘못된 요청

  • 네트워크 문제

  • API 관련 오류

특허

MIT 라이센스

세부 사항

이 MCP 서버는 Claude(또는 MCP 리소스를 사용할 수 있는 다른 에이전트)가 콘텐츠, 스페이스 및 콘텐츠 모델을 업데이트하고 삭제할 수 있도록 합니다. 따라서 Claude가 Contentful 스페이스에서 어떤 작업을 할 수 있는지 신중하게 고려해야 합니다!

이 MCP 서버는 아직 Contentful에서 공식적으로 지원되지 않습니다.

Available Tools

40 tools
bulk_validateC

Validate multiple entries at once

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdsYesArray of entry IDs to validate
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure. It fails to indicate if validation is read-only or mutating, what side effects occur, or any permission requirements. This is a critical gap.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but under-specified. It is not verbose, but it sacrifices necessary detail for brevity.

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

Completeness1/5

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

Given the lack of annotations and output schema, the description must provide substantial context. It only states the basic action, missing return format, error handling, and behavioral semantics for a tool with 3 required parameters.

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?

Input schema covers all parameters with descriptions (100% coverage). The description adds no additional parameter context beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (validate) and resource (multiple entries), distinguishing it from entry mutation or retrieval tools. However, it does not specify what validation entails, leaving some ambiguity about its function.

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

Usage 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 (e.g., search_entries, get_entry). There is no mention of prerequisites or complementary tools, forcing the agent to infer usage context.

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

create_ai_actionC

Create a new AI Action

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the AI Action
descriptionYesThe description of the AI Action
instructionYesThe instruction object containing the template and variables
configurationYesThe model configuration
testCasesNoOptional array of test cases for the AI Action
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.3/5.0
Behavior1/5

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

Annotations are absent, so the description must disclose behavioral traits. It does not: no mention of idempotency, side effects, authentication, validation, or response behavior. The single sentence is insufficient.

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

Conciseness3/5

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

The description is very concise (one sentence) but lacks substantive content. While it is not verbose, it sacrifices informativeness for brevity, making it only adequate.

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

Completeness2/5

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

Given the tool complexity (7 parameters, nested objects, no output schema), the description is incomplete. It does not explain the return value, creation flow, or how to handle the response, leaving critical gaps.

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

Parameters3/5

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

The input schema has 100% description coverage, providing clear meaning for each parameter. The description adds no value beyond this, which meets the baseline expectation.

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 'Create a new AI Action,' which clearly identifies the action and resource, but it is a near-tautology of the tool name and does not provide additional context to distinguish it from sibling tools like update_ai_action.

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 usage guidance is provided. The description does not specify when to use this tool versus alternatives such as update_ai_action or publish_ai_action, nor does it mention prerequisites or restrictions.

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

create_commentA

Create a new comment on an entry. The comment will be created with the specified body and status. To create a threaded conversation (reply to an existing comment), provide the parent comment ID. This allows you to work around the 512-character limit by creating threaded replies.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesThe unique identifier of the entry to comment on
bodyYesThe content of the comment (max 512 characters)
statusNoThe status of the commentactive
parentNoOptional ID of the parent comment to reply to. Use this to create threaded conversations or to continue longer messages by replying to your own comments.
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A4.1/5.0
Behavior3/5

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

The description states the comment will be created with body and status, and mentions threading via parent. However, with no annotations, it does not disclose potential side effects, permissions needed, or return value behavior. This is adequate but lacks deeper 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?

Three sentences with no wasted words. The first sentence states the purpose directly. The second and third sentences add essential usage guidance and parameter context without redundancy.

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

Completeness3/5

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

The description covers the creation action and parameter details well. However, it does not mention what the tool returns (e.g., the created comment object), which is a gap given no output schema. Error cases also not mentioned.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). The description adds meaningful context beyond the schema: explains the parent parameter's role for threading and char limit workaround, notes body's max length, and clarifies that spaceId must be the ID not name, and environmentId defaults to 'master'.

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

Purpose5/5

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

The description clearly states 'Create a new comment on an entry', specifying the verb ('create') and resource ('comment'). It also mentions threaded replies via parent ID, distinguishing it from update/delete/get comments.

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

Usage Guidelines4/5

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

The description explains when to use the parent parameter (to create threaded conversations or work around the 512-character limit), providing clear usage context. It does not explicitly list when not to use the tool, but the purpose is well defined.

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

create_content_typeD

Create a new content type

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
fieldsYesArray of field definitions for the content type
descriptionNo
displayFieldNo
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

D1.5/5.0
Behavior1/5

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

No annotations provided, and the description does not disclose any behavioral traits (e.g., whether creation is idempotent, required permissions, or side effects). The agent has no information beyond the fact that it creates.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but omits essential information. It does not earn its place by being informative.

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

Completeness1/5

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

Given the complexity (6 parameters including nested field arrays) and sibling tools, the description is grossly inadequate. It provides no context about return values, error conditions, or the content type creation process.

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

Parameters2/5

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

Schema description coverage is 50%, but the tool description adds no explanations for the three undocumented parameters (name, description, displayField). It fails to compensate for the schema gaps.

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

Purpose1/5

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

Description restates the tool name ('Create a new content type' is a direct paraphrase of 'create_content_type'), providing no additional specificity or distinction from siblings. It is a tautology.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives like update_content_type or create_entry. No context about prerequisites or typical scenarios.

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

create_entryA

Create a new entry in Contentful. Before executing this function, you need to know the contentTypeId (not the content type NAME) and the fields of that contentType. You can get the fields definition by using the GET_CONTENT_TYPE tool. IMPORTANT: All field values MUST include a locale key (e.g., 'en-US') for each value, like: { title: { 'en-US': 'My Title' } }. Every field in Contentful requires a locale even for single-language content.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentTypeIdYesThe ID of the content type for the new entry
fieldsYesThe fields of the entry with localized values. Example: { title: { 'en-US': 'My Title' }, description: { 'en-US': 'My Description' } }
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description covers the critical locale behavior and the need for content type knowledge. However, it does not disclose potential side effects (e.g., whether the entry is automatically published) or error conditions, leaving some behavioral gaps.

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

Conciseness5/5

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

The description is concise yet comprehensive, with each sentence contributing necessary information. It is front-loaded with the main purpose and logically structured with prerequisites and key instructions.

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

Completeness4/5

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

Despite lacking an output schema and annotations, the description covers prerequisites, locale format, and parameter semantics well. It is slightly incomplete regarding the return value or confirmation of creation, which may be inferred but not explicitly stated.

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

Parameters5/5

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

All parameters have schema descriptions, and the tool description adds valuable clarifications: contentTypeId must be the ID not name, and fields require locale keys with a concrete example. This significantly enhances understanding beyond the schema.

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

Purpose5/5

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

The description clearly states 'Create a new entry in Contentful', providing a specific verb and resource. It includes unique details like the locale requirement, distinguishing it from update and publish operations among siblings.

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

Usage Guidelines5/5

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

Explicitly states the prerequisite (knowing contentTypeId and fields) and directs the agent to the GET_CONTENT_TYPE tool for field definitions. Also emphasizes the locale requirement, guiding correct invocation.

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

create_environmentD

Create a new environment

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYes
environmentIdYes
nameYes

TDQS

D1.5/5.0
Behavior1/5

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

The description 'Create a new environment' only implies mutation, but lacks any behavioral details such as side effects, idempotency, permission requirements, or handling of duplicate environment IDs. Since no annotations are provided, the description carries the full burden and fails.

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

Conciseness2/5

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

The description is extremely short but fails to be informative. It is under-specified rather than concise, and provides no structural cues to aid understanding.

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

Completeness1/5

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

With no annotations, no output schema, and a bare-minimum description, the tool definition is completely inadequate. The agent cannot determine the purpose of parameters, the return value, or the context of 'environment' (workspace scope, uniqueness constraints, etc.).

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

Parameters1/5

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

The input schema has 3 required parameters (spaceId, environmentId, name) with 0% description coverage. The description does not explain what these parameters represent, their format, or constraints, leaving the agent with no semantic information.

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

Purpose2/5

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

The description 'Create a new environment' is a tautology that restates the tool name. It does not specify what kind of environment or differentiate from siblings like delete_environment or list_environments.

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. There is no mention of prerequisites, dependencies, or conditions for creating an environment.

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

delete_ai_actionB

Delete an AI Action

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to delete
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description only states 'Delete an AI Action' without disclosing behavioral traits such as irreversibility, permissions needed, or side effects. A destructive operation should disclose more.

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?

Extremely concise (one sentence), no wasted words. However, it is almost too terse, missing opportunity to add value without being verbose.

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 3 required parameters and no annotations or output schema, the description is incomplete. It does not explain return values, errors, or usage 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%, so the schema itself documents the parameters adequately. The description adds no extra semantics beyond that.

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 'Delete an AI Action' clearly uses a specific verb and resource, and distinguishes from sibling tools like create_ai_action, update_ai_action, get_ai_action, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or any prerequisites. Sibling tools provide no context on selection criteria.

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

delete_assetC

Delete an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. The description only says 'Delete an asset' without disclosing behavioral traits such as irreversibility, required permissions, or side effects on dependent resources. This is insufficient for safe invocation.

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

Conciseness2/5

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

The description is extremely brief (4 words), but conciseness should not come at the cost of completeness. It fails to provide necessary context, making it under-specified rather than efficiently concise.

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

Completeness2/5

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

Given no output schema, no annotations, and a simple tool with 3 required parameters, the description is too minimal. Important context such as whether deletion is permanent, whether the asset must be unpublished, or any confirmation steps are missing.

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

Parameters2/5

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

Schema description coverage is 67% (2 of 3 parameters documented). The description adds no additional meaning to the parameters, and the undocumented 'assetId' parameter relies solely on its name. The description does not compensate for the missing schema 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 ('Delete') and resource ('asset'), but does not differentiate from sibling delete tools like delete_entry or delete_comment. While the purpose is unambiguous, the lack of distinction from similar tools in the server reduces clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when an asset should be unpublished first), or any prerequisites for deletion. The description provides no usage context.

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

delete_commentC

Delete a specific comment from an entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesThe unique identifier of the entry
commentIdYesThe unique identifier of the comment to delete
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only states 'delete' with no details about side effects (e.g., irreversibility, cascade effects) or required permissions.

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?

A single, focused sentence with no fluff; however, it could benefit from contextual placement (e.g., explain it's for Contentful).

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?

Adequate for a simple delete operation given schema details, but lacks mention of return value or confirmation, and no output schema provided.

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 descriptions cover all 4 parameters with adequate detail (e.g., spaceId notes to ask for ID), but the description adds no extra meaning beyond 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 action (delete) and the resource (specific comment), distinguishing it from sibling tools like update_comment, but lacks context about the entry or space.

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

Usage Guidelines2/5

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

No guidance on when to use this tool compared to siblings like update_comment or create_comment, and no mention of prerequisites (e.g., comment existence, permissions).

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

delete_content_typeC

Delete a content type

ParametersJSON Schema
NameRequiredDescriptionDefault
contentTypeIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.6/5.0
Behavior2/5

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

The description only says 'delete', implying irreversibility, but does not disclose any behavioral traits such as cascading effects, permission requirements, or safety measures. No annotations are provided to supplement this information.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it may be too brief for a deletion operation. It lacks structure and does not efficiently convey important information that the schema does not cover.

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 lack of annotations and output schema, the description is insufficiently complete. It does not specify what happens after deletion (e.g., confirmation, impact on entries), nor does it provide any usage context beyond the basic action.

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

Parameters2/5

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

The input schema has 3 parameters with 67% description coverage (spaceId and environmentId have descriptions, contentTypeId does not). The tool description does not add any meaning beyond the schema; it does not explain the purpose of each parameter or how to form valid values.

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 'Delete a content type' clearly states the action and resource. It distinguishes from siblings like create_content_type and get_content_type, providing a clear purpose. However, it lacks any extra context such as scope or constraints.

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. There is no mention of prerequisites, side effects, or when not to delete. The sibling tools include other delete operations, but no differentiation is given.

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

delete_entryC

Delete an entry

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.2/5.0
Behavior2/5

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

Without annotations, the description should disclose behavioral traits. It only states 'delete', implying destruction, but lacks details on permanence, cascading effects, or required permissions.

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

Conciseness3/5

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

The description is extremely short, which is concise, but it omits critical information that would help an agent, such as prerequisites or post-conditions.

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 output schema and a context with many sibling tools, the description is incomplete. It lacks explanation of behavior like what happens after deletion or how to handle errors.

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

Parameters2/5

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

The description adds no meaning beyond the input schema. With 67% schema description coverage, the tool description does not compensate for the undocumented 'entryId' parameter or clarify parameter usage.

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 'Delete an entry' clearly states the action and resource, but it is essentially a restatement of the tool name and does not differentiate from sibling delete operations like 'delete_asset' or 'delete_comment'.

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

Usage Guidelines1/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 vs alternatives (e.g., 'unpublish_entry' or other delete tools), nor any preconditions or context.

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

delete_environmentC

Delete an environment

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYes
environmentIdYes

TDQS

C2.4/5.0
Behavior2/5

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

The description lacks any behavioral disclosure beyond the minimal action. There are no annotations, so the description should inform about irreversibility, cascading effects, or required permissions. It fails to do so, leaving the agent in the dark about consequences.

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

Conciseness2/5

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

While the description is extremely short (one sentence), it is under-specified to the point of being unhelpful. Conciseness without substance does not benefit the agent, and the structure provides no front-loaded key information beyond the basic action.

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 lack of annotations and output schema, the description should provide robust context. It does not mention return value, error conditions, or irreversible nature, making it insufficient for safe and correct invocation.

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

Parameters1/5

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

The description does not explain the parameters 'spaceId' and 'environmentId' beyond their names. Schema description coverage is 0%, and the description adds no semantic value, such as format hints or where to obtain these IDs.

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 'Delete' and the resource 'an environment', making the action unambiguous. It distinguishes from sibling tools like 'create_environment' and 'list_environments' by specifying the delete operation, though it adds no further context.

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 (e.g., when an environment is safe to delete, prerequisites like no active dependencies). The agent receives no contextual hints about appropriate usage.

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

get_ai_actionB

Get a specific AI Action by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to retrieve
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It implies a read operation but does not disclose error handling, permissions, or consequences of not found ID. Minimal behavioral insight.

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

Conciseness5/5

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

Single sentence, no redundancy. Efficiently conveys core purpose without excess.

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?

No output schema, no annotations. Description covers basic intent but lacks details on return value, error states, or required context like authentication. Adequate for a simple get but incomplete for complex scenarios.

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?

Input schema has 100% description coverage on all three parameters, providing clear meaning. Description adds no extra value beyond schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states the verb 'Get' and resource 'AI Action by ID'. It distinguishes from sibling tools like list_ai_actions (list) and get_ai_action_invocation (invocation). However, it could be more explicit about being a singular retrieval operation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like list_ai_actions or get_ai_action_invocation. Does not mention prerequisites or context for invocation.

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

get_ai_action_invocationB

Get the result of a previous AI Action invocation

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action
invocationIdYesThe ID of the specific invocation to retrieve
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits. It doesn't indicate that the operation is read-only, nor does it mention any required permissions, rate limits, or side effects. The description adds no behavioral context beyond the basic purpose.

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 sentence that directly states the tool's purpose. It is front-loaded with the action 'Get'. While concise, it sacrifices some helpful context like what an invocation result entails.

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 has 4 required parameters and no output schema, the description provides minimal context. It tells what the tool does but not what the result contains or any prerequisites (e.g., invocation must exist). Adequate but with gaps.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already explains each parameter's meaning. The description does not add any additional semantics or relationships between parameters. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool gets the result of a previous AI Action invocation. It distinguishes from siblings like invoke_ai_action (which starts an invocation) and get_ai_action (which retrieves the action definition) by specifying 'result' and 'previous invocation'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. For example, it doesn't mention that this should be used after invoking an AI action, or that to get the action definition one should use get_ai_action. No when-not-to-use or prerequisite info.

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

get_assetC

Retrieve an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are provided, and the description is merely 'Retrieve an asset,' which conveys no behavioral details beyond the verb. It fails to disclose outcome characteristics like read-only nature, error conditions (e.g., missing asset), or side effects, leaving agents uninformed.

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

Conciseness3/5

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

The description is extremely concise at four words, which is efficient but comes at the cost of useful content. It is front-loaded with the core action, but lacks structure to convey necessary details, making it minimally adequate.

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

Completeness1/5

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

Given the lack of output schema and annotations, plus three required parameters, the description is severely incomplete. It does not explain the return value, potential errors, or how to obtain assetId. Sibling tools like list_assets are available but not mentioned for context.

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

Parameters2/5

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

Although schema coverage for parameters is 67% (spaceId and environmentId have descriptions), the tool description adds no additional meaning. assetId lacks a description in both schema and description, leaving its format or source ambiguous.

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 'Retrieve an asset' clearly specifies the action (retrieve) and resource (asset), indicating a read operation. However, it does not differentiate from siblings like get_entry or get_content_type, which have similar purposes for different resource types. A more specific phrasing could improve clarity.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like list_assets or search_entries. It does not mention prerequisites, such as needing the asset ID, or exclusions. Without context, an agent may misuse the tool.

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

get_commentsB

Retrieve comments for an entry with pagination support. Returns comments with their status and body content.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesThe unique identifier of the entry to get comments for
bodyFormatNoFormat for the comment body contentplain-text
statusNoFilter comments by statusactive
limitNoMaximum number of comments to return (1-100, default: 10)
skipNoNumber of comments to skip for pagination (default: 0)
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.2/5.0
Behavior2/5

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

No annotations, and description only states basic functionality. Lacks details on behavior like how pagination works (e.g., total count, next page), authentication requirements, or rate limits.

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

Conciseness5/5

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

Two concise sentences front-loaded with purpose and key outputs. No redundant information.

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

Completeness2/5

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

With 7 parameters, pagination, filters, and no output schema, the description is incomplete. Missing information on return structure (e.g., pagination metadata), error handling, or output format.

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?

Input schema has 100% coverage with descriptions for all 7 parameters. Description adds little beyond mentioning status and body content, so meets minimum but provides no extra value.

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?

Description clearly states the tool retrieves comments for an entry with pagination, returning status and body content. Differentiates from sibling get_single_comment by indicating multiple comments per 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 on when to use this tool versus alternatives like get_single_comment or search. Pagination support is mentioned but not elaborated on how to use it effectively.

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

get_content_typeB

Get details of a specific content type

ParametersJSON Schema
NameRequiredDescriptionDefault
contentTypeIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.3/5.0
Behavior3/5

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

The description correctly implies a read-only, non-destructive action (get details). Since no annotations are present, it carries the burden, but it does not disclose any side effects, authentication needs, or constraints. It is accurate but minimal.

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

Conciseness5/5

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

A single sentence with no wasted words. It is front-loaded and efficiently communicates the tool's purpose.

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

Completeness3/5

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

For a simple getter tool with no output schema, the description is minimally adequate. It explains what the tool does, but lacks details about the returned information or any limitations. Given the simplicity, a 3 is appropriate.

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 67%, so baseline is 3. The description adds no extra information beyond the schema; it does not clarify the content type ID or how to obtain it. It neither harms nor significantly enhances parameter understanding.

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 uses a clear verb ('Get') and resource ('details of a specific content type'), indicating a read operation. It distinguishes itself from sibling tools like create_content_type or delete_content_type by implying retrieval. However, it does not explicitly differentiate from other get tools like get_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 on when to use this tool versus alternatives. There are no prerequisites, context, or exclusion criteria provided. Siblings include other getters, but no differentiation is given.

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

get_entryC

Retrieve an existing entry

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Retrieve an existing entry' without disclosing behavior such as error responses, permissions, or what happens if the entry does not exist. The bare-minimum description does not compensate for missing annotations.

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

Conciseness2/5

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

Extremely brief at one sentence, but lacks necessary context. While not verbose, the conciseness sacrifices valuable information, making it under-specified for an agent.

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

Completeness1/5

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

For a tool with 3 required parameters, no output schema, and many siblings, the description is critically incomplete. It omits return format, error handling, prerequisites, and usage examples, leaving the agent without essential context.

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

Parameters2/5

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

Input schema has 3 parameters with 67% description coverage. The description adds no meaning beyond the schema; it does not explain 'entryId' or how to obtain it. The tool's description fails to compensate for the undocumented parameter.

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?

Description uses specific verb 'Retrieve' and resource 'existing entry', clearly indicating the tool's purpose. However, it does not distinguish from sibling tools like get_asset or get_content_type, which have similar retrieval patterns.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Siblings like search_entries, get_comments, etc., suggest different use cases, but the description provides no differentiation or context.

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

get_single_commentB

Retrieve a specific comment by its ID for an entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesThe unique identifier of the entry
commentIdYesThe unique identifier of the comment to retrieve
bodyFormatNoFormat for the comment body contentplain-text
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits (e.g., read-only, permissions needed, side effects). It only states the operation, leaving the agent uninformed about safety or requirements.

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 one sentence, concise and front-loaded with the core action. However, it could be slightly expanded without losing efficiency. No wasted words.

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 5 parameters (4 required) and no output schema, the description lacks details like the significance of bodyFormat, spaceId, or environmentId. It also doesn't explain how the comment relates to an entry. Incomplete for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds no new meaning beyond the schema (e.g., 'by its ID for an entry' merely restates entryId and commentId). Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Retrieve a specific comment by its ID for an entry,' which matches the tool name and distinguishes it from sibling tools like 'get_comments' and 'create_comment.' It uses a specific verb and resource.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like 'get_comments'. The usage is implied (for a single comment), but no when-not-to or context for selection.

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

get_spaceC

Get details of a space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description must bear full burden. It only says 'Get details' without specifying what details, side effects, or permissions needed.

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?

Single sentence, no redundancy. Concise but at the expense of necessary information.

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 output schema and no annotations, description should explain what details are returned. It fails to do so, leaving the agent uncertain about the response.

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

Parameters2/5

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

Input schema has one parameter with no description. The tool description adds no meaning beyond the schema field name.

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?

Description states 'Get details of a space' which is a clear verb+resource. However, it does not differentiate from sibling getter tools like get_asset, get_entry, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as list_spaces or other getter tools. No context on prerequisites or exclusions.

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

invoke_ai_actionC

Invoke an AI Action with variables

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to invoke
variablesNoKey-value pairs of variable IDs and their values
rawVariablesNoArray of raw variable objects (for complex variable types like references)
outputFormatNoThe format of the output contentMarkdown
waitForCompletionNoWhether to wait for the AI Action to complete before returning
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.8/5.0
Behavior2/5

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

The description does not disclose behavioral traits such as whether the invocation blocks, alters state, or requires special permissions. No annotations are provided to supplement this, so the description carries the full burden but fails to deliver.

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

Conciseness3/5

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

The description is a single sentence and front-loaded, but it is too concise to convey sufficient meaning, bordering on under-specification.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, 3 required, nested objects) and no output schema, the description is incomplete. It fails to explain return values, error conditions, or the behavior of key parameters like waitForCompletion.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema, only mentioning 'variables' in a generic way.

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 'Invoke' and the resource 'AI Action with variables', distinguishing it from sibling tools like get_ai_action, list_ai_actions, etc. However, it lacks specificity on what invoking an AI Action entails.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_ai_action or list_ai_actions. The description does not mention prerequisites or typical use cases.

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

list_ai_actionsC

List all AI Actions in a space

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of AI Actions to return
skipNoNumber of AI Actions to skip for pagination
statusNoFilter AI Actions by status
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and description does not disclose behavioral traits such as read-only nature, pagination behavior, or any side effects. The description is minimal and fails to compensate for the absence of annotations.

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, concise sentence that is front-loaded and to the point. However, it omits important context, which slightly reduces effectiveness.

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

Completeness2/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain what AI Actions are or what the response entails, leaving significant gaps for an AI agent.

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

Parameters3/5

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

Input schema covers all 5 parameters with descriptions (100% coverage). The description does not add additional meaning beyond the schema, but the schema itself is fairly complete, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states it lists AI Actions in a space, using a specific verb and resource. It differentiates from other list tools (e.g., list_assets) by specifying 'AI Actions', but could be more distinct from get_ai_action.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_ai_action or search tools. Lacks context on appropriate use cases or exclusions.

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

list_assetsA

List assets in a space. Returns a maximum of 3 items per request. Use skip parameter to paginate through results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum number of items to return (max: 3)
skipYesNumber of items to skip for pagination
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description discloses critical behaviors: a maximum return of 3 items per request and pagination via the skip parameter. It does not mention the tool's read-only nature or authentication requirements, but the stated constraints add significant 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?

Two sentences with zero wasted words. The purpose is front-loaded, immediately stating the action and resource, followed by the key constraint and pagination guidance. Every sentence earns its place.

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

Completeness4/5

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

For a simple listing tool with 4 well-described parameters and no output schema, the description covers purpose, key constraints, and pagination. It could briefly mention the return structure (e.g., 'returns asset summaries'), but the existing information is sufficient for an AI agent to use the tool correctly.

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

Parameters4/5

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

Schema coverage is 100% (all parameters described). The description adds narrative context beyond the schema, explaining how 'limit' and 'skip' work together for pagination. While the schema already defines max and default values, the description reinforces the pagination usage pattern.

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

Purpose5/5

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

The description 'List assets in a space' provides a specific verb ('list') and resource ('assets'), clearly distinguishing the tool from siblings like get_asset (single asset) and other list tools. Adding the maximum 3 items and pagination notes further clarifies its purpose.

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

Usage Guidelines4/5

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

The description states 'Use skip parameter to paginate through results', giving explicit guidance on pagination. While it doesn't explicitly list when not to use it (e.g., for a single asset, use get_asset), the context is clear enough for an AI agent to differentiate from sibling tools.

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

list_content_typesB

List content types in a space. Returns a maximum of 10 items per request. Use skip parameter to paginate through results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum number of items to return (max: 3)
skipYesNumber of items to skip for pagination
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must fully explain behavior. It states a maximum of 10 items per request and pagination, but contradicts the input schema's limit description (max 3 vs max 20). It omits error handling, response format, and implications of the required limit parameter.

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 concise with two sentences front-loaded with the primary action and pagination. However, the contradiction reduces effectiveness.

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 output schema, the description should clarify the return format (e.g., array of content types) and the unusual requirement of limit and skip as required parameters. It also fails to reconcile the limit discrepancy.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions. The tool description adds pagination context but is undermined by conflicting limit constraints.

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 it lists content types in a space. However, the contradictory maximum limit (description says 10, schema description says max 3, schema property says max 20) causes slight confusion.

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 mentions pagination via skip parameter, implying iterative use. It does not compare to sibling tools like search_entries or get_content_type, nor provides when-not-to-use guidance.

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

list_environmentsC

List all environments in a space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYes

TDQS

C2.7/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 only says 'list all environments'. It does not disclose behavioral traits like authentication requirements, pagination, or ordering. No return format is specified.

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

Conciseness3/5

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

The description is a single sentence, but it is too minimal and lacks structure. It could include more information without being verbose.

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 simplicity (1 parameter, no output schema), the description is incomplete as it does not state the return value or any behavior. It is barely adequate.

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

Parameters1/5

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

Schema coverage is 0% and the description does not explain the 'spaceId' parameter beyond the implied context. It adds no meaning beyond the schema itself.

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

Purpose5/5

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

The description clearly states the tool lists all environments in a space, with a specific verb and resource. It distinguishes itself from sibling tools like create_environment and delete_environment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as when to list vs. get an environment. There is no mention of prerequisites or typical context.

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

list_spacesA

List all available spaces

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that it lists spaces, failing to mention return format, authorization needs, or potential limitations like pagination.

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

Conciseness5/5

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

The description is extremely concise, consisting of a single phrase with no wasted words. It is front-loaded and to the point.

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 simplicity (no parameters, no output schema), the description is adequate for listing all spaces. However, it lacks detail on the output format or any additional context that might be expected for a list operation.

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

Parameters4/5

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

The input schema has zero parameters, and schema coverage is 100%. The description adds no parameter information, but with no parameters, a baseline of 4 is appropriate.

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

Purpose5/5

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

The description 'List all available spaces' uses a specific verb and resource, clearly indicating the action and scope. It distinguishes from sibling tool 'get_space', which retrieves a single space.

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

Usage Guidelines3/5

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

The description implies usage for obtaining a list of all spaces, but it does not explicitly state when to use it versus alternatives like 'get_space' for specific spaces, nor does it provide usage context or exclusions.

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

publish_ai_actionC

Publish an AI Action

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to publish
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations and a minimal description, the behavioral impact of 'publish' is undefined. The description does not disclose whether publishing is reversible, requires specific permissions, or triggers side effects, leaving the agent uninformed about the operation's effects.

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

Conciseness2/5

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

The description is extremely brief—only four words—which borders on underspecification. While conciseness is valued, this brevity comes at the cost of missing crucial context, making it less helpful than a slightly longer but informative version.

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

Completeness2/5

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

For a tool with three required parameters and no output schema, the description is insufficient. It fails to explain the effect of publishing, success criteria, or any notable behaviors, leaving the agent without enough context to use the tool confidently.

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

Parameters3/5

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

The input schema provides complete descriptions for all three parameters (aiActionId, spaceId, environmentId), so the description need not add more. However, the description does not augment the schema with any additional insight, so it meets the baseline for high schema 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 'publish' and the resource 'AI Action', which matches the tool name and effectively communicates the primary action. However, it does not elaborate on what publishing entails or differentiate it from other publish tools, but the resource name provides sufficient distinction among siblings.

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 create, update, or unpublish. The description lacks any context about prerequisites, typical scenarios, or conditions for publishing an AI Action.

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

publish_assetC

Publish an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It only says 'Publish an asset' with no disclosure about permissions, side effects, or what happens if already published, so behavioral transparency is minimal.

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

Conciseness2/5

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

At just 3 words, the description is extremely brief but lacks structure and fails to provide useful information beyond the tool name.

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 3 required parameters, no output schema, and many sibling tools, this description is incomplete. It omits the effect of publishing, any post-publishing consequences, or integration 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 67% (spaceId and environmentId have descriptions, assetId does not). The description adds no extra parameter guidance beyond the schema, so it meets the baseline for this coverage level.

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 'Publish an asset' clearly states the verb and resource, but does not distinguish it from siblings like publish_content_type or publish_entry, which have similar purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as unpublish_asset or publish_entry, and no prerequisites or conditions are mentioned.

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

publish_content_typeC

Publish a content type

ParametersJSON Schema
NameRequiredDescriptionDefault
contentTypeIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.2/5.0
Behavior1/5

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

No annotations are present, and the description does not disclose any behavioral traits such as prerequisites (e.g., content type must exist), side effects (e.g., makes it visible), or idempotency. The agent has no insight into what 'publish' entails.

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

Conciseness2/5

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

The description is very brief but critically underspecified. It lacks essential context, making it insufficient for an agent to use correctly. Conciseness should not come at the expense of necessary information.

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

Completeness1/5

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

With 3 required parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain the effect of publishing, possible errors, or any dependencies (e.g., environment existence), leaving the agent with significant ambiguity.

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

Parameters2/5

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

Schema description coverage is 67%, with spaceId and environmentId having descriptions, but contentTypeId is undocumented. The tool description adds no parameter-level detail, failing to compensate for the missing schema description for contentTypeId.

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 'Publish' and resource 'content type', making the basic action obvious. However, it does not differentiate from sibling tools like publish_entry or publish_asset, which share a similar pattern.

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 (e.g., create_content_type, update_content_type, or other publish tools). The agent is left to infer context from the tool name alone.

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

publish_entryA

Publish an entry or multiple entries. Accepts either a single entryId (string) or an array of entryIds (up to 100 entries). For a single entry, it uses the standard publish operation. For multiple entries, it automatically uses bulk publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesID of the entry to publish, or an array of entry IDs (max: 100)
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses bulk publishing behavior but omits critical details like permissions required, reversibility, or what occurs on failure. A publish action is a mutation, and more transparency is warranted.

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

Conciseness5/5

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

Two concise sentences front-load the purpose and key behavior. No superfluous content; every sentence serves a clear function.

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

Completeness3/5

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

With no output schema, the description should explain return values, but it does not. Error handling and edge cases are also missing. For a mutation tool, this is a notable gap, though the high schema coverage partially compensates.

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

Parameters3/5

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

Schema coverage is 100%, with well-described parameters. The description reiterates the ability to accept an array (matching schema), adding minimal extra value beyond the schema itself. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool publishes entries, distinguishing between single and bulk operations. It is specific to entries and distinct from sibling publish tools for assets, content types, and AI actions.

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

Usage Guidelines4/5

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

The description explains when to use single vs bulk publishing by specifying input format. However, it does not provide explicit guidance on when not to use this tool or alternatives among siblings.

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

search_entriesA

Search for entries using query parameters. Returns a maximum of 3 items per request. Use skip parameter to paginate through results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesQuery parameters for searching entries
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It states the tool returns up to 3 entries per request and supports pagination, but does not explicitly disclose that it is a read-only operation with no side effects. This partial disclosure is adequate but not comprehensive.

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

Conciseness5/5

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

Two sentences with no extraneous information. The first sentence clearly states the purpose, and the second provides the key behavioral constraint (max 3 items) and pagination mechanism. Efficient and front-loaded.

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

Completeness3/5

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

For a search tool with a complex nested input schema and no output schema, the description is somewhat minimal. It covers pagination but does not explain the structure of the 'query' parameter (though schema covers it), nor does it describe the return value format or content type filtering. Adequate but not fully comprehensive.

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

Parameters3/5

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

The schema covers all parameters with descriptions (100% coverage), so the description adds limited new value. It reiterates the limit and skip behavior, which the schema already defines. The nested query object is well-documented in the schema, leaving little need for additional explanation.

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

Purpose5/5

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

The description clearly states it searches for entries using query parameters, which distinguishes it from sibling tools like get_entry that retrieve a single entry by ID. The verb 'Search' and resource 'entries' are specific and unambiguous.

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

Usage Guidelines4/5

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

Provides explicit guidance on pagination: maximum 3 items per request and use of skip parameter. However, it does not compare with alternatives like get_entry for when to use search versus direct retrieval, though the name implies query-based filtering.

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

unpublish_ai_actionC

Unpublish an AI Action

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to unpublish
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits such as side effects (e.g., changes visibility, affects invocations), reversibility, or required permissions. The tool's impact is entirely unclear.

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

Conciseness3/5

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

The description is extremely concise (three words), which is efficient but omits essential context. It could include a brief behavioral note without sacrificing conciseness.

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?

Despite having only three parameters and a simple action, the description lacks important context such as what happens upon unpublishing (e.g., immediate effect, impact on invocations), error conditions, and return values.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter has a clear explanation. The tool description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.

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

Purpose4/5

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

The description clearly states the verb 'unpublish' and resource 'AI Action', making the purpose evident. However, it does not differentiate from the sibling tool 'delete_ai_action', which could cause confusion about the difference between unpublishing and deleting.

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 usage guidance is provided. There is no indication of when to use this tool vs alternatives like 'publish_ai_action' or 'delete_ai_action', nor any prerequisites or exclusions.

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

unpublish_assetC

Unpublish an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

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 must fully disclose behavior. It only says 'Unpublish', but does not explain side effects, reversibility, or permission requirements. Important for a mutation tool.

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

Conciseness4/5

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

Extremely concise at 4 words, front-loading the action. However, it sacrifices useful context; a slightly longer description could still be concise.

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

Completeness2/5

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

Given the complexity of unpublishing (state change, potential dependencies) and no output schema, the description is insufficient. It does not explain the outcome or conditions.

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

Parameters2/5

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

Schema coverage is 67% (spaceId and environmentId have descriptions, assetId does not). The description does not add any meaning beyond the schema; assetId remains undocumented here.

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 'Unpublish an asset', which is a distinct verb+resource combination. It differentiates from siblings like 'publish_asset' and 'delete_asset'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'delete_asset' or 'unpublish_entry'. Missing context on prerequisites like the asset needing to be published first.

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

unpublish_entryA

Unpublish an entry or multiple entries. Accepts either a single entryId (string) or an array of entryIds (up to 100 entries). For a single entry, it uses the standard unpublish operation. For multiple entries, it automatically uses bulk unpublishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesID of the entry to unpublish, or an array of entry IDs (max: 100)
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It explains automatic bulk unpublishing for multiple entries and the 100-entry limit. However, it does not disclose side effects, permissions, or reversibility, which are important for a mutating 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 concise with three sentences, each adding distinct value: action, parameter flexibility, and automatic behavior. No unnecessary words.

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

Completeness3/5

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

The description covers input behavior well but lacks output details, error cases, or prerequisites. Given no output schema and the moderate complexity, it is adequate but not fully comprehensive.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds marginal value beyond the schema. It reiterates the entryId flexibility and mentions bulk behavior, but this is more behavioral than parameter-specific.

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

Purpose5/5

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

The description clearly states the tool's function: 'Unpublish an entry or multiple entries.' It specifies the resource (entry/entries) and action (unpublish), distinguishing it from sibling tools like publish_entry (opposite) and unpublish_asset (different resource).

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

Usage Guidelines4/5

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

The description provides guidance on when to use single vs. multiple entries ('For a single entry, it uses the standard unpublish operation. For multiple entries, it automatically uses bulk unpublishing.'). However, it does not explicitly mention alternatives or when not to use this tool.

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

update_ai_actionC

Update an existing AI Action

ParametersJSON Schema
NameRequiredDescriptionDefault
aiActionIdYesThe ID of the AI Action to update
nameYesThe name of the AI Action
descriptionYesThe description of the AI Action
instructionYesThe instruction object containing the template and variables
configurationYesThe model configuration
testCasesNoOptional array of test cases for the AI Action
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description only says 'Update', leaving unclear whether it's a partial or full update, or what side effects occur on omitted fields.

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

Conciseness3/5

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

The description is very short (one sentence), but it's too minimal to provide useful information beyond the function name.

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

Completeness2/5

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

Given the tool's complexity (8 params, nested objects, no output schema), the description omits crucial details like update behavior, error cases, or return value.

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

Parameters3/5

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

Schema coverage is 100% and already provides detailed parameter descriptions. The tool description adds no additional semantic value beyond what the schema offers.

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 'Update' and resource 'existing AI Action', distinguishing it from create and delete siblings. However, it lacks additional context about the tool's specific role.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like create_ai_action or delete_ai_action. No prerequisites or conditions are mentioned.

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

update_assetD

Update an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
titleNo
descriptionNo
fileNo
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

D1.3/5.0
Behavior1/5

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

Without annotations, the description must disclose behavioral traits. It only says 'Update', omitting any details about idempotency, overwrite vs merge behavior, required permissions, or side effects. This is insufficient for an AI agent.

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

Conciseness2/5

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

At three words, the description is under-specified rather than concise. It fails to provide essential information that an agent needs, making it inefficient for decision-making.

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

Completeness1/5

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

With no output schema, no annotations, and low schema coverage, the description should compensate but does not. It omits return values, error cases, and constraints, leaving the agent blind to critical usage details.

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

Parameters1/5

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

Schema description coverage is only 33%. The description adds no parameter explanations or examples, leaving 4 parameters (title, description, file, assetId) completely undocumented. The nested file object lacks context on allowed formats or size limits.

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

Purpose1/5

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

Description is a tautology: 'Update an asset' merely restates the tool name. It does not define what an asset is, what specific fields can be updated, or how it differs from sibling tools like update_entry or upload_asset.

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

Usage Guidelines2/5

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

No guidance on when to use update_asset vs alternatives such as upload_asset (for creating) or publish_asset (for publishing). The description lacks any context about prerequisites or typical use cases.

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

update_commentA

Update an existing comment on an entry. The handler will merge your updates with the existing comment data.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYesThe unique identifier of the entry
commentIdYesThe unique identifier of the comment to update
bodyNoThe updated content of the comment
statusNoThe updated status of the comment
bodyFormatNoFormat for the comment body contentplain-text
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries burden. States merge behavior which is useful, but lacks details on permissions, error handling, or idempotency.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and key behavior, no superfluous text.

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 7 params, no output schema, no annotations, description explains merge but missing return value info and error scenarios.

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 has 100% coverage, so baseline 3. Description adds 'merge' context but no further meaning beyond what 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?

Clearly states verb 'Update' and resource 'existing comment', with additional behavioral detail 'merge your updates'. Distinguishes from create_comment and delete_comment.

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

Usage Guidelines3/5

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

Implied usage (update existing comment) but no explicit when-to-use vs alternatives or prerequisites (e.g., comment must exist).

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

update_content_typeB

Update an existing content type. The handler will merge your field updates with existing content type data, so you only need to provide the fields and properties you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentTypeIdYes
nameNo
fieldsYes
descriptionNo
displayFieldNo
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

B3.2/5.0
Behavior3/5

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

Without annotations, the description carries the burden for behavioral transparency. It reveals the merge behavior (partial update), which is valuable. However, it lacks information on side effects (e.g., what happens if content type is published), error handling, or required permissions, leaving gaps.

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

Conciseness5/5

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

The description is extremely concise, using two short sentences that are front-loaded with the action. Every word contributes meaning without redundancy, 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 the tool has 7 parameters, no output schema, and no annotations, the description is incomplete. It omits critical context such as return values, error cases, required permissions, and how the merge handles conflicts. The low schema coverage further exacerbates this gap.

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

Parameters2/5

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

Schema description coverage is only 29% (two parameters have descriptions). The description does not compensate by explaining parameters like name, fields, or description. It merely mentions 'fields and properties' generically, so it adds little semantic value beyond 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 action 'Update an existing content type' and implies it modifies rather than creates or deletes, distinguishing it from siblings like create_content_type and delete_content_type. However, it could be more specific about the context (Contentful) and the exact resource.

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 provides a usage hint by explaining that the handler merges updates, so users only need to include changed fields. However, it does not explicitly state when to use this tool versus alternatives (e.g., create for new, delete for removal), nor does it mention prerequisites or limitations.

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

update_entryA

Update an existing entry. The handler will merge your field updates with the existing entry fields, so you only need to provide the fields and locales you want to change. IMPORTANT: All field values MUST include a locale key (e.g., 'en-US') for each value, like: { title: { 'en-US': 'My Updated Title' } }. Every field in Contentful requires a locale even for single-language content.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYes
fieldsYesThe fields to update with localized values. Example: { title: { 'en-US': 'My Updated Title' } }
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

A4.2/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses the merge behavior (non-destructive partial update) and emphasizes the locale key requirement, adding critical behavioral context beyond the schema.

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

Conciseness5/5

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

Three sentences front-load the purpose, then merge behavior, then a critical warning with example. No fluff, every sentence earns its place.

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

Completeness4/5

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

Covers the key nuance (locale requirement) and merge behavior. Lacks description of return value or error conditions, but given moderate complexity and no output schema, it provides sufficient context for an agent to use the tool correctly.

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

Parameters4/5

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

Schema has 75% coverage; the description adds value by detailing the locale structure for field values, reinforcing and extending the schema's localized example, which is essential for correct usage.

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

Purpose5/5

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

The description clearly states 'Update an existing entry,' specifying the verb and resource. It distinguishes from siblings like create_entry, delete_entry, and get_entry by focusing on modification.

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 explains merge behavior ('you only need to provide the fields...you want to change'), implying partial updates. However, it does not explicitly mention when not to use or compare to alternatives, leaving guidance implicit.

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

upload_assetC

Upload a new asset

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
descriptionNo
fileYes
spaceIdYesThe ID of the Contentful space. This must be the space's ID, not its name, ask for this ID if it's unclear.
environmentIdYesThe ID of the environment within the space, by default this will be called Mastermaster

TDQS

C2.2/5.0
Behavior1/5

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

With no annotations and a minimal description, the behavioral transparency is extremely poor. The description does not disclose that this tool creates a new asset, requires a file upload, or any side effects or permissions needed.

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

Conciseness2/5

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

The description is overly terse at one short sentence, lacking sufficient content to be useful. While concise, it fails to earn its place by not conveying essential information.

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

Completeness1/5

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

Given the tool's complexity (5 parameters, nested file object, no output schema, no annotations), the description is wholly incomplete. It does not cover return values, side effects, or usage context among siblings.

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

Parameters2/5

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

Schema coverage is low at 40%, and the description adds no parameter meaning beyond the schema. The description fails to explain the nested 'file' object with its required sub-properties, nor does it clarify 'title' or 'description'.

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 'Upload a new asset' clearly identifies the action (upload) and resource (asset), distinguishing it from sibling tools like delete_asset, update_asset, and get_asset. However, it could be more specific about the file upload context.

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_asset, nor does it mention prerequisites such as space and environment IDs. There is no indication of when not to use it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 40 tool updatesv1.2.0
    • First observedbulk_validate
    • First observedcreate_ai_action
    • First observedcreate_comment
    • First observedcreate_content_type
    • First observedcreate_entry
    • First observedcreate_environment
    • First observeddelete_ai_action
    • First observeddelete_asset
    • First observeddelete_comment
    • First observeddelete_content_type
    • First observeddelete_entry
    • First observeddelete_environment
    • First observedget_ai_action
    • First observedget_ai_action_invocation
    • First observedget_asset
    • First observedget_comments
    • First observedget_content_type
    • First observedget_entry
    • First observedget_single_comment
    • First observedget_space
    • First observedinvoke_ai_action
    • First observedlist_ai_actions
    • First observedlist_assets
    • First observedlist_content_types
    • First observedlist_environments
    • First observedlist_spaces
    • First observedpublish_ai_action
    • First observedpublish_asset
    • First observedpublish_content_type
    • First observedpublish_entry
    • First observedsearch_entries
    • First observedunpublish_ai_action
    • First observedunpublish_asset
    • First observedunpublish_entry
    • First observedupdate_ai_action
    • First observedupdate_asset
    • First observedupdate_comment
    • First observedupdate_content_type
    • First observedupdate_entry
    • First observedupload_asset

TDQS

C2.9/5.0

Scored across 40 tools

Disambiguation5/5

Each tool targets a distinct resource and action (e.g., create_entry vs. get_entry, publish_asset vs. unpublish_asset). There is no overlap in purpose, and descriptions clearly differentiate similar operations like get_ai_action vs. get_ai_action_invocation.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., create_entry, list_assets, update_comment). No mixing of conventions like camelCase or different verb styles.

Tool Count2/5

With 40 tools, the count exceeds the typical well-scoped range (3-15) and the '25+' threshold for too many. Even considering Contentful's complexity, the number feels heavy and may overwhelm agents.

Completeness5/5

The tool set covers full CRUD plus publish/unpublish, search, and validation for entries; CRUD plus upload for assets; lifecycle for comments, environments, AI actions; and space listing. No obvious gaps such as missing delete for content types or bulk operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers