Skip to main content
Glama

confluence_search

Search Confluence content using plain text or CQL, filter by space, and control result limits.

Instructions

Search Confluence content using simple terms or CQL.

Args: ctx: The FastMCP context. query: Search query - can be simple text or a CQL query string. limit: Maximum number of results (1-50). spaces_filter: Comma-separated list of space keys to filter by.

Returns: JSON string representing a list of simplified Confluence page objects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results (1-50)
queryYesSearch query - can be either a simple text (e.g. 'project documentation') or a CQL query string. Simple queries use 'siteSearch' by default, to mimic the WebUI search, with an automatic fallback to 'text' search if not supported. Examples of CQL: - Basic search: 'type=page AND space=DEV' - Personal space search: 'space="~username"' (note: personal space keys starting with ~ must be quoted) - Search by title: 'title~"Meeting Notes"' - Use siteSearch: 'siteSearch ~ "important concept"' - Use text search: 'text ~ "important concept"' - Recent content: 'created >= "2023-01-01"' - Content with specific label: 'label=documentation' - Recently modified content: 'lastModified > startOfMonth("-1M")' - Content modified this year: 'creator = currentUser() AND lastModified > startOfYear()' - Content you contributed to recently: 'contributor = currentUser() AND lastModified > startOfWeek()' - Content watched by user: 'watcher = "user@domain.com" AND type = page' - Exact phrase in content: 'text ~ "\"Urgent Review Required\"" AND label = "pending-approval"' - Title wildcards: 'title ~ "Minutes*" AND (space = "HR" OR space = "Marketing")' Note: Special identifiers need proper quoting in CQL: personal space keys (e.g., "~username"), reserved words, numeric IDs, and identifiers with special characters.
spaces_filterNo(Optional) Comma-separated list of space keys to filter results by. Overrides the environment variable CONFLUENCE_SPACES_FILTER if provided. Use empty string to disable filtering.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It mentions the return format ('JSON string representing a list of simplified Confluence page objects') but does not disclose internal behavior such as default search type, error handling, or rate limits. Some behavioral details exist in the schema (e.g., siteSearch fallback), but the description itself adds only minimal context.

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 and well-structured with a purpose statement, Args block, and Returns block. However, the Args list largely duplicates schema descriptions, so not every sentence earns its place. Still, it is front-loaded with the main purpose and avoids verbosity.

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

Completeness4/5

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

The tool has a rich parameter schema (100% coverage) and an output schema, so the description does not need to explain return values in depth. The overall definition, combining description and schema, provides sufficient context for a search tool with complex CQL support. Minor gaps remain around error handling, but the existing structure is adequate.

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 the description's argument list repeats the schema's parameter descriptions verbatim or nearly so. The description adds no semantic value beyond the schema; the extensive CQL examples and spaces_filter behavior are already in the parameter descriptions.

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

Purpose5/5

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

The description clearly states 'Search Confluence content using simple terms or CQL', naming the specific verb (search), resource (Confluence content), and scope (simple terms or CQL). This distinguishes it from sibling tools like confluence_get_page (direct retrieval) and confluence_search_user (user search). The purpose is 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?

The description implies usage for searching Confluence content, which is clear but does not explicitly state when to use it over alternatives like get_page or search_user. It provides no exclusions or alternative tool names, but the purpose and parameters give sufficient context for when to search versus direct lookup.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SharkyND/mcp-atlassian'

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