← Public packages
@kody/atlassian
Read Jira and Confluence through the official Atlassian MCP server, with Jira OAuth or API-token fallback.
src/search-confluence.ts
41 lines · 1.1 KB · TypeScriptimport { atlassianMcpSetupMessage, callAtlassianMcp, firstArray } from './mcp.ts'
type SearchConfluenceInput = {
query?: string
cql?: string
limit?: number
}
/**
* Search Confluence through the connected Atlassian MCP server.
* @param input - Optional helper arguments (query, limit, filters).
* @returns Structured helper result for agents.
* @example
* import searchConfluence from 'kody:@kody/atlassian/search-confluence'
* const result = await searchConfluence()
* // => { ... }
*/
export default async function searchConfluence(input: SearchConfluenceInput = {}) {
const query = input.query?.trim() || input.cql?.trim() || ''
const mcp = await callAtlassianMcp(
[
'searchConfluenceUsingCql',
'search_confluence_using_cql',
'getConfluencePage',
'search',
],
{
cql: input.cql?.trim() || (query ? `text ~ "${query.replaceAll('"', '\\"')}"` : undefined),
query,
limit: input.limit ?? 10,
},
)
if (!mcp) {
throw new Error(atlassianMcpSetupMessage())
}
return {
via: 'mcp',
tool: mcp.tool,
pages: firstArray(mcp.result) ?? mcp.result,
}
}