MCP

Connect your AI tools to Vergio so they can search accounts, read evidence, manage pipeline records, inspect wallet and watch state, and write operator decisions back. Claude connects by sign-in with no key to manage. Other clients use a Vergio API key that also works for REST.

What your agency gets

MCP (Model Context Protocol) lets an assistant like Claude call Vergio as a set of tools. Your agent can search scored accounts, read signals, work with deals and contacts, inspect wallet usage, manage watches when authorized, and read supervision state without leaving the assistant. Each tool below shows whether it is live, pilot-only, activation-gated, or unavailable.

Connect Claude (recommended)

Claude connects to Vergio by sign-in, so there is no key to create, paste, or rotate. In Claude (Desktop, web, or Claude Code), open Settings → Connectors, choose Add custom connector, and paste the endpoint:

https://vergio.ai/api/mcp

Claude sends you to Vergio to sign in and asks you to approve access. Once you approve, Vergio's tools appear in Claude. Access is scoped to your workspace and role. Active members receive the day-to-day account, watch, outcome, deal, contact, report, and outreach scopes; wallet reads are role-derived, and managing webhooks is limited to owners and admins. Tool-level pilot, funding, and availability checks still apply. Revoke access by removing the connector in Claude.

Connect with an API key

For Cursor, Codex, scripts, or programmatic use, connect with a Vergio API key instead. Create a key under Integrations > API & MCP > Create key, then use the endpoint https://vergio.ai/api/mcp with the key as a Bearer header. (This also works in Claude if you prefer a key to sign-in.)

Run in your project. The Vergio tools appear in Claude Code's tool list.

claude mcp add --transport http vergio https://vergio.ai/api/mcp \
  --header "Authorization: Bearer vg_live_your_key_here"

Create the key under Integrations, then API & MCP, and paste it in place of the placeholder.

Tools

Your agent gets these 45 tools. Access follows the scopes granted to the connected key or OAuth session.

list_in_market_accountsUnavailable

This week's surfaced in-market accounts for your agency, each with the evidence (score reasoning + top signals) behind it. Call this to see who to reach out to now.

Published for compatibility, but not currently available in wallet-live workspaces.

InputTypeRequired
icp_profilestringno
search_accounts

Search your scored accounts. Filter by minimum In-Market score (0-100), tier, or status; results are cursor-paginated (pass the returned next_cursor to page).

InputTypeRequired
min_scorenumberno
tierstringno
statusstringno
icp_profilestringno
limitnumberno
cursorstringno
get_account_evidence

Full detail for one account: its In-Market / Fit / Intent / Opportunity scores, the plain-English reasoning, and its signal timeline. Pass the storeId from a list/search result.

InputTypeRequired
store_idstringyes
get_account_signals

The signal history for one account (optionally since a date). Use it to understand what changed and when.

InputTypeRequired
store_idstringyes
sincestringno
record_outcome

Report what happened after you reached out to an account. Call this when you know the result (discovery, qualifying, proposal, negotiation, won, lost) — it becomes a learning label that improves everyone's rankings. Requires the write:outcomes scope.

InputTypeRequired
store_idstringyes
action"discovery" | "qualifying" | "proposal" | "negotiation" | "won" | "lost"yes
valuenumberno
notestringno
event_idstringno
lost_reason"no_response" | "timing" | "budget" | "chose_another_agency" | "project_cancelled" | "not_a_fit" | "other"no
lost_reason_otherstringno
list_cadencesPilot

Your workspace's active outreach cadences, each with its id, name, step count, and whether it includes a Growth Report. Use a cadence id with enroll_in_cadence. Available only during an approved Outreach Studio pilot.

Available only to approved Outreach Studio pilot workspaces.

enroll_in_cadencePilot

Enroll a store into an active cadence after recipient email permission was confirmed on the contact record. Published or verified addresses alone are not permission. Pass cadence_id and store_id; contact_id is optional. Sends use the key creator's connected Google mailbox. Requires write:outreach.

Available only to approved Outreach Studio pilot workspaces.

InputTypeRequired
cadence_idstringyes
store_idstringyes
contact_idstringno
stop_enrollmentPilot

Stop a live enrollment so no further emails are sent to it. Pass the enrollment_id (from list results). Requires the write:outreach scope.

