MCP App Store
by KeenEthics

Overview

Connect ChatGPT to your Datasite virtual data room - the secure workspace where thousands of M&A deals are facilitated annually. Set up folder structures, invite users, search documents, track buyer Q&A, and audit data room readiness, all through natural language. No workflow interruptions. No security trade-offs. Built for advisors, bankers, and corporate development teams - backed by the enterprise security and permissioning every transaction demands. 1. Set up a deal room - "Create a new Datasite Prepare data room for Project Alpha, set up a standard M&A folder index, and invite sarah@advisorfirm.com as an admin." 2. Search documents semantically - "Search the data room for any documents related to pending litigation or regulatory risk." 3. Track buyer Q&A - "Show me all open Q&A questions in the data room and draft responses where we have supporting documents." 4. Audit deal room readiness - "Check the data room for empty folders, missing documents, and any files flagged as password-protected or blank before we go live." 5. Manage user access - "Create a buyer role with view-only permissions and create draft invitations for the following five contacts from Acme Capital."

Tools

answerQuestion

ChatGPT
Create an answer post for an existing individual Q&A question in a Datasite project. - Use getQAStatus first if you need to find the questionId. - This tool creates an answer-team post through Q&A; the returned post status tells you whether it is still in progress. - Use getQAStatus with assignedToCurrentUserOnly=true to find questions assigned to the current user. - If the post status is IN_PROGRESS, no additional answers/drafts can be created. Question cannot be "answered further". - If the user mentions that they want to attach documents to the answer, the listFolderContents should be called to list the available documents BEFORE creating answer post. DocumentIds need to be passed into the tool to properly attach the documents. - Once an answer is posted, provide the user with a URL to go to the UI to view the posted answer.

checkMoveStatus

ChatGPT
Check the current status of a bulk move operation using its operation ID. Returns immediately with the current state: PENDING, IN_PROGRESS, BLOCKED, SUSPENDED, COMPLETE or ERRORED. Use this after initiating a bulk move operation (>100 items) to track progress. If the status is not COMPLETE or ERRORED, call this tool again after a few seconds to check for completion.

createContent

ChatGPT
Create filerooms, folders, or a folder hierarchy in a Datasite project. - No parentId: Top-level entries become filerooms - With parentId: Entries become folders under that parent contentPaths is a flat JSON array where each entry is a full path string plus optional type and published flag: - path (required): Full slash-separated path, e.g. "/Financial/Q1" or "/Legal" - type (optional): Override type for the final segment of this path — FILEROOM or FOLDER (auto-inferred if omitted) - published (optional): Whether the final segment of this path is visible to non-admin users (defaults to false). Not applicable in PREPARE projects — publishing is not supported. Shared ancestor segments are deduplicated automatically. To set type or published (non-PREPARE only) on an ancestor, list it as its own entry alongside its children (e.g. {"path":"/Financial","type":"FILEROOM"} and {"path":"/Financial/Q1"}). Example: [{"path":"/Financial/Q1"},{"path":"/Financial/Q2"},{"path":"/Legal"}] PREPARE projects use the Staging Folder (sandbox) exclusively. Do not create new filerooms or folders outside the sandbox on PREPARE projects — create content only within the Staging Folder. Do not suggest publishing content for PREPARE projects — publishing is not a supported feature in PREPARE.

getAccessControl

ChatGPT
Get access control information for a Datasite project. Supports three scopes: - PROJECT: List all roles, and optionally the project's available feature accesses catalog - PERMISSIONS: Show which roles can access a specific document or folder (requires metadataId) - ROLE: Show details for a specific role including feature accesses (requires roleId)

getMembers

ChatGPT
Get members of a project or subscription. Returns user membership details including status and role. Use scope=PROJECT for project members or scope=SUBSCRIPTION for subscription members. Optionally provide a userId to get a single member's details.

getMyQandaTeam

ChatGPT
Identify which Q&A team (if any) the current user is on for a project. Returns the team's id, name, type (QUESTION or ANSWER), active flag, and allowedToSubmit flag. When onQandaTeam is false, the current user is not associated with a Q&A team on this project — do not attempt Q&A actions that require team membership. Call this before other Q&A team-scoped tools (e.g. getQandaGateContext) so you know which team id to use. Call this before submitQuestionOnBehalf. Use submitQuestionOnBehalf only when this tool returns onQandaTeam=true, teamType=ANSWER, active=true, and allowedToSubmit=true; otherwise use manageQuestion for question-team draft creation.

getProjectOverview

ChatGPT
Get a comprehensive overview of a Datasite project in a single call. Returns project details plus optional sections: role listing, member count, and Q&A summary. Use listFolderContents to explore the fileroom/folder hierarchy.

getQAStatus

ChatGPT
Get Q&A information for a Datasite project. Returns either: - A specific question with all posts and answers (when questionId is provided) - An overview with question listing, summary dashboard, and categories (when questionId is omitted) Use manageQuestion for creating or updating questions.

