@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
48 lines (47 loc) • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetSpaceToolArgs = exports.ListSpacesToolArgs = void 0;
const zod_1 = require("zod");
/**
* Base pagination arguments for all tools
*/
const PaginationArgs = {
limit: zod_1.z
.number()
.int()
.positive()
.min(1)
.max(100)
.optional()
.describe('Maximum number of items to return (1-100). Controls the response size. Defaults to 25 if omitted. The Confluence API caps results at 100 items per request.'),
cursor: zod_1.z
.string()
.optional()
.describe('Pagination cursor for retrieving the next set of results. Obtain this opaque string from the metadata.pagination.nextCursor of a previous response when more results are available. Confluence uses cursor-based pagination rather than offset-based pagination.'),
};
/**
* Arguments for listing Confluence spaces
* Matches the controller's ListSpacesOptions interface
*/
const ListSpacesToolArgs = zod_1.z.object({
type: zod_1.z
.enum(['global', 'personal', 'archived'])
.optional()
.describe('Optional: Filter spaces by type. Options: "global" (team spaces), "personal" (user spaces), or "archived" (archived spaces). If omitted, returns spaces of all types.'),
status: zod_1.z
.enum(['current', 'archived'])
.optional()
.describe('Optional: Filter spaces by status. Options: "current" (active spaces) or "archived" (archived spaces). If omitted, returns spaces with all statuses.'),
...PaginationArgs,
});
exports.ListSpacesToolArgs = ListSpacesToolArgs;
/**
* Arguments for getting a specific Confluence space
* Matches the controller's get function signature
*/
const GetSpaceToolArgs = zod_1.z.object({
spaceKey: zod_1.z
.string()
.describe('The key of the Confluence space to retrieve (e.g., "DEV" or "MARKETING"). The space key is a unique identifier for a space, typically a short uppercase code.'),
});
exports.GetSpaceToolArgs = GetSpaceToolArgs;