Available only to approved Outreach Studio pilot workspaces.

InputTypeRequired
enrollment_idstringyes
get_outreach_statsPilot

Your outreach summary: active enrollments, emails sent this week, replies this week, and the reply rate (shown only after 10 sends). Available only during an approved Outreach Studio pilot.

Available only to approved Outreach Studio pilot workspaces.

list_deals

Your pipeline deals, newest first. Filter by store_id or stage (discovery|qualifying|proposal|negotiation|won|lost); cursor-paginated (pass the returned next_cursor). Use a deal's id with update_deal / move_deal_stage.

InputTypeRequired
store_idstringno
stage"discovery" | "qualifying" | "proposal" | "negotiation" | "won" | "lost"no
limitnumberno
cursorstringno
create_deal

Open a new deal on an account. Pass store_id and a name; value, stage, next_step, next_step_due are optional. If the account isn't saved yet it is added to your pipeline as a prospect automatically. Requires the write:deals scope.

InputTypeRequired
store_idstringyes
namestringyes
valuenumberno
stage"discovery" | "qualifying" | "proposal" | "negotiation" | "won" | "lost"no
next_stepstringno
next_step_duestringno
update_deal

Edit a deal by id: name, value, stage, next_step, next_step_due, owner_user_id, or archive it. Moving stage to 'lost' requires a lost_reason. The version is managed for you. Requires the write:deals scope.

InputTypeRequired
deal_idstringyes
namestringno
valuenumber | nullno
stage"discovery" | "qualifying" | "proposal" | "negotiation" | "won" | "lost"no
next_stepstring | nullno
next_step_duestring | nullno
owner_user_idstring | nullno
lost_reasonanyno
lost_reason_otherstring | nullno
archivedbooleanno
move_deal_stage

Move a deal to a stage (discovery|qualifying|proposal|negotiation|won|lost). 'won' marks the account a customer; 'lost' needs a lost_reason (no_response|timing|budget|chose_another_agency|project_cancelled|not_a_fit|other). Requires the write:deals scope.

InputTypeRequired
deal_idstringyes
stage"discovery" | "qualifying" | "proposal" | "negotiation" | "won" | "lost"yes
valuenumberno
lost_reason"no_response" | "timing" | "budget" | "chose_another_agency" | "project_cancelled" | "not_a_fit" | "other"no
lost_reason_otherstringno
list_contacts

The contacts on file for one account. Pass the store_id. Use a contact's id with update_contact.

InputTypeRequired
store_idstringyes
create_contact

Add a contact to an account. Email permission defaults to unknown. Set email_permission_status=confirmed only when the recipient gave permission, with its source and date; published or verified addresses are not permission. Requires write:contacts.

InputTypeRequired
store_idstringyes
first_namestringno
last_namestringno
namestringno
rolestringno
emailstringno
email_permission_status"unknown" | "confirmed" | "withdrawn"no
email_permission_source"direct_request" | "website_form" | "event" | "existing_relationship" | "imported_consent" | "other"no
email_permission_confirmed_atstringno
email_permission_notestringno
update_contact

Edit a contact by id. Permission confirmation requires the recipient's actual permission source and date; withdrawal permanently suppresses the address. Requires write:contacts.

InputTypeRequired
contact_idstringyes
first_namestringno
last_namestringno
rolestring | nullno
emailstring | nullno
email_permission_status"unknown" | "confirmed" | "withdrawn"no
email_permission_source"direct_request" | "website_form" | "event" | "existing_relationship" | "imported_consent" | "other"no
email_permission_confirmed_atstringno
email_permission_notestringno
find_contacts

Discover published contact emails on a merchant's own website and save any new ones to the account. Pass the store_id. Requires the write:contacts scope.

InputTypeRequired
store_idstringyes
add_deal_note

Write a note to a deal's activity timeline. Pass deal_id and text. Requires the write:deals scope.

InputTypeRequired
deal_idstringyes
textstringyes
set_account_status

Set an account's relationship status: prospect | customer | churned | not_a_fit. Requires the write:deals scope.

InputTypeRequired
store_idstringyes
status"prospect" | "customer" | "churned" | "not_a_fit"yes
request_reportUnavailable

Request an asynchronous white-label Growth Report for an account. Pass the store_id. Requires generate:reports; current availability is published separately from this compatibility contract.

Published for compatibility, but not currently available in wallet-live workspaces.

InputTypeRequired
store_idstringyes
get_pipeline_summary

Your pipeline at a glance: open deals, overdue, deals missing a next step, one-off value, and MRR by currency.

list_webhooks

Your registered webhook endpoints and the event types available to subscribe to.

create_webhook

Register an https endpoint to receive signed events (deal.created, deal.updated, deal.stage_changed, contact.created, store.entered, store.exited, store.signal, watch.health_changed). Omit event_types to receive all. The signing secret is returned once. Requires the manage:webhooks scope.

InputTypeRequired
urlstringyes
event_typesarrayno
delete_webhook

Remove a webhook endpoint by id. Requires the manage:webhooks scope.

InputTypeRequired
endpoint_idstringyes
read_managed_watch

Read your workspace's managed-watch capacity, evidence coverage, cadence, health, and cancellation contract. Requires read:watch.

read_watch_health

Read honest managed-watch source health overall and per source lane. Requires read:watch.

resize_managed_watch

Set managed-watch capacity to an integer from 0 through 1000 slots. Requires write:watch.

InputTypeRequired
slotsintegeryes
cancel_managed_watch

Permanently cancel future managed monitoring without rewriting historical activity. Requires write:watch.

read_self_directed_watches

Read the explicit stores your workspace watches and their monthly expected spend. Requires read:watch.

add_self_directed_watches

Add up to 200 explicit, known store UUIDs and return the spend delta. Requires write:watch.

InputTypeRequired
store_idsarrayyes
remove_self_directed_watches

Remove up to 200 explicit, known store UUIDs and return the spend delta. Requires write:watch.

InputTypeRequired
store_idsarrayyes
get_client_watches

Read the client portfolio, health, and suggestions for this workspace. Requires read:watch.

InputTypeRequired
suggestion_limitintegerno
suggestion_cursorstringno
get_client_watch_brief

Read one stored monthly client brief or a stored range of at most 12 periods. Requires read:watch.

InputTypeRequired
store_idstringyes
periodstringno
fromstringno
tostringno
add_client_watches

Add up to 200 client watches. This changes monthly spend and requires write:watch.

InputTypeRequired
storesarrayyes
previewbooleanno
remove_client_watches

Cancel client monitoring or durably decline a client suggestion. Requires write:watch.

InputTypeRequired
store_idsarrayyes
mode"cancel" | "decline"no
get_balance

Read your workspace wallet's paid, promotional, held, and available USD balances. Requires read:wallet.

get_usage

Read bounded wallet usage grouped by catalog item, budget subject, entry type, or day. Requires read:wallet.

InputTypeRequired
fromstringyes
tostringyes
dimension"catalog_item" | "budget_subject" | "entry_type" | "day"yes
cursorstringno
limitintegerno
inspect_prices

Inspect active, versioned USD wallet catalog items. Requires read:wallet.

get_watch_contract

Read your workspace managed-watch capacity, coverage, cadence, status, cancellation semantics, and source health. Requires read:watch.

list_watch_events

Read a bounded, cursor-paginated watch event projection with lifecycle state and explicit source completeness. Requires read:watch.

InputTypeRequired
as_ofstringno
cursorstringno
limitintegerno
get_watch_receipt

Read a watch truth receipt with activity silence and source health exposed as separate fields. Requires read:watch.

InputTypeRequired
sincestringno
get_runway

Forecast expected and maximum monthly watch spend, funded runway, and what pauses first. Requires read:wallet.

get_tool_receipt

Poll a Growth Report job and its related reserve, capture, and release action receipts. Requires read:accounts or generate:reports.

InputTypeRequired
job_idstringyes
list_approvals

Read a bounded page of supervision approvals. Defaults to pending and requires read:wallet.

InputTypeRequired
status"pending" | "approved" | "declined" | "expired" | "superseded" | "execution_failed"no
cursorstringno
limitintegerno
list_standing_rules

Read a bounded page of active and revoked standing rules, including stored spend snapshots. Requires read:wallet.

InputTypeRequired
cursorstringno
limitintegerno
Is this page helpful?