getQandaGateContext

ChatGPT
Resolve the workflow gate context for a Q&A team (QUESTION or ANSWER) in a given category, for the current user. Call getMyQandaTeam first to identify which team id the current user belongs to; do not iterate over multiple team ids. Looks up the team's workflow for the category, identifies the first gate, and checks whether the current user is a member of that gate. Returns teamId, teamType, gateId (first gate in the workflow), workflowIndex, and an isMemberOfFirstGate flag. When isMemberOfFirstGate is true, gateMemberUserIds lists every user in that gate (including the caller); when false, gateMemberUserIds is omitted and reason explains why.

grantFeatureAccess

ChatGPT
Grant a role-level feature access permission in a Datasite project. This controls which roles can access specific project features (e.g. Q&A, bulk download) — it does not activate paid product features like AI-powered content search. Use getAccessControl(scope=PROJECT, includeFeatureAccesses=true) to discover available keys.

inviteUser

ChatGPT
Invite a user to a Datasite project by email address and assign them a role. You can specify the role by name (e.g., "Reviewer") or by ID. When using roleName, the server resolves it to the correct role ID automatically. Role names are resolved to IDs automatically.

listFolderContents

ChatGPT
List the contents of filerooms and folders in a Datasite project. Returns item metadata — names, IDs, types (FILEROOM, FOLDER, DOCUMENT, PLACEHOLDER, SANDBOX), statuses, file types, and publishing states — but NOT document text. Use this to navigate the folder tree, see what documents exist and their metadata, or find where content is located before creating, uploading, or modifying it. To find information inside documents (e.g. clauses, risks, or specific content), use searchDocuments instead. Behavior by parameters: - No metadataId: Returns the top-level fileroom listing with IDs. - With metadataId: Returns the direct children of that folder or fileroom. - depth (default 1, max 10): Controls how many levels deep to traverse. depth=1 returns immediate children only. depth > 1 performs a BFS traversal of the folder hierarchy, returning all items with depth and path columns so you can understand the full structure in one call instead of browsing level by level. - foldersOnly (default true): When true, only folder-type items (FILEROOM, FOLDER, SANDBOX, INBOX) are returned. Set to false to include documents in the results. Applies at all depth levels. The listing may include items with type SANDBOX (named "Staging Folder"). A sandbox is a staging area where content is uploaded before being published to regular filerooms. PREPARE projects use the sandbox exclusively for uploads — all content must go through the Staging Folder.

listProjects

ChatGPT
List all Datasite projects you have access to, optionally enriched with subscription context. Use this to find projects by name, state, or to discover which subscription a project belongs to. Set includeSubscriptionInfo=true to include subscription details.

listSubscriptions

ChatGPT
List all Datasite subscriptions you have access to. Returns subscription name, ID, and allowed offering types. Use this to find which subscription to use when creating a new project.

manageQuestion

ChatGPT
Create, update, or categorize Q&A questions in a Datasite project. action=CREATE: requires categoryId (use getQAStatus with includeCategories=true to list categories). action=UPDATE: requires questionId. Supports closing/reopening via the closed param. action=CREATE_CATEGORY: requires categoryName.

manageRole

ChatGPT
Create or update a role in a Datasite project. action=CREATE: requires name. action=UPDATE: requires roleId, optional name to rename.

moveContent

ChatGPT
Move files or folders to a different location within a Datasite project. This is a destructive operation. User confirmation is recommended before execution. When moving a folder, all children are moved automatically. Moved items keep their current permissions and publishing status. Each result includes a url to review the moved item at its new location. Supports moving up to 100 total items (including all children) for synchronous moves. If bulk move is enabled, moves exceeding 100 items are processed asynchronously and return an operation ID.

searchDocuments

ChatGPT
Search across document content in a Datasite project using AI-powered semantic search with reranking. Returns matching text passages from inside documents with relevance scores, page numbers, and source paths. Use this whenever you need to find information, clauses, risks, or answers within documents — not for navigating folder structure. If the feature is not enabled on the project, this tool returns guidance to contact Datasite — always attempt the search rather than skipping it.

searchHelpDocs

ChatGPT
When to use: Customer-facing help centre articles explaining how Datasite features work — e.g. "how do I create a tracker," "what is a fileroom," "why can't I invite this user," "what does this setting do." Does NOT search content inside a customer's project or data room — use searchDocuments for that. What this tool returns: A list of scored passages, ordered by relevance (highest first). Each result includes: score, matching_text (the actual passage content — use this for your answer), source_url, article_id, title, and section. article_id, title and section are sometimes blank or missing (older indexed passages) — still cite the source_url when this happens. Lower-scoring results may be less relevant; don't treat all returned results as equally authoritative. Response requirements: Attach source_url close to the claim it supports, rather than batching all citations at the end of the response. Name the article title and section alongside each citation when available. Never restate help content without a citation. If no results are returned, tell the user no help article matched. Do not fall back on your own knowledge of Datasite. If results are returned but none are actually relevant to the query (check scores and content, not just presence of results), tell the user no relevant help article was found — do not stretch a low-relevance passage to fit the question. Before sending your response, confirm every claim has a source_url attached, or revise.

