View as Markdown

Confluence Cloud Integration

Manage Confluence spaces, pages, search, comments, and attachments

The Confluence Cloud integration provides access to manage Confluence spaces, pages, search, comments, and attachments through the Integrate MCP server.

Installation

The Confluence Cloud integration is included with the SDK:

import { confluenceIntegration } from "integrate-sdk/server";

Setup

1. Create a Confluence Cloud OAuth App

  1. Go to Auth Developer Portal
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Confluence Cloud integration to your server configuration. The integration automatically reads CONFLUENCE_CLIENT_ID and CONFLUENCE_CLIENT_SECRET from your environment variables:

import { createMCPServer, confluenceIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    confluenceIntegration({
      scopes: ["read:confluence-content.all", "write:confluence-content", "read:confluence-space.summary", "read:confluence-props", "offline_access"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

confluenceIntegration({
  clientId: process.env.CUSTOM_CONFLUENCE_ID,
  clientSecret: process.env.CUSTOM_CONFLUENCE_SECRET,
      scopes: ["read:confluence-content.all", "write:confluence-content", "read:confluence-space.summary", "read:confluence-props", "offline_access"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("confluence");
const result = await client.confluence.listAccessibleResources({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, confluenceIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [confluenceIntegration()],
});

Configuration Options

export interface ConfluenceIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • read:confluence-content.all
  • write:confluence-content
  • read:confluence-space.summary
  • read:confluence-props
  • offline_access

Tools

confluence_list_accessible_resources

List accessible resources

No parameters.

confluence_list_spaces

List spaces

export interface ConfluenceListSpacesParams { cloud_id: string;

confluence_get_space

Get space

export interface ConfluenceGetSpaceParams { cloud_id: string;

confluence_list_pages

List pages

export interface ConfluenceListPagesParams { cloud_id: string;

confluence_get_page

Get page

export interface ConfluenceGetPageParams { cloud_id: string;

confluence_create_page

Create page

export interface ConfluenceCreatePageParams { cloud_id: string;

confluence_update_page

Update page

export interface ConfluenceUpdatePageParams { cloud_id: string;

confluence_delete_page

Delete page

export interface ConfluenceDeletePageParams { cloud_id: string;

Search

export interface ConfluenceSearchParams { cloud_id: string;

confluence_list_comments

List comments

export interface ConfluenceListCommentsParams { cloud_id: string;

confluence_create_comment

Create comment

export interface ConfluenceCreateCommentParams { cloud_id: string;

confluence_list_attachments

List attachments

export interface ConfluenceListAttachmentsParams { cloud_id: string;

Notes

  • Category: Productivity
  • Authentication mode: OAuth