ActionBridge gives AI assistants 40 MCP tools (Model Context Protocol — the open standard assistants use to connect to apps): 20 ab_* tools for AB Projects and 20 ab_crm_* tools for AB Sales. Read tools return data and change nothing. Write tools change data as you, recorded under your name — and the six task and document tools your team watches most also post a card to the linked Microsoft Teams channel.
ab_crm_* tools are gated differently: your membership of an AB Sales workspace is the key. If you can open the workspace in AB Sales, its CRM tools work for you, read and write alike — the Projects seat rule does not apply to them. See Managing Subscriptions and Billing.How to read the tables
| Badge | Meaning |
|---|---|
| read | Returns data only. Nothing changes. |
| write | Changes data, saved under your name. |
| Teams card | Also posts or updates a card in the linked Microsoft Teams channel, disclosed as AI activity. |
To set up a connection in the first place, see Connecting AI Assistants via MCP.
AB Projects MCP tools
These work with projects, tasks, the schedule, and the project Documents (wiki). Most take a project_id — get it from ab_get_my_projects.
Projects & identity
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_my_projectsread | Lists every project you're a member of, with its member count, overall progress, your roles in it, and when it was created. | None |
ab_get_project_membersread | Lists a project's members with their roles and membership IDs — the ID needed to assign a task. | project_id |
ab_get_project_optionsread | Returns the valid status, type, and environment IDs for a project, plus the fixed priority numbers. Assistants should call it before setting any of those on a task. | project_id |
ab_whoamiread | Identity check: the email the server resolved for this session, your AB user ID, display name, tenant, how you're authenticated, and the server version. Useful when auth or membership looks wrong. | None |
Tasks & schedule
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_my_tasksread | Your active tasks — overdue, due today, and in progress — with ID, title, priority, status, due date, and progress. | project_id (optional filter) |
ab_search_tasksread | Searches tasks by keyword across all your projects. | query; project_id (optional) |
ab_get_taskread | Full details of one task, including its comments, its predecessors and successors, and any linked documents. | project_id, task_id |
ab_get_scheduleread | Your tasks for today and this week, by due date. | project_id (optional) |
ab_create_taskwrite Teams card | Creates a task. Supports description (Markdown), priority (1=High, 2=Medium, 3=Low), assignee, due date, status/type/environment IDs, parent_task_id (makes it a subtask), and depends_on_task_ids (finish-before-start dependencies; cycles are rejected). The note explains why — it appears in the change log and Teams card. | project_id, title |
ab_update_taskwrite Teams card | Updates a task's title, description, status, progress (0–100), priority, assignee, type, environment, parent, start/due dates, estimate hours, or dependencies (add_predecessors / remove_predecessors). Each change is recorded with the provided note. | project_id, task_id |
ab_complete_taskwrite Teams card | Marks a task complete with a completion note. | project_id, task_id |
ab_add_commentwrite Teams card | Adds a comment to a task's thread; it is also posted to the task's Teams conversation. | project_id, task_id, content |
Documents (wiki)
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_wiki_treeread | The Documents navigation tree (folders and pages) for a project. | project_id |
ab_get_wiki_articleread | Reads one document's full content, metadata, and version info. | project_id, article_id |
ab_search_wikiread | Lists the documents under a folder path (despite the name, it browses a folder rather than searching by keyword). | project_id; parent_path (default /) |
ab_create_wiki_articlewrite Teams card | Creates a document in Markdown, optionally in a folder and with tags. | project_id, title, content |
ab_update_wiki_articlewrite Teams card | Updates a document, creating a new version. The required edit_note shows in version history. | project_id, article_id, content, edit_note |
ab_add_wiki_commentwrite | Adds a comment to a document. Saved on the document; no Teams card. | project_id, article_id, content |
ab_link_task_wikiwrite | Links a task to a document. The link is bidirectional — it appears on both — and calling it twice is harmless. No Teams card. | project_id, task_id, wiki_article_id |
ab_unlink_task_wikiwrite | Removes a task–document link; does nothing if they weren't linked. No Teams card. | project_id, task_id, wiki_article_id |
AB Sales (CRM) MCP tools
These work with your sales pipeline — the Lead → Contact → Opportunity → Customer funnel. Almost every one takes a workspace_id — call ab_crm_workspaces first to get it. All CRM writes are stamped with your name and time and are visible in the AB Sales app, but none of them posts a Teams card.
Discover
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_workspacesread | Lists the CRM workspaces you can use, with lead/contact/opportunity/customer counts. Call this first — every other CRM tool needs its workspace IDs. | None |
ab_crm_get_sales_contextread | The workspace's sales context for drafting on-brand outreach: products with prices, sales goals, value propositions, and whether outbound email is configured. | workspace_id |
ab_crm_get_pipelineread | Pipeline summary: open opportunities by stage (count, total, weighted amount), workspace totals, and deals closing within 30 days. | workspace_id |
Leads
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_leadsread | Lists or searches leads, newest first. Statuses: New InformationFilled Contacted Qualified Disqualified | workspace_id; optional status, source, query, limit |
ab_crm_get_leadread | One lead in full: profile, AI company research, recent notes, recent emails, and its opportunities. Assistants call it before updating or emailing a lead. | workspace_id, lead_id |
ab_crm_create_leadwrite | Creates a lead — only a name is required. Leads start in New and are auto-promoted to InformationFilled once name, website, and email are all present. | workspace_id, name; optional email, website, contact, phone, industry, source, notes |
ab_crm_update_leadwrite | Updates a lead's fields and/or status. Setting automation_opt_out=true excludes the lead from all automated outreach. | workspace_id, lead_id |
Customers, contacts & opportunities
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_customersread | Lists or searches customers, newest first. | workspace_id; optional search, limit |
ab_crm_create_customerwrite | Creates a customer — typically when converting a qualified lead. | workspace_id, name |
ab_crm_list_contactsread | Lists the contacts belonging to one customer. | workspace_id, customer_id |
ab_crm_list_opportunitiesread | Lists opportunities, soonest expected close first. Statuses: Open, Closed-Won, Closed-Lost. | workspace_id; optional status, limit |
ab_crm_create_opportunitywrite | Creates an opportunity under a customer or a lead (the parent must already exist). | workspace_id, parent_type (Customer/Lead), parent_id, name; optional amount, currency, expected close |
ab_crm_update_opportunitywrite | Moves the stage, changes amount / expected close / next step, or closes the deal with close='won' or close='lost' (a loss reason is required when losing). | workspace_id, opportunity_id |
Activities, notes & email
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_activitiesread | Lists activities (calls, meetings, follow-up tasks) — either one record's activities, or the planned window around today. | workspace_id; optional related_type+related_id, days_back/days_ahead |
ab_crm_create_activitywrite | Schedules a follow-up (Call, Email, Meeting, Note, or Task) on a lead, customer, opportunity, or contact. Shows up in the team's action items. | workspace_id, related_type, related_id, subject |
ab_crm_complete_activitywrite | Marks an activity completed, optionally recording the outcome. | workspace_id, activity_id |
ab_crm_add_notewrite | Adds a note (Markdown supported) to a lead, customer, opportunity, or contact — the way to log calls, decisions, and AI actions for the team. | workspace_id, parent_type, parent_id, text |
ab_crm_list_notesread | Lists a record's notes, newest first. | workspace_id, parent_type, parent_id |
ab_crm_list_emailsread | The email thread on a lead, customer, or contact (inbound and outbound), newest first, with previews. | workspace_id, parent_type, parent_id |
ab_crm_send_email_to_leadwrite | Sends a plain-text email to a lead from the workspace's configured mailbox, then files it in the lead's email thread and adds a note saying it was sent via MCP. The assistant must confirm recipient, subject, and body with you first, and the send is refused when the lead has opted out of automation, workspace automation is paused, or no mailbox is configured. | workspace_id, lead_id, subject, body |
The exact parameter schema for each tool is always available from the tool itself; the inputs above are a guide, not an exhaustive contract.
MCP prompts — ready-made slash commands
Besides tools, the server publishes MCP prompts: templates that appear as slash commands in clients that support them (Claude, ChatGPT, Cursor, …). Each one expands into instructions that drive the tools above — you get a polished result without writing the request yourself.
| Prompt | What it produces | Arguments |
|---|---|---|
ab-standup | A daily standup brief: overdue, due today, and in progress. | project_id (optional) |
ab-weekly-review | A weekly review: what shipped, what slipped, what's at risk next week. | project_id (optional) |
ab-create-task | Guided task creation from a natural-language intent — it fetches the valid options, proposes title/priority/due date, then creates the task. | project_id, intent (both required) |
ab-find-blocked | Tasks that look blocked, grouped by project, longest-blocked first. | project_id (optional) |
ab-wiki-recap | A recap of the most recently edited Documents in a project. | project_id (required) |
MCP resources — pullable feeds
MCP resources are read-only feeds a client can attach as background context without a tool call. All four are about your work, not the whole team's:
| Resource | Contents |
|---|---|
ab://me/today | Tasks due today across every project you're a member of. |
ab://me/week | Tasks due in the next 7 days, plus today. |
ab://me/projects | Your projects, with member count, progress, and your roles. |
ab://project/…/overview | One per project: your open tasks in that project, plus the project's member list. |
What happens when an AI writes
Every write goes through the same code path as the app and is saved under your name — there is no anonymous “robot” author. How loudly it announces itself depends on the tool:
| Write tools | Saved on the record | Operation log (audit) | Teams card |
|---|---|---|---|
ab_create_task, ab_update_task, ab_complete_task, ab_add_comment |
Change history, with your note |
Yes | Yes, disclosed as AI activity |
ab_create_wiki_article, ab_update_wiki_article |
New version, with your edit_note |
Yes | Yes, disclosed as AI activity |
ab_add_wiki_comment, ab_link_task_wiki, ab_unlink_task_wiki |
Yes, under your name | No | No |
All nine ab_crm_* write tools |
Yes, stamped with your name and time; notes and activities show in the record's history | No | No |
So a task an assistant creates or closes is as visible as one you clicked yourself — same change history, same audit entry, same card in the channel. Quieter writes (document comments, task–document links, and CRM records) are still attributed to you and still visible in the app; they simply don't interrupt the channel.
Common questions
Do I need a license just to let my assistant read?
No. Every read tool works for any project member, licensed or not. Only the nine AB Projects write tools check for a seat, and only once your organization is past its 10 free users.
Why does my assistant only see some of my projects?
The tools only ever see projects and workspaces you are an accepted member of. Run ab_whoami to confirm which account the server resolved for your connection — a mismatch there explains most “the tool can't find it” reports.
Can an AI email a customer without me knowing?
ab_crm_send_email_to_lead is the only tool that sends mail, it requires you to confirm the recipient, subject, and body first, and it refuses outright if the lead opted out of automation, the workspace's automation is paused, or no mailbox is configured. Every send is filed in the lead's email thread with a note.
Does ab_search_wiki search my documents?
No — despite the name, it lists the documents under a folder path. To find a document by content, pull the tree with ab_get_wiki_tree and read candidates with ab_get_wiki_article.
Verified against the shipping MCP server on 26 July 2026: 40 tools, 5 prompts, 4 resource feeds.