@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
50 lines (49 loc) • 2.18 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()
.min(1)
.max(100)
.optional()
.describe('Maximum number of items to return (1-100). Use this to control the response size. Useful for pagination or when you only need a few results. 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. Use this to navigate through large result sets. The cursor value can be obtained from the pagination information in a previous response.'),
};
/**
* 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('Filter spaces by type. Options include: "global" (team spaces), "personal" (user spaces), or "archived" (archived spaces). If omitted, returns all types.'),
status: zod_1.z
.enum(['current', 'archived'])
.optional()
.describe('Filter spaces by status. Options include: "current" (active spaces) or "archived" (archived spaces). If omitted, returns spaces with all statuses.'),
query: zod_1.z
.string()
.optional()
.describe('Search filter to find spaces matching specific text in their name, key, or description (text search).'),
...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;