Skip to main content

Double's MCP Server

Integrate AI agents with Double using our MCP server.

What is Double's MCP server?

Double's MCP (Model Context Protocol) gives your AI agents tools to read and make updates to your account. This lets you manage your clients, teammates, and tasks through an AI assistant without switching apps.

For example, you could ask your AI assistant:

  • My teammate Melissa will be out of office next week, can you reassign their tasks to Jillian?

  • Here's a transcript of an onboarding meeting I had with a client - please create some action items as tasks in the General task section. I want these to be due at the end of the week and assigned to Ryan.

  • I'd like to know how my team's performing. Which users are completing the most work, and which are routinely completing their tasks late? Could you provide me with a score for each of them?

  • I need some calendar reminders - can you create tasks in my google calendar for all of the Double tasks that are due today and assigned to me?


Connecting AI agents with Double

Double's MCP currently supports custom connections with Claude, ChatGPT, and Microsoft Copilot.

Claude

  1. In the Claude desktop app, open the sidebar menu

  2. Navigate to Customize → Connectors

  3. Click the + button then Add custom connector:

    1. Name = Double

    2. Remote MCP server URL = https://api.doublehq.com/mcp

You can also configure permissions to control what your agent is allowed to perform inside of your Double account. We recommend setting read-only tools to Always allow by default, but setting permissions for write tools more granularly as you get used to working with the MCP.

If you're using a Team or Enterprise Claude plan, an Owner will need to add the custom connector before teammates can enable it. Once the owner has added the connector to the organization, each team member will be able to connect it individually.


ChatGPT

  1. From the ChatGPT webpage, click on your account profile icon in the bottom left-hand corner

  2. Navigate to Settings → Apps

  3. Beside Advanced Settings, press Create app:

    1. Name = Double

Demo: ChatGPT


Gemini CLI

To access MCP servers using Gemini, you’ll first need to set up Gemini CLI. For more details on this process, please see Gemini’s article here: Getting Started with Gemini CLI

  1. Find and edit your Gemini settings file (~/.gemini/settings.json)

    1. In your terminal, you can type “subl ~/.gemini/settings.json” followed by enter to access this file directly

  2. Paste the following text immediately before the final “]” in the text file:
    "mcpServers": {

    "double": {

  3. Save your file using its existing name. It should look something like the image below:

  4. To authenticate your credentials, type “/mcp auth double” and sign into your Double account


Microsoft Copilot

  1. In the Copilot Studio webpage, navigate to Tools and add a new tool

  2. Select Model Context Protocol

    1. Name: Double MCP (or your own custom name)

    2. Server Description: This is used to connect with Double's MCP (or your own custom description)

    3. Authentication: OAuth 2.0

    4. Type: Dynamic discovery

  3. Create your tool, then next to “Connection” you can create a new connection. You will be prompted to sign into your Double account to complete your connection

  4. You should now be able to input prompts in your M365 Teams application to access Double’s MCP server. We recommend sending the prompt “send a ping to Double” - this should return “pong”

    1. If this returns an error and prompts you to visit your connection manager, please follow the link provided by Microsoft to reconnect your tool to the agent

You can also configure permissions to control what your tool is allowed to perform inside of your Double account. We recommend allowing permissions for read-only tools (tools starting with “list” or “get”), but setting permissions for write tools more granularly as you get used to working with the MCP.


Tools

The MCP server supports the following tools:

Read-only tools:

Tool Name

Tool Description

get_client

Returns client details for a single client

get_end_close

Returns status and assignee for a specific close period

get_posts

Lists portal posts (client questions) for a client

get_property_columns

Gets all property column definitions for the practice, including available options

get_tags

Lists available tags for client questions (non-transaction posts)

get_task

Returns details for a single task

get_task_templates

Retrieves all task templates available for the practice, including tasks within them

get_user

Returns details for a specific user

list_activity_log

Retrieves activity log entries with optional filters for client, user, contact, and date

list_activity_log_actions

Returns all valid activity log action values usable as filters

list_client_properties

Lists all custom properties and their values for a client

list_clients

Lists clients & client information

list_comments

Retrieves comments with optional filters for client, type, task, thread, and date

list_contacts

Lists portal contacts in the current practice

list_end_close_statuses

Lists all available statuses for monthly close periods

list_end_closes

Lists monthly close periods along with status and assignee

list_notes

Lists all notes for a client

list_sections

Lists all valid task sections where tasks can be manually created

list_tasks

Lists tasks along with status, assignee, and due dates

list_timers

Retrieves time tracking entries with optional filters for user, client, workstream, and date

list_users

Lists users along with their names, emails, and roles

list_workstreams

Lists available workstreams for time tracking

ping

Health check — returns pong

Write/delete tools:

Tool Name

Tool Description

add_post

Creates a new non-transaction portal question for a client

add_task_comment

Adds a comment to a task

add_timer

Creates a new time tracking entry

create_client

Creates a new unconnected client

create_closing_task

Creates a new task in a closing task section for a specific close period

create_contact

Creates a new portal contact

create_custom_task

Creates a new task in a custom task section

create_firm_task

Creates a practice-level firm task not tied to any specific client

create_note

Creates a new note for a client

update_closing_task

Updates an existing closing task

update_contact

Updates an existing portal contact

update_custom_task

Updates an existing custom task

update_end_close

Updates a monthly close period

update_firm_task

Updates a practice-level firm task


Getting Started with Double's MCP Server

Here's a quick overview of how to get started with Double's new MCP server.

Pro Tip

  • Specifically tell the AI agent to use the Double MCP to action your request


Did this answer your question?