Skip to main content
Glama
aaronsb

Confluence MCP Server

by aaronsb

Confluence Cloud MCP 서버

Confluence Cloud와 상호 작용하기 위한 도구를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 어시스턴트는 표준화된 인터페이스를 통해 Confluence 공간, 페이지 및 콘텐츠를 관리할 수 있습니다.

CI/CD 파이프라인

특징

  • 공간 관리

    • 공간 나열

    • 공간 세부 정보 가져오기

  • 페이지 작업

    • 페이지 만들기, 읽기, 업데이트

    • 공간에 페이지 나열

    • Confluence 저장 형식의 페이지 콘텐츠를 Markdown으로 변환

  • 검색 및 라벨

    • CQL을 사용하여 콘텐츠 검색

    • 페이지 라벨 관리

Related MCP server: Confluence MCP Server

설정

옵션 1: Docker 사용(권장)

이 서버를 사용하는 가장 쉬운 방법은 미리 빌드된 Docker 이미지를 사용하는 것입니다.

지엑스피1

옵션 2: 지역적으로 구축

  1. 저장소를 복제합니다.

git clone https://github.com/aaronsb/confluence-cloud-mcp.git
cd confluence-cloud-mcp
  1. 로컬 빌드 스크립트를 사용하여 빌드하고 실행합니다.

# Build the Docker image
./scripts/build-local.sh

# Run the server
CONFLUENCE_API_TOKEN=your-token CONFLUENCE_EMAIL=your-email ./scripts/run-local.sh

옵션 3: 소스에서

  1. 종속성 설치:

npm install
  1. 환경 변수 구성: Confluence 자격 증명으로 .env 파일을 만듭니다.

CONFLUENCE_DOMAIN=your-domain.atlassian.net
CONFLUENCE_EMAIL=your-email@domain.com
CONFLUENCE_API_TOKEN=your-api-token
  1. 프로젝트를 빌드하세요:

npm run build
  1. 서버를 실행합니다:

node build/index.js

용법

서버를 MCP 구성에 추가하여 MCP 호환 AI 어시스턴트와 통합할 수 있습니다.

