@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
159 lines (158 loc) • 3.12 kB
TypeScript
/**
* Types for Confluence comments API
*/
/**
* Parameters for listing comments on a page
*/
export interface ListPageCommentsParams {
/**
* ID of the page to get comments for
*/
pageId: string;
/**
* Maximum number of results to return
*/
limit?: number;
/**
* Starting point for pagination
*/
start?: number;
/**
* Body format (storage, view, atlas_doc_format)
*/
bodyFormat?: 'storage' | 'view' | 'atlas_doc_format';
}
/**
* Comment content body with multiple possible formats
*/
export interface CommentBody {
/**
* Storage format (XML-based)
*/
storage?: {
value: string;
representation: string;
embeddedContent: unknown[];
};
/**
* HTML view
*/
view?: {
value: string;
representation: string;
};
/**
* Atlassian Document Format
*/
atlas_doc_format?: {
value: string;
representation: string;
};
}
/**
* Inline comment properties (position, text context, etc.)
*/
export interface InlineProperties {
/**
* The original text that was highlighted/commented on
*/
originalSelection?: string;
/**
* The container element identifier
*/
containerId?: string;
/**
* Text representation for the highlighted text
*/
textContext?: string;
/**
* Metadata about the comment position
*/
markerRef?: string;
/**
* Additional positioning information
*/
[key: string]: unknown;
}
/**
* Comment location (inline, footer, etc.)
*/
export interface CommentExtensions {
/**
* Location of the comment (e.g., "inline" for inline comments)
*/
location: string;
/**
* Properties specific to inline comments
*/
inlineProperties?: InlineProperties;
/**
* Resolution info for resolved comments
*/
resolution?: unknown;
}
/**
* Single comment data structure
*/
export interface CommentData {
/**
* Comment ID
*/
id: string;
/**
* Comment type (usually "comment")
*/
type: string;
/**
* Status of the comment ("current", "resolved", etc.)
*/
status: string;
/**
* Comment title
*/
title: string;
/**
* Comment body in different formats
*/
body: CommentBody;
/**
* Extensions containing metadata like comment location
*/
extensions?: CommentExtensions;
/**
* Links to access the comment
*/
_links: {
webui: string;
self: string;
};
}
/**
* Response for list comments API
*/
export interface ListCommentsResponse {
/**
* Array of comment results
*/
results: CommentData[];
/**
* Start index for pagination
*/
start: number;
/**
* Limit used for this response
*/
limit: number;
/**
* Total size of available results
*/
size: number;
/**
* Links for pagination, etc.
*/
_links: {
base: string;
context: string;
self: string;
};
}