# DocuSign MCP connector

The DocuSign connector brings DocuSign users, contacts, permission profiles, templates, and billing invoices to Claude, ChatGPT, Cursor, and any MCP client, so each person works inside their own DocuSign access with every call logged.

Source: https://elaichi.ai/connectors/docusign/

## Facts

| | |
| --- | --- |
| Application | DocuSign |
| Category | Cloud Storage |
| AI tools | 69 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 69 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once DocuSign is connected

- List DocuSign users added to the Legal permission profile
- Which DocuSign contacts have no assigned permission profile?
- Show custom settings for our DocuSign sales users

## Connect DocuSign in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick DocuSign.
2. Optionally set Share with, then press Connect.
3. Supply your own DocuSign app, then approve. DocuSign needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which DocuSign tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect DocuSign to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect DocuSign to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect DocuSign to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect DocuSign to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a DocuSign tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with DocuSign through Elaichi

### Set up a new hire in DocuSign

IT. Create the DocuSign user, fill in their profile, and check which permission profile they have landed on, all from the same conversation where the onboarding ticket came in.

### Close a leaver's DocuSign seat the same day

People. Look up the departing employee, confirm the account is theirs, and remove the DocuSign user so the seat is not paying for someone who has gone.

### Find the right template before anyone sends

Legal. Ask which DocuSign templates exist for an NDA, an MSA, or an offer letter, and pull up the details of one to confirm it is the current approved version.

### Keep signer contacts current after a call

Sales. When a buyer changes their email or a new signer joins the deal, update the DocuSign contact or add a new one without opening the address book by hand.

### Check the DocuSign plan and latest invoice

Finance. Pull up the current DocuSign billing plan and recent invoices to answer a budget question or reconcile a charge, without asking the DocuSign admin for a screenshot.

### Review who holds which DocuSign permissions

Operations. List every DocuSign user alongside their permission profile to spot people with more access than their role needs, and adjust the ones that are wrong.

## Frequently asked questions

### How do I connect DocuSign to Claude?

Connect DocuSign in Elaichi first, then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. DocuSign asks your organization to register an OAuth application inside DocuSign itself, so one administrator brings a client ID and secret across once when setting the connector up. After that, each person simply signs in to DocuSign in the browser the first time they use it, and nobody else ever handles those details.

### Does DocuSign work with ChatGPT and Cursor as well as Claude?

Yes. Once DocuSign is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect DocuSign once and every client your team uses can reach it.

### What can an AI agent actually do with my DocuSign data?

With DocuSign connected, an agent can add, update, and remove DocuSign users, look up which permission profile each person holds, and keep signer contacts current. It can also find the right DocuSign template, and pull up your billing plan and invoices for a finance question. Because DocuSign has a large number of actions available, short concrete asks like "list our DocuSign templates" tend to get better results than long multi-part requests.

### Does connecting DocuSign give the AI access to everything in my account?

No. Every request to DocuSign runs as the person who signed in, so an agent can only see the users, contacts, templates, and billing details that person's own DocuSign permission profile already allows. Elaichi can narrow that access further by team or by action, but it can never widen it beyond what DocuSign itself grants that person.

### Can my team share one DocuSign connection?

Yes. One administrator connects DocuSign in Elaichi and shares the connection with a team, and nobody else on that team ever sees a client ID, secret, or password. Each teammate still signs in to DocuSign as themselves, so every action in the audit log carries the name of the person who actually did it.

### Can I stop an agent from deleting or changing things in DocuSign?

Yes. In Elaichi you can restrict DocuSign actions individually, for example allowing agents to look up users and templates while blocking any action that deletes a DocuSign user or contact. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a DocuSign connection when someone leaves?

When you offboard someone in Elaichi, their access to DocuSign through every connected client ends at once. If they had shared a DocuSign connection with a team, it keeps working for everyone else, and disconnecting DocuSign once in Elaichi removes it from every client at the same time.

## All 69 DocuSign tools