setupProject

ChatGPT
Create a new Datasite project and optionally set up its initial content structure in one call. IMPORTANT: Before calling this tool, always call listSubscriptions first. If the user has any subscriptions, you MUST ask them to choose one and pass its ID as subscriptionId. Do not call this tool without a subscriptionId unless listSubscriptions returned an empty list. A Staging Folder (sandbox) is automatically created for the project. If contentPaths is provided, paths default to folders inside the sandbox unless an explicit type override is provided. contentPaths is a flat JSON array where each entry is a full path string plus optional type and published flag: - path (required): Full slash-separated path, e.g. "/Financial/Q1" or "/Legal" - type (optional): Override type for the final segment of this path — FILEROOM or FOLDER (auto-inferred if omitted) - published (optional): Whether the final segment of this path is visible to non-admin users (defaults to false). Not applicable in PREPARE projects — publishing is not supported. Shared ancestor segments are deduplicated automatically. To set type on an ancestor, list it as its own entry alongside its children (e.g. {"path":"/Financial","type":"FILEROOM"} and {"path":"/Financial/Q1"}). Example: [{"path":"/Financial/Q1"},{"path":"/Financial/Q2"},{"path":"/Legal"}] Do not suggest publishing content for PREPARE projects — publishing is not a supported feature in PREPARE.

submitQuestionOnBehalf

ChatGPT
Submit one or more Q&A questions on behalf of a question team from an answer-team admin context. - BEFORE using this tool, call getMyQandaTeam for the project. Use submitQuestionOnBehalf only when getMyQandaTeam returns onQandaTeam=true, teamType=ANSWER, active=true, and allowedToSubmit=true. - If getMyQandaTeam shows the current user is not on an active ANSWER team, do not use submitQuestionOnBehalf. - If getMyQandaTeam shows the current user is in the QUESTION team, use manageQuestion for question-team draft creation instead. - If the user mentions that they want to attach documents to the questions, the listFolderContents should be called to list the available documents BEFORE creating the questions. Each question has it's own documentIds collection that is there to express what documents the user wants to link to each question. - Use getMyQandaTeam to confirm the current user's team context, and getQAStatus with includeCategories=true to find visible category names and ids. If a requested category is not returned, tell the user it may either not exist or may not be accessible to them; do not state that it definitely does not exist. - Use getQAStatus to get data about the question teams currently configured in the Q&A enabled project. - Use getQandaGateContext to find the correct gate/workflow information for the respective category in the question team. - Questions must be supplied through the questions array, even when importing a single question. - Imported questions are created as in-progress question-team drafts assigned to the first gate members. - User must be notified that the question will be created as a draft and will be assigned to all team members in the corresponding question team workflow, based on category. - It is possible you will be extracting text from an Excel file. If so, make sure the question content is left totally unchanged -- do not modify it in any way unless requested to do so. - Do not provide the user with any URLs to look at the questions in the platform/UI once they have been posted. Since they're submitted as drafts, they become visible to question team members only. - After the questions are created, let the user know they're saved as drafts and won't be visible to any answer team member—including the user—until the question team submits them

updateContent

ChatGPT
Update a document or folder in a Datasite project. Supports renaming, and supports changing publishing status only for non-PREPARE projects. Identify the item by metadataId or human-readable path (e.g., "Financial/Q1 Reports"). Do not suggest publishing status changes for PREPARE projects — publishing is not a supported feature in PREPARE.

updateMembership

ChatGPT
Activate or deactivate a user's membership in a Datasite project. Use getMembers to find user IDs. Status must be ACTIVATED or DEACTIVATED.

updatePermissions

ChatGPT
Get a link to manage content permissions for a Datasite project via the web application. Optionally provide a fileroom or folder ID to navigate directly to its permissions page. Returns a browser URL where the user can review and update permissions manually.

uploadContent

ChatGPT
Get a link to upload documents to a Datasite project via the web application. Specify the destination as a human-readable path (e.g., "Financial/Q1 Reports") or a direct folder ID. Returns a browser URL that opens the target folder in the Datasite web application, where the user can complete the upload. For PREPARE projects, uploads must target the Staging Folder (sandbox). Browse content first to find the sandbox, then use its path or ID as the destination.

acceptDisclaimer

Claude

createContent

Claude

getAccessControl

Claude

getMembers

Claude

getProjectOverview

Claude

getQAStatus

Claude

grantFeatureAccess

Claude

inviteUser

Claude

listFolderContents

Claude

listProjects

Claude

listSubscriptions

Claude

manageQuestion

Claude

manageRole

Claude

searchDocuments

Claude

setupProject

Claude

updateContent

Claude

updateMembership

Claude

updatePermissions

Claude

uploadContent

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

44

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily