# Vendo Ai MCP server

Source: https://glimind.com/server/mcp-registry%2Fcom.vendo-ai%2Fvendo-ai
Registry id: `mcp-registry/com.vendo-ai/vendo-ai`
Status: auth-required (checked 2026-10-27T06:25:01.589Z)

## Measurements (30 days)

- Uptime: 100%
- Checks: 255
- Outages (90 days): 0

## Install

```json
{
  "mcpServers": {
    "vendo-ai-mcp-server": {
      "type": "http",
      "url": "https://api.vendo-ai.com/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http vendo-ai-mcp-server https://api.vendo-ai.com/mcp
```

## Tools (300)

- `activate_campaign_linkedin`: Queue the campaign audience for LinkedIn on the given (or selected/all connected) accounts and add linkedin to the channels. On an active campaign REAL connecti
- `activate_campaign_phone`: Schedule REAL outbound AI calls to every audience contact with a phone number; credits are charged per call minute. Same args as preview_activate_campaign_phone
- `add_agent_document`: Upload a material the agent learns from (PDF, DOC, DOCX, TXT, XLS, XLSX, CSV, PPT, PPTX, KEY; ≤10 MB) from a public URL or base64. Used the next time the script
- `add_campaign_linkedin_account`: Add a connected account to a running campaign; pending contacts are rebalanced across accounts and backfilled. It starts sending invites in the next cycles. No 
- `add_custom_audience_contacts`: Append up to 5000 contacts to a custom audience. Deduplicated inside the audience by email, LinkedIn URL or phone (duplicates and contacts with no email/LinkedI
- `archive_campaign`: Archive the campaign: status becomes completed, all its outreach stops and it is hidden from the default lists (history stays readable with include_archived). N
- `buy_audience_set`: SPENDS CREDITS (2 per contact). Purchases the set and snapshots its contacts into the workspace. Only call after the user reviewed `preview_buy_audience_set` ou
- `cancel_meeting`: The agent will NOT join this scheduled meeting (the calendar event itself stays). Only scheduled, not yet started meetings. No undo. Only after preview_cancel_m
- `cancel_workspace_invitation`: Cancel a pending invitation (its link stops working). Admins only. Invitation ids come from get_workspace.pendingInvitations.
- `close_campaign_thread`: Mark the conversation closed (no more AI replies). Nothing is sent.
- `connect_client_mailbox`: Connect the user's OWN mailbox for sending. Requires SMTP/IMAP hosts+ports and an APP PASSWORD, which passes through this conversation: prefer asking the user t
- `connect_content_account`: Returns a hosted URL a HUMAN must open in a browser to authorise a LinkedIn or Instagram publishing account. Give the link to the user; nothing is connected unt
- `connect_crm_integration`: Returns an authorization URL a HUMAN must open in a browser (logged in to Kommo/HubSpot) and approve within 20 minutes; the connection completes server-side. Gi
- `connect_google_meet`: Turn on the Google Meet channel the way the app does: returns the agent's own invite address (agent-xxxxxxxx@meet.vendo-ai.com). Invite that address to any Goog
- `connect_linkedin_account`: Returns a hosted URL that a HUMAN must open in a browser to authorise a LinkedIn account. This tool cannot complete the connection itself — give the link to the
- `connect_telegram_bot`: The user creates a bot with @BotFather, gets the HTTP API token, and passes it here. After that, all messages to the bot are answered by the agent.
- `connect_whatsapp_account`: Returns a hosted link; the user opens it and scans the QR code with WhatsApp (Linked devices) — that links a REAL phone number to the workspace. Poll list_whats
- `create_agent`: Create an AI agent like step 1 of the app's builder. Choose its direction: purpose "sales" (default), "support" or "info". The agent starts in DRAFT and contact
- `create_agent_connection`: Add a channel. WEBSITE_WIDGET needs website_url; new widgets get the app defaults (Modern design) plus your widget_config — then get_widget_embed_code. WEBSITE_
- `create_campaign`: Create a classic campaign in DRAFT — nobody is contacted until launch_campaign. Needs an audience (audienceId from save_audience/list_audiences, OR customAudien
- `create_custom_audience`: Create an empty, named custom audience (status ready) — then fill it with `add_custom_audience_contacts`. To create one from a file use `upload_custom_audience`
- `create_referral_link`: Create a new tracked referral link (max 20 active). Returns code and url.
- `create_widget_test_page`: Create (or return the existing) private, unlisted test page with this website widget installed, to try it before adding it to a real site. Only the agent's crea
- `crm_add_comment`: Internal team note on the lead card (not visible to the lead). Mentioned users (ids from crm_list_workspace_members) get a CRM notification.
- `crm_add_lead_to_branch`: Place the lead in another pipeline too (entry stage); it stays in its current ones. Reversible via crm_move_lead_to_branch.
- `crm_communication_cards`: One card per campaign and per SDR search, with outbound counters. This is the FULL outbound stream — everyone contacted, whether or not they replied (CRM leads 
- `crm_communication_history`: Every outbound touch for one campaign or SDR search, filterable by channel, reply status and date. Use `crm_communication_cards` first to get the id. Read-only,
- `crm_communication_thread`: The complete message thread with one contact inside a card. `key` comes from a `crm_communication_history` row (an email address or LinkedIn chat id). Read-only
- `crm_create_branch`: Create an isolated pipeline (team / direction / client) with its own default stages. member_user_ids = who can see it (General stays open to all). Workspace adm
- `crm_create_calendar_event`: Add a custom event to the CRM planner. Write operation, no credit cost. Does NOT send invites to anyone — it only records the event on the internal calendar.
- `crm_create_lead`: Add a lead card to the entry stage of the chosen pipeline(s). ALL fields optional — provide whatever is known (at least one of name/company/title/email/linkedin
- `crm_create_stage`: Add a custom kanban column to a pipeline (name, optional hex color, is_terminal for Won/Lost-like end stages). Inserted before the terminal stages. branch = "ge
- `crm_delete_calendar_event`: Remove a custom calendar event. Unlike deleting a lead or a stage this destroys no history and needs no preview step, but it cannot be undone.
- `crm_enrich_from_linkedin`: Fetch name / title / current employer / avatar / location for a linkedin.com/in/... URL (same lookup the SDR hunters use). May also suggest an email as an UNVER
- `crm_get_branch`: One pipeline by id (id, name, is_default). Read-only.
- `crm_get_conversation`: The full message thread with this lead on their source channel (LinkedIn / email / widget / telegram / phone transcript). Read-only.
- `crm_get_lead`: Full lead card: identity, source ("why is this person here"), company enrichment, activities, comments, assignments. Read-only.
- `crm_get_lead_branches`: Every pipeline a lead currently sits in, with its stage and owner per pipeline. Read-only.
- `crm_get_lead_document`: Returns the file as base64 with its name and mime type (files up to 5 MB; larger ones only via REST). Read-only.
- `crm_get_settings`: Read CRM settings, including the notify_* toggles that control which events send an email/notification. Read-only, free.
- `crm_import_leads`: Import up to 1000 parsed rows as leads into the chosen pipelines (entry stage). Dedup by email/phone: an existing lead only gets its blank fields filled (never 
- `crm_list_all_branches`: Every pipeline of the workspace (id, name, is_default) — wider than crm_list_branches for members; use it to pick a destination for crm_add_lead_to_branch / crm
- `crm_list_branches`: Branches are isolated pipelines inside one workspace (teams / directions / clients). Returns id, name, is_default ("General"), member_user_ids. Read-only. Call 
- `crm_list_calendar_events`: List custom calendar events (meetings, reminders) in the CRM planner for a date range. Note: SDR sending windows also appear in the UI calendar but are derived 
- `crm_list_lead_documents`: Files attached to a lead card (id, name, type, size, uploader, date). Read-only.
- `crm_list_leads`: List leads in the CRM pipeline. Filters: branch ("general" or a branch id from crm_list_branches; omitted = all branches visible to the user), stage (stage id),
- `crm_list_linkedin_accounts`: List the LinkedIn accounts connected to this workspace, as shown in the CRM. Useful to see which account owns a conversation. Read-only, free.
- `crm_list_notifications`: Latest 50 CRM notifications of the caller (types: assigned, reassigned, mentioned, new_lead, stage_change) plus total and unread counts. unread_only=true return
- `crm_list_stages`: Ordered kanban columns of ONE pipeline (id, name, color, is_terminal). Every branch has its own stages: pass branch ("general" = default, or a branch id from cr
- `crm_list_workspace_agents`: List the AI agents in this workspace that CRM leads can be attributed to. Read-only, free.
- `crm_list_workspace_members`: List the people in this workspace who can own a CRM lead. Use before `reassign_crm_lead` to get valid owner ids. Read-only, free.
- `crm_mark_all_notifications_read`: Clear the CRM notification badge by marking everything read.
- `crm_mark_notification_read`: Mark a single CRM notification as read. Write operation, no credit cost.
- `crm_move_lead`: Drag-and-drop equivalent: move a lead to a different pipeline stage by stage_id (get ids from crm_list_stages). Reversible.
- `crm_move_lead_to_branch`: Move the lead out of one pipeline into another (entry stage, or to_stage_id of the destination). Reversible.
- `crm_preview_email_to_lead`: Dry-run of crm_send_email_to_lead: shows recipient, subject and body exactly as they would be sent. Sends nothing. ALWAYS call first and show the draft to the h
- `crm_promote_contact_to_lead`: Turn a person from the Communications stream (crm_communication_history row) into a CRM lead in the New stage. Deduplicated: returns { lead_id, already_existed 
- `crm_reorder_stages`: Set the full left-to-right order of one pipeline's stages (every stage id exactly once — get them from crm_list_stages with the same branch). Applies to the who
- `crm_reply_to_lead`: Sends a REAL LinkedIn message or email reply to the lead on their source channel, from the customer's own account. Also moves the lead to the "Manager Dialog" s
- `crm_send_email_to_lead`: Sends a REAL email from the CRM card ("<your name> via Vendo AI", replies go to your own address) and logs it on the card. Members need the crm-contact-details 
- `crm_stats`: Counts per stage, new today/this week, stale leads. Read-only. Optional branch ("general" or a branch id from crm_list_branches) — omitted = all branches visibl
- `crm_update_branch`: Rename a pipeline and/or replace its member list. The General pipeline cannot be changed. Admins/owner only.
- `crm_update_calendar_event`: Edit an existing custom calendar event (title, times, all-day, description, colour, linked lead — lead_id null unlinks). Write operation, no credit cost.
- `crm_update_lead`: Patch lead attributes (name, company, title, email, LinkedIn, phone, notes, tags, deal value + currency). Stage and owner have their own tools (crm_move_lead, r
- `crm_update_settings`: Change workspace CRM settings: which notifications fire (new lead, reassigned, mention; by email and/or in-app), the stale-lead alert, the default date range, a
- `crm_update_stage`: Rename, recolor or toggle is_terminal of a stage. System stages (New, Manager Dialog) cannot be renamed. To change the column order use crm_reorder_stages.
- `crm_upload_lead_document`: Attach one file to a lead card (base64 or https URL). Allowed: pdf, doc(x), xls(x), csv, txt, rtf, odt, ods, ppt(x), png, jpg, gif, webp, heic, zip. Stored priv
- `deep_scan_agent`: Read the company website + LinkedIn and extract description, team, employee count, contacts, social links and pricing. Costs 15 credits, takes 60-180 s. With pe
- `delete_agent`: Permanently delete an agent. NOT reversible. Only call after the user has reviewed `preview_delete_agent` output and explicitly approved.
- `delete_agent_connection`: Remove a channel from the agent (the embed code stops working). No undo. Only after preview_delete_agent_connection and explicit user approval.
- `delete_app_notification`: Remove one in-app notification from the caller's list.
- `delete_campaign`: Permanently delete a campaign. NOT reversible. Only call after the user has reviewed `preview_delete_campaign` output and explicitly approved.
- `delete_crm_branch`: Delete a non-default pipeline; its leads are not deleted but return to General. NOT reversible. Admins/owner only. Only call after the user approved preview_del
- `delete_crm_lead`: Soft-delete a lead — it disappears from the pipeline (restorable by support only). Only call after the user reviewed `preview_delete_crm_lead` output and explic
- `delete_crm_lead_document`: Permanently delete a file from a lead card. NOT reversible. Only call after the user approved preview_delete_crm_lead_document.
- `delete_crm_stage`: Delete an EMPTY, non-system pipeline stage. Only call after the user reviewed `preview_delete_crm_stage` and explicitly approved.
- `delete_custom_audience`: Permanently delete a custom audience with all its contacts and source file. NOT reversible. Only call after the user approved `preview_delete_custom_audience`.
- `delete_custom_audience_contact`: Permanently remove one contact from a custom audience (not reversible). Optional reason (UI choices: Not relevant, Wrong contact, Already a customer, Bad data, 
- `delete_narrator_lead`: Permanently delete a presentation lead. Only after preview_delete_narrator_lead and explicit user approval.
- `disconnect_client_mailbox`: Stop using the mailbox as a sender. If none remain, client_owned campaigns cannot send or launch. Only after the user approved preview_disconnect_client_mailbox
- `disconnect_content_account`: Remove the publishing account; it can no longer publish posts. Only after the user approved preview_disconnect_content_account.
- `disconnect_crm_integration`: Remove the Kommo/HubSpot connection: syncing stops, tokens and settings are deleted; reconnecting needs OAuth again. Only call after the user approved preview_d
- `disconnect_google_meet`: Remove the Google Meet channel from the agent and turn auto-join off. Already scheduled meetings are not cancelled (use cancel_meeting). Only after preview_disc
- `disconnect_linkedin_account`: Remove a LinkedIn account from the workspace. Any campaign or SDR search sending from it stops immediately and daily capacity drops. Only call after the user re
- `disconnect_telegram_bot`: Detach the bot from this agent: the webhook is removed and the bot stops answering (it keeps existing in Telegram; chat history is kept; reconnect with connect_
- `disconnect_whatsapp_account`: Disconnect and delete the WhatsApp account; auto-replies stop and reconnecting needs a new QR scan. Only after preview_disconnect_whatsapp_account and user appr
- `duplicate_agent`: Create a copy of an existing agent (new id, same config). Counts toward agent capacity.
- `duplicate_campaign`: Copy a campaign (settings + audience) into a new DRAFT named '<name> (Copy)'. Nothing is sent. Note: the copy re-uses company-based audiences only and has no CR
- `enrich_custom_audience`: SPENDS CREDITS: starts background enrichment (email, phone, LinkedIn, WhatsApp lookups) of the not-yet-enriched contacts — 1 credit per contact actually enriche
- `export_custom_audience_csv`: Download every contact of a custom audience as CSV text (filename, total_rows, csv). Can be large. Read-only, free.
- `generate_agent_description`: AI-write "what the agent knows" about the company from its website (no full scan). Costs 1 credit. NOT saved — pass the text to set_agent_company (company_descr
- `generate_agent_page_descriptions`: Write AI descriptions + keywords for website pages (output of scan_agent_website). Costs 1 credit per 5 pages. Not saved.
- `generate_agent_script`: Generate the agent's script (stages + full text + email/LinkedIn script) in the chosen tone for its direction (sales / support / info), using the company descri
- `generate_knowledge_from_url`: Read a public web page and return a knowledge text block about it. Costs 1 credit. NOT saved — append the result to company_description with set_agent_company i
- `generate_phone_script`: Draft a call script and greeting from the agent's sales script for a call objective, in the agent's language. Free. Not saved — pass it to setup_phone_agent (or
- `generate_slide_script`: AI-write what the presenter says on one slide, in the presentation's language. 1 credit (2 with image_url — the AI looks at the slide). NOT saved — put it into 
- `generate_support_script`: Legacy support-script generator of the old text-widget creators. Prefer generate_agent_script with purpose "support". Needs company name + description. Costs 1 
- `generate_transition_phrases`: Generate the phrases the Slide Presenter uses to move between slides, in the presentation's language, and save them on the agent. Needs saved slides (set_presen
- `get_agent`: Fetch the full details of a single agent by id.
- `get_agent_connection`: Full settings of one channel (website widget, button, presentation, Google Meet, phone, Telegram). Read-only.

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