Every tool below is callable through https://api.elaichi.ai/mcp once DocuSign is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all DocuSign users** (List). List Docusign users for a specified account with optional filtering by email, status, group, or name. Returns: userId, userName, email, userType, isAdmin, isNAREnabled, userStatus, uri, createdDateTime, userAddedToAccountDateTime, firstName, lastName, jobTitle, company, permissionProfileId, permissionProfileName, userSettings, sendActivationOnInvalidLogin, enableConnectForUser, groupList,…
- **Get single DocuSign user by ID** (Get). Get a single Docusign user by their userId (GUID). Returns the full user object including userId, userName, email, userStatus, createdDateTime, userSettings, groupList, and address information. Required: account_id, id.
- **Create a DocuSign user** (Create). Add new users to a Docusign account. The request body is a newUsers array where each user requires at least userName and email. Returns a newUsers array with userId, uri, email, userName, userStatus, and createdDateTime for each created user. Required: account_id. Max 500 users per request.
- **Update a DocuSign user by ID** (Update). Update a Docusign user's information by id. Submit a userInformation object with the fields to change in the request body. Returns the updated user object including userId, userName, email, userStatus, and permissionProfileId. Required: account_id, id. Users can only access their own information; a user with Admin rights cannot update another user's settings.
- **Delete a DocuSign user by ID** (Delete). Close one or more Docusign users in an account, preventing them from accessing account features. Users are not permanently deleted and can be re-opened via Users:update by setting userStatus to Active. Returns: users. Required: account_id, users.
- **Create a DocuSign contact** (Create). Add one or more contacts to a Docusign account's contacts list. Returns the added contact results including contactId and errorDetails for any items that could not be processed. Required: account_id, contacts.
- **Update a DocuSign contact by ID** (Update). Update one or more contacts in a Docusign account. Returns the updated contact results including contactId and errorDetails for any items that could not be processed. Required: account_id, id, contacts.
- **Delete a DocuSign contact by ID** (Delete). Delete a Docusign contact by id. Returns the deleted contact result including contactId and errorDetails if the contact could not be processed. Required: account_id, id.
- **List all DocuSign contacts** (List). List contacts associated with a Docusign account, optionally from a connected cloud storage provider. Returns contact records including contactId. Required: account_id.
- **Get single DocuSign contact by ID** (Get). Get a single Docusign contact by id, optionally from a connected cloud storage provider. Returns the contact including contactId. Required: account_id, id.
- **List all DocuSign permission profiles** (List). List Docusign permission profiles associated with an account. Returns: permissionProfileId, permissionProfileName, modifiedDateTime, modifiedByUsername. Required: account_id.
- **Get single DocuSign permission profile by ID** (Get). Get a single Docusign permission profile by id. Returns: permissionProfileId, permissionProfileName, modifiedDateTime, modifiedByUsername. Required: account_id, id.
- **Delete a DocuSign user custom setting by ID** (Delete). Delete custom user settings for a specific DocuSign user. Returns the customSettingsInformation object including the customSettings array, where each item has a name and value. Required: account_id, id. Grouped settings require the X-DocuSign-User-Settings-Key header; without it, only ungrouped settings are deleted.
- **Update a DocuSign user custom setting by ID** (Update). Add or update custom user settings for a Docusign user. Returns the updated customSettingsInformation object. Required: account_id, id. There is a 4,000 character limit for all custom user settings per user, including JSON structure.
- **List all DocuSign user custom settings** (List). List custom user settings for a specific Docusign user. Returns the customSettings array of name-value pairs. Required: user_id. Users can only access their own settings; grouped settings are only retrieved when the X-DocuSign-User-Settings-Key header is supplied.
- **Get single DocuSign user profile by ID** (Get). Get a Docusign user profile for a specified user, including privacy settings and personal information. Returns: userDetails. Required: account_id, id. Users can only access their own profile, even with Admin rights.
- **Update a DocuSign user profile by ID** (Update). Update a Docusign user's profile, including detail information, privacy settings, and personal information in the user ID card. Returns an empty 200 response on success. Required: account_id, id. Users can only access their own profile, even with Admin rights.
- **List all DocuSign templates** (List). List Docusign templates for the specified account with optional filtering by folder, dates, search text, and sharing status. Returns: templateId, name, emailSubject, shared, favoritedByMe, documents, recipients, customFields, notification, powerForms, tabs. Required: account_id. A single request returns a maximum of 2,000 templates.
- **Get single DocuSign template by ID** (Get). Get a single Docusign template by id. Returns the template definition including templateId, name, emailSubject, shared, favoritedByMe, documents, and recipients. Required: account_id, id.
- **List all DocuSign billing plan** (List). Get the Docusign billing plan for a specified account, including the plan details and currency code. Returns: planId, currencyCode. Required: account_id. Optional query parameters control whether credit card, successor plan, downgrade, metadata, and tax exempt information are included in the response.
- **Get single DocuSign billing plan by ID** (Get). Get Docusign billing plan details for a specific billing plan by id. Returns: planId, currencyCode. Required: id.
- **List all DocuSign billing invoices** (List). List billing invoices for a Docusign account, optionally filtered by date range. Returns: invoiceId, pdfAvailable, amount, billingInvoiceItems. Required: account_id. If from_date or to_date are not specified, returns invoices for the last 365 days.
- **Get single DocuSign billing invoice by ID** (Get). Get a specific Docusign billing invoice by id. Returns: invoiceId, invoiceNumber, amount, balance, dueDate, pdfAvailable, billingInvoiceItems. Required: account_id, id. If pdfAvailable is true, a PDF version of the invoice is available.
- **List all DocuSign oauth user info** (List). Get the authenticated user's Docusign OAuth profile information. Returns: base_uri.
- **Get single DocuSign bulk envelope by ID** (Get). Get a specific Docusign bulk send list by id. Returns all details associated with the list including bulkSendListId and bulkCopies, where each copy contains recipients, tabs, and custom fields. Required: account_id, id.
- **List all DocuSign bulk envelopes** (List). List Docusign bulk send lists belonging to the current user, along with basic information about each list. Returns: bulkSendListId, name. Required: account_id.
- **List all DocuSign envelop comments** (List). Get a PDF transcript of all comments added to documents in a Docusign envelope. Returns the PDF file as a binary byte stream. Required: envelope_id. Comments must be enabled on the account (enableSigningExtensionComments set to true) to use this feature.
- **List all DocuSign folders** (List). List Docusign folders for an account. Returns: name, type, itemCount, subFolderCount, hasSubFolders, folders, parentFolderId, parentFolderUri. Required: account_id. By default only top-level folders are returned; set sub_folder_depth to -1 for the complete folder hierarchy.
- **Get single DocuSign folder by ID** (Get). Get information about items in a Docusign folder by id. Returns: name, type, itemCount, subFolderCount, hasSubFolders, folders, parentFolderId, parentFolderUri. Required: account_id, id. Set include_items to true to include folder items in the response.
- **List all DocuSign signing groups** (List). List Docusign signing groups in an account, optionally filtered by group type and with member information included. Returns: signingGroupId, groupName, groupType, users. Required: account_id.
- **Get single DocuSign signing group by ID** (Get). Get a single Docusign signing group by id, including group member information. Returns: signingGroupId, groupName, groupType, users. Required: account_id, id.
- **List all DocuSign user groups** (List). List user groups associated with a Docusign account. Returns: groupId, groupName, permissionProfileId, groupType, userCount. Required: account_id. Max 100 results per page.
- **List all DocuSign workspaces** (List). List Docusign workspaces created in an account. Returns each workspace including its workspaceId and status. Required: account_id.
- **Get single DocuSign workspace by ID** (Get). Get a specific Docusign workspace by id. Returns the workspace object including workspaceId and status. Required: account_id, id.
- **List all DocuSign accounts** (List). Retrieves the account information for the specified account. Required: account_id.
- **List all DocuSign envelope documents** (List). List the documents contained in an envelope, including the auto-generated Certificate of Completion. Returns document metadata (name, type, page count, order) rather than the file contents themselves — use download to retrieve the actual PDF bytes.
- **Update a DocuSign envelope document by ID** (Update). Update a document within a draft or in-progress envelope, replacing its content and/or metadata. Documents are matched by documentId; existing tab assignments referencing that documentId carry over to the replacement content.
- **Delete a DocuSign envelope document by ID** (Delete). Remove one or more documents from a draft, sent, or delivered envelope, identified by their documentId. Any tabs assigned to the removed document(s) are also removed.
- **DocuSign envelope documents download** (Download). Download the PDF content of a specific document within an envelope. In place of a real documentId, the special values combined (all documents merged into one PDF), archive (a ZIP of all PDFs plus the certificate), certificate (Certificate of Completion only), or portfolio (PDF Portfolio) can be used. Returns raw binary file bytes, not JSON; the file name and document ID are returned in the Content-Disposition response header.
- **List all DocuSign user group users** (List). List users in a Docusign group. Returns user records including userId, userName, email, userStatus, uri, and permission profile details. Required: group_id.
- **List all DocuSign signing group users** (List). List members of a Docusign signing group. Returns: email, userName, userId for each member. Required: signing_group_id.
- **List all DocuSign folder items** (List). List items in a specified Docusign folder, including envelopes and templates. The include_items parameter is set to true to return folder contents. Returns: envelopeId, status, emailSubject, createdDateTime, initialSentDateTime, sentDateTime, lastModifiedDateTime, statusChangedDateTime, purgeState, brandId, envelopeUri, documentsUri, documentsCombinedUri, certificateUri, recipientsUri,…
- **Get single DocuSign folder item by ID** (Get). Get the status of a single Docusign envelope by id. Returns the envelope object including envelopeId, status, emailSubject, createdDateTime, sentDateTime, purgeState, and resource URIs for documents, recipients, custom fields, and templates. Required: account_id, id.
- **List all DocuSign organizations** (List). List Docusign organizations from the Admin API. Returns: id.
- **List all DocuSign users admin API** (List). List users in a DocuSign organization via the Admin API. Returns: id. Required: organization_id.
- **List all DocuSign envelopes** (List). Search for and list envelopes in the account that match the specified criteria (date range, status, envelope IDs, folder, etc.). At least one of from_date, envelope_ids, or transaction_ids must be provided; if from_date is omitted the search defaults to the last 2 years.
- **Get single DocuSign envelope by ID** (Get). Retrieve the full details of a single envelope by its ID, including status, timestamps, and (optionally) its documents, recipients, custom fields, and tabs.
- **Create a DocuSign envelope** (Create). Create a new envelope from documents and/or templates, and either save it as a draft (status: created) or send it immediately (status: sent). An envelope bundles one or more documents with the recipients who need to sign, view, or receive a copy, along with the tabs (signature fields, form fields) assigned to each recipient.
- **Update a DocuSign envelope by ID** (Update). Update an existing envelope's properties. This endpoint is used to send a draft envelope (set status to sent), void a sent envelope (set status to voided with voidedReason), correct envelope details, resend notifications, or modify fields like emailSubject/emailBlurb before completion.
- **List all DocuSign envelope tabs** (List). List all tabs on a document in a Docusign envelope, including prefill, smart section, and polyline overlay tabs. Returns: prefillTabs, smartSectionTabs, polyLineOverlayTabs. Required: envelope_id, document_id.
- **Delete a DocuSign envelope tab by ID** (Delete). Delete tabs from a document in a Docusign envelope by specifying the tabs to remove in the request body. Returns the updated tabs object including prefillTabs with textTabs containing value, pageNumber, documentId, xPosition, and yPosition. Required: envelope_id, document_id.
- **Create a DocuSign envelope tab** (Create). Add smartSection and polyLineOverlay tabs to a specific document in a Docusign envelope. Returns: smartSectionTabs, polyLineOverlayTabs. Required: envelope_id, document_id. This method operates only on smartSection and polyLineOverlay tab types.
- **Delete a DocuSign envelope recipient tab by ID** (Delete). Delete one or more tabs associated with a recipient in a Docusign draft envelope. Returns the updated EnvelopeRecipientTabs object with remaining tab arrays including textTabs, smartSection, and polyLineOverlay. Required: envelope_id, recipient_id. It is an error to delete a tab that has the templateLocked property set to true.
- **Create a DocuSign envelope sender view** (Create). Create a sender view URL for a Docusign envelope to embed the envelope sender UI in your application. Returns: url. Required: account_id, envelope_id, returnUrl, view. The envelope must be in the created (draft) state; the returned URL expires after 10 minutes.
- **Delete a DocuSign recipient by ID** (Delete). Delete a specific recipient from a Docusign envelope. Returns the updated recipients collection including signers and currentRoutingOrder. Required: envelope_id, id. Recipients that have completed their actions cannot be deleted from an In Process envelope.
- **List all DocuSign envelope workflows** (List). Get the workflow definition for a Docusign envelope. Returns the workflow object including its steps. If the envelope does not have a workflow object, the API returns a 404. Required: envelope_id.
- **List all DocuSign template workflows** (List). Returns the workflow definition for a template. Required: account_id, template_id.
- **List all DocuSign search envelopes** (List). Search for Docusign envelopes by date, envelope ID, or status. Returns: envelopeId, status, statusChanged, subject, sender, envelopeUri, documentsUri, recipientsUri, customFieldsUri, attachmentsUri, createdDateTime, sentDateTime, deliveredDateTime, completedDateTime, voidedDateTime, voidedReason, expireDateTime, expireEnabled, purgeState, owner, ownerEmail, customFields, documents, attachments,…
- **List all DocuSign envelopes status** (List). List envelope statuses for a Docusign account, retrieving a set of envelopes that changed status within a date range or matching specific envelope/transaction IDs. Returns: envelopeId, status, subject, senderEmail, createdDateTime, envelopeUri, recipientUri. Required: account_id, and exactly one of from_date, envelope_ids, or transaction_ids. Docusign limits polling to once every 15 minutes per…
- **List all DocuSign webhooks** (List). List all Docusign Connect (webhook) configurations for the specified account. Returns a list of configurations, each including connectId, name, configurationType, urlToPublishTo, deliveryMode, and event settings. Required: account_id.
- **Get single DocuSign webhook by ID** (Get). Get the details of a specific Docusign Connect (webhook) configuration by id. Returns the full configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, allUsers, events, and eventData settings. Required: account_id, id.
- **Create a DocuSign webhook** (Create). Create a new Docusign Connect (webhook) configuration for the specified account. Supports account-level (configurationType custom) and Recipient Connect (customrecipient) configurations using JSON SIM or aggregate data models. Returns the created configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, events, and eventData.…
- **Update a DocuSign webhook by ID** (Update). Update a Docusign Connect (webhook) configuration in the specified account. Set allowEnvelopePublish to true to enable the configuration. Returns the updated configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, events, and eventData. Required: account_id. The connectId of the configuration to update must be included in…
- **Delete a DocuSign webhook by ID** (Delete). Delete a Docusign Connect (webhook) configuration by id. Returns an empty 200 response on success. Required: account_id, id.
- **List all DocuSign webhook logs** (List). List the 100 most recent Docusign Connect webhook delivery log entries for an account. Returns: logId, envelopeId, connectDebugLog. Required: account_id. Log entries are automatically deleted after 15 days; the enableLog Connect configuration setting must be true to record entries.
- **Get single DocuSign webhook log by ID** (Get). Get a single Docusign Connect webhook delivery log entry by id. Returns: logId, envelopeId, connectDebugLog. Required: account_id, id. Set additional_info to 'true' to include connectDebugLog details in the response.
- **Delete a DocuSign webhook log by ID** (Delete). Delete a Docusign Connect webhook delivery log entry by id. Use 'all' as the id to delete all log entries for the account. Returns an empty 200 response on success. Required: account_id, id.
- **List all DocuSign webhook failures** (List). List Docusign Connect webhook delivery failures for an account to identify envelopes that failed to post. Returns: configId, configName, connectId, envelopeId, error, eventDateTime, payload, postTime, retryTime, retryUri, status, url, emailSubject, connectDebugLog. Required: account_id.
- **List all DocuSign navigator agreements API** (List). List Docusign Navigator agreements stored in an account's Agreement Manager repository. Returns each agreement record with its id and model-schema-specific attributes. Required: account_id.
