MCP Atlassian

import { z } from 'zod'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { ConfluenceService } from '../services/confluence'; import { formatResponse, formatErrorResponse } from './utils'; /** * Register the get-confluence-pages tool with the MCP server * @param server The MCP server instance * @param confluenceService The Confluence service instance */ export function registerGetConfluencePagesTool( server: McpServer, confluenceService: ConfluenceService, ) { server.tool( 'get_confluence_pages', { spaceKey: z.string().describe('The key of the Confluence space'), limit: z .number() .optional() .describe('The maximum number of results to return (default: 100)'), }, async ({ spaceKey, limit }) => { try { const pages = await confluenceService.getPagesInSpace(spaceKey, limit); return formatResponse(pages); } catch (err) { return formatErrorResponse(err); } }, ); }