{
  "mcpServers": {
    "confluence": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/aaronsb/confluence-cloud-mcp:latest"],
      "env": {
        "CONFLUENCE_DOMAIN": "your-domain.atlassian.net",
        "CONFLUENCE_EMAIL": "your-email@domain.com",
        "CONFLUENCE_API_TOKEN": "your-api-token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

AI 도우미를 위한 참고 사항 : 클라인과 같은 AI 도우미가 이 MCP 서버를 설치하려는 경우, 자세한 설치 지침은 llms-install.md 파일을 참조하세요.

사용 가능한 도구

우주 도구

  • list_confluence_spaces : Confluence의 모든 공간을 나열합니다.

  • get_confluence_space : 특정 공간에 대한 세부 정보를 가져옵니다.

페이지 도구

  • list_confluence_pages : 공간의 페이지 목록

  • get_confluence_page : 특정 페이지와 해당 페이지를 가져옵니다(이제 마크다운 변환 포함)

  • create_confluence_page : 공간에 새 페이지를 만듭니다.

  • update_confluence_page : 기존 페이지 업데이트

get_confluence_page 도구는 이제 Confluence 저장 형식 콘텐츠를 마크다운으로 자동 변환하여 페이지 콘텐츠 작업을 더욱 간편하게 만들어 줍니다. 변환 기능은 다음을 처리합니다.

  • 헤더(h1-h6)

  • 목록(순서가 있는 목록과 순서가 없는 목록)

  • 모래밭

  • 강조(굵게/기울임체)

  • 코드 블록

  • 테이블

  • 문단과 줄 바꿈

검색 및 레이블 도구

  • search_confluence_pages : CQL을 사용하여 Confluence 콘텐츠 검색

  • get_confluence_labels : 페이지의 레이블을 가져옵니다.

  • add_confluence_label : 페이지에 라벨을 추가합니다.

  • remove_confluence_label : 페이지에서 라벨을 제거합니다.

참고 : 모든 도구 이름은 일관성과 명확성을 위해 [동사] 합류 [명사] 명명 규칙을 따릅니다.

개발

이 프로젝트는 TypeScript로 작성되었으며, 서버 기능 구현을 위한 MCP SDK 규칙을 따릅니다. 코드베이스는 다음과 같이 구성됩니다.

  • src/client/ - Confluence API 클라이언트 구현

  • src/handlers/ - MCP 도구 요청 핸들러

  • src/schemas/ - 도구 입력을 위한 JSON 스키마

  • src/types/ - TypeScript 유형 정의

  • src/utils/ - 콘텐츠 형식 변환을 포함한 유틸리티 함수

CI/CD 파이프라인

이 프로젝트에서는 지속적인 통합 및 배포를 위해 GitHub Actions를 사용합니다.

  • 풀 리퀘스트에 대한 자동화된 테스트 및 린팅

  • 메인 브랜치 커밋을 기반으로 자동 Docker 이미지 빌드

  • 다중 아키텍처 이미지 빌드(amd64, arm64)

  • GitHub 컨테이너 레지스트리에 컨테이너 게시

지역 개발

로컬 개발을 위해 제공된 스크립트를 사용하세요.

  • ./scripts/build-local.sh : 프로젝트를 빌드하고 로컬 Docker 이미지를 생성합니다.

  • ./scripts/run-local.sh : 자격 증명을 사용하여 로컬 Docker 이미지를 실행합니다.

특허

MIT

Available Tools

11 tools
add_confluence_labelA

Add a label to a page. Labels help organize content and make it easier to find related pages through search_confluence_pages.

Label Format:

  • Must contain only letters, numbers, hyphens, and underscores

  • No spaces or special characters allowed

Error Handling:

  • Returns 400 for invalid label format

  • Returns 403 for insufficient permissions

  • Returns 404 if page not found

  • Returns 409 if label already exists on the page

Response includes:

  • Success status

  • Label details (id, name, prefix, creation date)

  • Operation message

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesID of the page to add the label to
labelYesLabel to add (letters, numbers, hyphens, and underscores only)

TDQS

A4.4/5.0
Behavior5/5

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

No annotations provided, so description fully covers behavioral aspects: error codes (400,403,404,409) and response structure. This is comprehensive for a tool of this complexity.

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?

Description is organized into clear sections (purpose, format, errors, response) and is fairly concise, though some repetition of schema details could be trimmed.

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

Completeness5/5

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

Given low complexity (2 params, no output schema), description covers purpose, error handling, response, and even connects to sibling tool search_confluence_pages, making it sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described in the schema. The description repeats label format constraints (letters, numbers, hyphens, underscores) which are already in the schema, adding no new semantic 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 'Add a label to a page', specifying verb and resource. Among siblings like remove_confluence_label and get_confluence_labels, it is distinct.

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?

Description explains that labels help organize content and aid search via search_confluence_pages, implying when to use. However, it does not explicitly state when not to use or directly name alternatives.

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

create_confluence_pageC

Create a new page in a space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesID of the space to create the page in
titleYesTitle of the page
contentYesContent of the page in Confluence storage format
parentIdNoID of the parent page (optional)

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 should disclose behavioral traits beyond creation. It fails to mention that the page is created in Confluence storage format, or any side effects, authentication requirements, or error conditions.

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 extremely concise at one sentence, which is efficient. However, it may be too terse to be fully informative, but it does not waste 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 the tool has 4 parameters, 3 required, and no output schema, the description is incomplete. It does not explain the storage format for content, the optional parentId behavior, or what the response looks like.

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 description adds no additional meaning. The description simply repeats the overall purpose without enhancing 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 clearly states the tool creates a page, but does not differentiate from sibling tools like update_confluence_page or list_confluence_pages. However, the verb+resource combination is specific enough for basic understanding.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, such as needing space access, or when to use update instead.

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

find_confluence_pageA

Find and retrieve a Confluence page by its title. Returns the page content in markdown format, along with metadata. Optionally specify a spaceId to narrow the search. If multiple pages match the title, returns a list of matches to choose from. TIP: Use this when you know the exact page title, but prefer search_confluence_pages for partial matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the page to find
spaceIdNoOptional space ID to limit the search scope

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, but description discloses return format (markdown content, metadata) and behavior for multiple matches (returns list). Could be more explicit about read-only nature, but adequately transparent for a retrieval 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?

Two sentences plus a tip, front-loaded with key action. No unnecessary words. Highly efficient.

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?

No output schema, but description explains return format. With sibling tools listed, provides sufficient context for agent to decide. Missing details on response structure (e.g., specific metadata fields), but acceptable for a simple retrieval tool.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both parameters. Description adds minimal value beyond schema, just reiterates title and optional spaceId. 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?

Clearly states 'Find and retrieve a Confluence page by its title' with specific verb and resource. Distinguishes from sibling 'search_confluence_pages' by mentioning exact title vs partial matches.

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 advises when to use ('when you know the exact page title') and when to use alternative ('prefer search_confluence_pages for partial matches'). Also notes optional spaceId to narrow scope.

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

get_confluence_labelsB

Get labels for a page. Use this to understand page categorization and find related content through common labels.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesID of the page

TDQS

B3.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 does not disclose any behavioral traits such as read-only nature, authentication needs, rate limits, or error conditions. The description carries the full burden but adds minimal 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 efficient sentences, front-loaded with the action and purpose. No unnecessary words.

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

Completeness4/5

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

For a simple read tool with one required parameter and no output schema, the description adequately covers purpose and usage context. Minor gaps in behavioral details reduce the score.

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% coverage with description for pageId. The tool description does not add any further meaning to the parameter beyond what the schema provides.

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

Purpose4/5

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

The description clearly states it gets labels for a page with verb 'Get' and resource 'labels for a page', and explains the purpose of categorization and finding related content. It does not explicitly distinguish from siblings like add_confluence_label but the operation is distinct enough.

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 context for use ('to understand page categorization and find related content'), but does not specify when not to use it or mention alternative tools like search or page retrieval.

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

get_confluence_pageA

Get a specific Confluence page by its ID. Returns the complete page content in markdown format, along with metadata like version history and space information. The page ID can be found in search results, page listings, or other API responses. TIP: Save page IDs from searches for direct access to frequently needed pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesID of the page to retrieve

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It states it returns content in markdown and metadata like version history and space info. It does not disclose error behavior or side effects, but for a simple get operation, it is adequately transparent.

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 plus a tip, all front-loaded with the main action. Every sentence serves a purpose: action/output, source of ID, and advice. No redundant or missing information.

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

Completeness4/5

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

Given the simplicity (1 param, no output schema), the description explains input source and output format (markdown, metadata). It could mention error handling but is otherwise complete for the tool's scope.

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

Parameters4/5

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

Schema coverage is 100% with 'pageId' described as 'ID of the page to retrieve'. The description adds value by explaining where to find page IDs, enhancing the parameter's meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'specific Confluence page by its ID'. It distinguishes from sibling tools like find_confluence_page (search) and list_confluence_pages by specifying retrieval via ID, not search or listing.

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 that page ID is found in search results and other responses, implying use when ID is known. The tip suggests saving IDs for direct access, providing implicit guidance but no explicit when-not or alternatives.

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

get_confluence_spaceB

Get details about a specific space

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesID of the space to retrieve

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so the description must fully convey behavior. It implies a read operation but does not disclose any permissions needed, rate limits, or other potential side effects beyond basic retrieval.

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, front-loading the purpose in a single sentence with no unnecessary 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?

While the tool is simple, the description does not hint at the output structure or what 'details' entail, which is important given the absence of an output schema. The description could be more complete to guide the 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?

The parameter 'spaceId' is fully described in the schema with 100% coverage, and the description adds no additional meaning beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool retrieves details for a specific space, distinguishing it from sibling tools like list_confluence_spaces that list multiple spaces.

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 such as list_confluence_spaces or get_confluence_page. The description lacks explicit context or exclusions.

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

list_confluence_pagesA

List all pages in a Confluence space. Best used when you need to explore all content in a specific space rather than searching for specific terms. Returns page IDs, titles, and metadata. TIP: Use this when search_confluence_pages might miss relevant pages or when you need a complete inventory of pages in a space.

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesID of the space to list pages from
limitNoMaximum number of pages to return (default: 25)
startNoStarting index for pagination (default: 0)

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It mentions returns include page IDs, titles, and metadata, but lacks details on pagination behavior, rate limits, or any side effects.

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

Conciseness5/5

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

Two concise sentences plus a tip, with no wasted words. Front-loads the core purpose and follows with usage guidance.

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?

Lacks output schema but describes return fields (page IDs, titles, metadata). Could mention pagination details or result limits, but schema covers parameters; still adequate for a list tool.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds no additional parameter context beyond what's in the schema. It mentions 'space' but doesn't elaborate on parameters like limit or start.

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 pages in a Confluence space, distinguishing it from the sibling search_confluence_pages by specifying exploration of all content vs. searching for specific terms.

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 advises using this tool when search_confluence_pages might miss relevant pages or for a complete inventory, providing clear when-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_confluence_spacesA

List all available Confluence spaces. Best used as the first step in a content discovery workflow. Returns space IDs, names, and keys that you can use with other tools. TIP: Use a higher limit (e.g., 100) on first call to get a comprehensive view of available spaces.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of spaces to return (default: 25)
startNoStarting index for pagination (default: 0)

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It mentions return values (space IDs, names, keys) and offers a tip about using a higher limit, but it does not disclose potential issues like rate limits, errors, or side effects. A 3 is appropriate as it adds some behavioral context but lacks comprehensive transparency.

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: two sentences and a tip. It is front-loaded with the main purpose. The structure is clear, though the tip could be integrated.

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

Completeness4/5

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

Given no output schema, the description explains the return values (IDs, names, keys) and hints at pagination with limit and start. This is mostly complete for a listing tool, though it could mention pagination behavior more explicitly.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by suggesting a higher limit and mentioning pagination implicitly, but it does not go beyond the schema's description significantly. The tip about limit adds practical context.

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 'List all available Confluence spaces,' providing a specific verb-resource combination. It also distinguishes itself by noting it is the best first step in a content discovery workflow and that it returns IDs, names, and keys for use with other tools.

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

Usage Guidelines4/5

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

The description advises using this tool as the first step and recommends a higher limit on the first call. While it does not explicitly list when not to use it or compare with siblings, the context signals imply it is for initial enumeration, not for searching or filtering.

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

remove_confluence_labelA

Remove a label from a page.

Error Handling:

  • Returns 403 for insufficient permissions

  • Returns 404 if page or label not found

Response includes:

  • Success status

  • Operation details (pageId, label, operation type)

  • Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesID of the page
labelYesLabel to remove

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses error handling (403 for permissions, 404 for missing page/label) and response structure. While it does not explicitly state that the operation is destructive, the error codes and context sufficiently convey behavior, especially without annotations.

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

Conciseness5/5

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

The description is concise with only four sentences. It front-loads the main purpose, then covers error handling and response, with no extraneous information.

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

Completeness5/5

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

Given the lack of annotations and output schema, the description provides sufficient context: purpose, error conditions, and response details. It is complete for a straightforward removal operation.

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 both parameters. The description does not add additional meaning beyond what is in the schema, so a 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 'Remove a label from a page.' It uses a specific verb and resource, distinguishing it clearly from the sibling 'add_confluence_label'.

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

Usage Guidelines4/5

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

The description implies usage for removing a label from a page. It does not explicitly provide when-not-to-use or alternatives, but the sibling list makes it clear that 'add_confluence_label' is the opposite operation.

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

search_confluence_pagesA

Search across Confluence pages using simple text or CQL (Confluence Query Language).

Query Types:

  1. Simple Text Search:

    • Just provide the search term directly (e.g., "documentation")

    • The system automatically wraps it in proper CQL syntax

  2. Advanced CQL Search:

    • Must include "type =" to signal raw CQL usage

    • Examples:

      • type = "page" AND text ~ "project"

      • type = "page" AND space.key = "TEAM"

      • type = "page" AND created >= "2024-01-01"

Search Capabilities:

  • Full text search across all pages

  • Space-specific searches

  • Content type filtering

  • Metadata-based filtering

CQL Operators (for advanced queries):

  • ~ : contains

  • = : equals

  • != : not equals

  • AND, OR : combine conditions

  • () : group conditions

  • = <= : date comparisons

  • IN : multiple values

Common Search Patterns:

  • Finding pages in specific space: type = "page" AND space.key = "SPACENAME" AND text ~ "searchterm"

  • Finding recent pages: type = "page" AND created >= "2024-01-01" AND text ~ "searchterm"

  • Finding pages by title: type = "page" AND title ~ "exactname"

  • Finding pages by label: type = "page" AND label = "labelname"

Response includes:

  • Page ID, title, and type

  • Space information

  • URL to the page

  • Last modified date

  • Content excerpt with search term highlighting

Pagination:

  • Use 'limit' to control results per page (default: 25)

  • Use 'start' for pagination offset

Workflow Tips:

  1. Start with list_confluence_spaces to get space keys

  2. Use space-specific searches for better results

  3. Use the returned pageId with get_confluence_page for full content

  4. Look for highlighted excerpts in results to identify most relevant matches

Best Practices:

  1. Start with simple text searches when possible

  2. Use advanced CQL (with 'type =') for complex queries

  3. Use space-specific searches for better performance

  4. Use get_confluence_page to fetch full content of found pages

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query - either simple text (e.g., 'documentation') or CQL query (must include 'type =' for CQL mode, e.g., 'type = "page" AND text ~ "project"')
limitNoMaximum number of results to return (default: 25)
startNoStarting index for pagination (default: 0)

TDQS

A4.8/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains query types, operators, search capabilities, response format (including excerpts with highlighting), and pagination. Does not explicitly mention that the tool is read-only, but the behavior described (search returning results) implies no side effects. Could be slightly more explicit about read-only nature.

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 well-organized into labeled sections (Query Types, Search Capabilities, CQL Operators, etc.). Every sentence adds useful information—no fluff. It efficiently packs a lot of detail without being verbose, and the structure makes it easy to scan.

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

Completeness5/5

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

Given the tool's complexity (CQL, multiple filtering options, pagination) and lack of output schema, the description thoroughly covers what the agent needs: query syntax, operators, common patterns, pagination, response fields, and workflow integration with sibling tools. No gaps identified.

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?

Schema coverage is 100%, but description adds significant value: explains the two query modes and how to switch between them, provides extensive CQL examples for each operator and common patterns, clarifies default values for limit and start, and describes the response fields. Goes well beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool searches Confluence pages using either simple text or CQL. It distinguishes from sibling tools like get_confluence_page (retrieves single page) and list_confluence_pages (lists without search). The verb 'search' and resource 'Confluence pages' are specific.

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

Usage Guidelines5/5

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

Explicitly provides guidance on when to use simple text vs advanced CQL, with instructions like 'must include type = for CQL mode'. Includes workflow tips (start with list_confluence_spaces) and best practices (use space-specific searches, use get_confluence_page for full content). Clearly tells when to use this vs. other tools.

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

update_confluence_pageB

Update an existing page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesID of the page to update
titleYesNew title of the page
contentYesNew content in Confluence storage format
versionYesCurrent version number of the page

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It fails to disclose behaviors like optimistic locking (version parameter), idempotency, error conditions, or permission requirements beyond the basic update operation.

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

Conciseness5/5

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

The description is extremely concise at 4 words, with no redundancy. It is front-loaded and immediately communicates the core purpose. Every word earns its place.

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

Completeness2/5

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

Given no output schema and 4 required parameters, the description is incomplete. It omits details on return value, version handling, error behaviors, and how updates interact with Confluence's page structure. A more complete description would clarify these aspects.

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 4 parameters with descriptions (100% coverage). The description adds no additional meaning beyond what the schema already provides. For example, it does not explain Confluence storage format for content or the role of version in conflict detection.

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 'Update an existing page' clearly states the action (update) and the resource (existing page). It contrasts with sibling tools like create_confluence_page (create) and get/find/list (read), making the purpose unambiguous.

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

Usage 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., create_confluence_page for new pages, or find_confluence_page for searching). The description does not specify prerequisites, such as needing the page ID or version.

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. 11 tool updatesv1.0.0
    • Addedadd_confluence_label
    • Addedcreate_confluence_page
    • Addedfind_confluence_page
    • Addedget_confluence_labels
    • Addedget_confluence_page
    • Addedget_confluence_space
    • Addedlist_confluence_pages
    • Addedlist_confluence_spaces
    • Addedremove_confluence_label
    • Addedsearch_confluence_pages
    • Addedupdate_confluence_page

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose. find_confluence_page is for exact title matches, search_confluence_pages for partial/text searches, and get_confluence_page for direct ID access. Labels and spaces tools are also well-separated.

Naming Consistency5/5

All tools follow a consistent verb_confluence_noun pattern (e.g., add_confluence_label, create_confluence_page, list_confluence_spaces). No mixing of conventions or ambiguous verbs.

Tool Count5/5

11 tools cover the core functionality of a Confluence content server (CRUD for pages, spaces, labels) without being excessive. Each tool earns its place.

Completeness3/5

The set covers most page operations (create, read, update, search) but notably lacks a delete_page tool. Labels have add/get/remove but no update. Missing delete is a significant gap for a CRUD-oriented server.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers