@aashari/mcp-server-atlassian-confluence
Version:
Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP in
76 lines (75 loc) • 3.62 kB
TypeScript
import { PageDetailed, PagesResponse, ListPagesParams, GetPageByIdParams } from './vendor.atlassian.pages.types.js';
/**
* @namespace VendorAtlassianPagesService
* @description Service for interacting with Confluence Pages API.
* Provides methods for listing pages and retrieving page details.
* All methods require valid Atlassian credentials configured in the environment.
*/
/**
* List Confluence pages with optional filtering and pagination
*
* Retrieves a list of pages from Confluence with support for various filters
* and pagination options. Pages can be filtered by space, status, parent, etc.
*
* @async
* @memberof VendorAtlassianPagesService
* @param {ListPagesParams} [params={}] - Optional parameters for customizing the request
* @param {string[]} [params.id] - Filter by page IDs
* @param {string[]} [params.spaceId] - Filter by space IDs
* @param {string} [params.parentId] - Filter by parent page ID
* @param {string} [params.sort] - Sort order for results
* @param {string[]} [params.status] - Filter by page status
* @param {string} [params.title] - Filter by page title
* @param {string} [params.bodyFormat] - Format for page body content
* @param {string} [params.cursor] - Pagination cursor
* @param {number} [params.limit] - Maximum number of results to return
* @returns {Promise<PagesResponse>} Promise containing the pages response with results and pagination info
* @throws {Error} If Atlassian credentials are missing or API request fails
* @example
* // List pages from a specific space
* const response = await list({
* spaceId: ['123'],
* status: ['current'],
* limit: 25
* });
*/
declare function list(params?: ListPagesParams): Promise<PagesResponse>;
/**
* Get detailed information about a specific Confluence page
*
* Retrieves comprehensive details about a single page, including content,
* metadata, and optional components like labels, properties, and versions.
*
* @async
* @memberof VendorAtlassianPagesService
* @param {string} id - The ID of the page to retrieve
* @param {GetPageByIdParams} [params={}] - Optional parameters for customizing the response
* @param {string} [params.bodyFormat] - Format for page body content
* @param {boolean} [params.getDraft] - Whether to retrieve draft version
* @param {string[]} [params.status] - Filter by page status
* @param {number} [params.version] - Specific version to retrieve
* @param {boolean} [params.includeLabels] - Include page labels
* @param {boolean} [params.includeProperties] - Include page properties
* @param {boolean} [params.includeOperations] - Include available operations
* @param {boolean} [params.includeLikes] - Include like information
* @param {boolean} [params.includeVersions] - Include version history
* @param {boolean} [params.includeVersion] - Include version details
* @param {boolean} [params.includeFavoritedByCurrentUserStatus] - Include favorite status
* @param {boolean} [params.includeWebresources] - Include web resources
* @param {boolean} [params.includeCollaborators] - Include collaborator information
* @returns {Promise<PageDetailed>} Promise containing the detailed page information
* @throws {Error} If Atlassian credentials are missing or API request fails
* @example
* // Get page details with labels and versions
* const page = await get('123', {
* bodyFormat: 'storage',
* includeLabels: true,
* includeVersions: true
* });
*/
declare function get(id: string, params?: GetPageByIdParams): Promise<PageDetailed>;
declare const _default: {
list: typeof list;
get: typeof get;
};
export default _default;