Clientell
AI agent that builds Salesforce flows & cleans data in minutes. No Apex required. 500+ orgs. Start free — no credit card needed.
Connect straight to this server’s public endpoint.
https://mcp.clientell.ai/mcpWe add this server to your workspace, walk through sign-in once, then open Studio with tools ready to run.
Last probed Sep 14, 2026 · mcp.clientell.ai
21tools discovered
Clientell Onboarding Status
START HERE for Clientell setup, and the answer to "what is connected?". Returns the checklist — signed_in, active_org, graph, integrations, plan — and ONE `next_step` naming the tool to call next. Call it first on a fresh workspace, whenever a Clientell tool says something is not set up, to list which integrations are connected and which can be added, and repeatedly to poll a running graph build or Slack index (there is no completion notification for either). When no Salesforce org is selected i
Clientell Set Active Org
Point Clientell at a Salesforce org and build that org's knowledge graph. TO SELECT AN ORG: first list the user's orgs locally with `sf org list --json`, then pass the chosen org's `alias`, `username` and `instance_url`. If the machine has more than one org, ASK THE USER which one and wait — never choose. TO REBUILD the graph for the org already selected (stale index, failed build, org has changed), call this with NO arguments. Either way the build STARTS and the call returns IMMEDIATELY with a
Clientell Add Integration
Connect a Clientell integration (`provider`: slack, gmail, jira or gong) so Clientell can keep the user's work graph fresh. Returns the authorization link and an instruction; give both to the user, wait for them to finish in the browser, then CALL THIS TOOL AGAIN with the same provider — the second call verifies with Clientell and is what actually reports `connected`. A user saying they finished is not proof; only a result saying `connected` is. `declined`/`cancelled` are normal answers, not fai
Clientell Billing Status
Report this workspace's Clientell subscription state: whether it is on trial, subscribed, past due, expired or cancelled, how long a trial has left, and whether the org graph is still retained. Use this when the user asks about billing or their trial, when a graph tool was refused, and to confirm a subscription after checkout. Always available, including when graph access is paused. If `confirmed` is false the state could NOT be verified — say so rather than reporting it as fact. Charges nothing
Clientell Upgrade
Start a Clientell subscription for this workspace, or manage an existing one. Opens Stripe Checkout in the user's browser and confirms the result in this same conversation. Nothing is charged until the user completes checkout, and no reinstall or reconnect is needed afterwards. `plan` is 'plus' (1 seat, 1 org) or 'pro' (adds deployments and audit); `interval` is 'monthly' or 'yearly'. On a workspace that already subscribes this returns a billing-portal link instead of a second checkout. `not_com
Clientell Delete My Data
Delete the CALLER'S OWN personal work graph — private Slack/Jira/Gmail content and anything recorded that only they can see. Call with NO arguments first: this is a dry run and deletes nothing, it only reports whether a personal graph exists. Call again with `confirm: true` only after the user has explicitly said to delete it — this is irreversible. Does NOT touch content the caller contributed to a shared or open scope, and does NOT touch the Salesforce org graph, which is the whole workspace's
Find Person In Salesforce And Work
Find a person across BOTH Salesforce and the user's email / Slack / Jira context, and say — with an explicit confidence — whether the two are the same human. Use it for any people-shaped question ('who is James', 'which deal did James close', 'what did we agree with James'), because neither side alone can connect a Salesforce contact to the thread they appear in. Both graphs are queried in parallel. `links` are established links; `unconfirmed_candidates` are NOT links — each carries a `question`
Search Salesforce Metadata
Structural Salesforce org Q&A: objects/fields/flows/rules/apex/profiles/perms — refs/depends/breaks, who can view/edit. Snapshot as of last build, not live (sf CLI for live). Read-only. Email/Slack/Jira: search_work_context. ARGS cypher=your read-only Cypher | intent=plain English, translated | section=survey: overview|fields|automation|tech_debt|compliance|packages|adoption|processes|ai_readiness. SCHEMA id="Label:ApiName"; filter coalesce(n.deleted,false)=false. Object has NO name/api_name — l
Search Work Context
Search the user's work context — email threads, Slack threads, Jira issues, meetings, documents and the people in them — for the discussion BEHIND a decision: who raised something, where a change was agreed, which thread a request came from. This is the non-Salesforce half of Clientell's context; for objects, fields and flows inside a Salesforce org use search_salesforce_metadata, and use both when the question is WHY a piece of Salesforce configuration exists. The context is split by AUDIENCE i
Record Work Context
Record what you have WORKED OUT into the user's own work graph, so it is there next time. The one write tool: any node, any relationship, any properties — there is no separate tool per kind of fact. `nodes` are objects with `label` (one of: Fact, Topic, Decision, ActionItem; use Fact with a short `kind` property for anything else), `id` (yours, stable — re-writing the same id updates rather than duplicates) and `props`. `relationships` are `type` (one of: ABOUT, RELATES_TO, DERIVED_FROM, PART_OF
Clientell Confirm Person Link
Record the USER'S answer to an identity question raised by find_person_in_salesforce_and_work, so it is never asked again. Pass `work_node_id` + `salesforce_node_id` with `same_person: true` when the user confirms, or `same_person: false` when they say these are different people (that answer is remembered too). When neither record is in Salesforce — a Gmail sender and a Slack member, say — pass `other_work_node_id` instead of `salesforce_node_id`. To undo a link that turned out to be wrong, pass
Clientell Push Work Records
DEMO BRIDGE, not a live integration: index Gmail messages, Jira issues, or files in a local SFDX project that YOU have read through the user's own connectors or local filesystem into their Clientell work graph. Nothing on Clientell's servers reads that mailbox, issue tracker, or disk, so nothing arrives here unless you push it, and nothing stays fresh afterwards — say that plainly, and never imply the data syncs. `source` is 'gmail', 'jira', or 'local_project'. `owner_email` is the address the c
Build Or Fix Salesforce Flow
Plan a Salesforce Flow: author a new one, or diagnose/patch an existing one that is failing. TO AUTHOR: pass a natural-language `request` alone for a draft plan, or add `flow_json` (a body you already designed) to have it normalized and audited, returning the deploy command. TO DIAGNOSE an existing/failing Flow: pass `flow_api_name` + `error`, optionally with `flow_json` (fetch it first with `sf data query --use-tooling-api`) for a local audit. TO PATCH: also pass `ops` (named, atomic operations
Merge Duplicate Records
Plan a merge of duplicate Salesforce records — Account, Contact, Lead, or Case where Case Merge is on. Call it with `object_api_name` alone to get the duplicate-discovery query, then again with `pairs` (each {master_id, loser_id}) plus `verified_ids`, the Id column of the existence query it hands back. It REFUSES any plan whose Ids were not returned by that query, because a merge against an Id that does not exist deletes nothing and still reports the pair as processed. The result is a PLAN: the
Get Salesforce Best Practices
Fetch Clientell's vetted guidance for a Salesforce admin or RevOps task BEFORE doing it — building a Flow, writing a validation rule, changing a profile or permission set, building a report, loading or cleaning up data — so the work follows a reviewed playbook and its known footguns instead of being improvised. `topic` selects the guide; call it with NO topic first to get the manifest: every key with what it covers and the situation that calls for it. A recipe's required safety fragments come ba
Search Salesforce Docs
Look something up in Salesforce's own published documentation — the REST, Tooling, Metadata and Bulk API guides, SOQL and SOSL, governor limits and allocations, secure coding, integration patterns and large-data-volume practice. Use it when you need the platform's documented behaviour: the exact shape of a metadata type, what an API error means, whether a field is supported, what a limit actually is. Returns ranked excerpts with the document each came from, newest published editions of the guide
Generate Salesforce Org Report
Produce a finished, self-contained HTML report about a Salesforce org that the user can save or circulate. `artifact_type` is one of 'impact_report' (what a change to an Object or Object.Field would affect — its blast radius), 'access_report' (who can view or edit an Object or Object.Field), or 'audit_report' (the 9-section org audit as one document). Use it when the user wants a DOCUMENT to keep or send; for an answer in conversation, ask search_salesforce_metadata instead. `params` carries the
Manage Salesforce Report
Author, update or delete a Salesforce Report. `action`: `describe` returns the `sf` command to fetch a report type's column catalog — run this BEFORE create/update, the result is unvalidated without it. `create`/`update` (STANDARD: TABULAR/SUMMARY/MATRIX) take `compact` (+ `report_type_describe`, + `report_id` for update). `create_joined`/`update_joined` (MULTI_BLOCK) take `compact` or raw `xml`, + `folder`. Key the standard-vs-joined choice on the LIVE report's format, not the payload's — updat
Use Slack Live
Real-time Slack: read AND act, ALWAYS as the caller's own connected Slack account — not the metadata-only work-graph index (search_work_context never stores text or sends anything). action=history: messages from channel_id or the CALLER's own DM with slack_user_id. action=search: full-text search (query). action=list_channels: every channel/DM/group-DM the caller belongs to. action=send: post text to channel_id or a person's DM (slack_user_id), as the caller. action=react: add (or remove=true) a
Use Jira Live
Real-time Jira: real ticket content, not the metadata-only work-graph index (search_work_context never stores descriptions). action=get: one issue by key (e.g. 'TB-42'), full summary/description/status. action=search: query (plain text, searches summary+description) or jql (raw JQL) for a precise filter. Read-only — there is no create/update/comment action. Needs Jira connected via clientell_add_integration.
Use Gmail Live
Real-time Gmail: real message/draft content, not the metadata-only work-graph index (search_work_context never stores bodies). action=search_drafts: unsent drafts matching query (Gmail search syntax, e.g. 'label:MCP-Test-Bench'), full subject/body. action=get_draft: one draft by id. action=search_messages / action=get_message: same shape for sent/received mail. Read-only — there is no send/reply/forward action. Needs Gmail connected via clientell_add_integration.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsAI agent that builds Salesforce flows & cleans data in minutes. No Apex required. 500+ orgs. Start free — no credit card needed.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
MCPBundles probed 21 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
Clientell may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
Operate Clientell? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.