Aller au contenu

get_workspace_context

Read the VibeSell workspace

Lecture · mcpIdempotent

Le premier appel d'une conversation. Il dit à quelle étape du parcours en est le workspace et tout ce qui est déjà enregistré : l'offre, la cible et ses filtres, le playbook, le dimensionnement, les domaines d'envoi, les séquences, la campagne, les crédits de leads et les dernières décisions.

Description lue par le modèleEnvoyée telle quelle dans tools/list, en anglais.
Read where the user's VibeSell workspace stands: its journey step, the offer they sell, the ideal customer profile (ICP) and its lead filters, the playbook, the sending capacity, the chosen sending domains, the email sequences, the campaign, the lead credits and the latest decisions. Call it first, to know what is already on record.

L'utilisateur dit

Où j'en suis sur VibeSell ?

tools/call · Arguments envoyés par l'assistant
{
"name": "get_workspace_context",
"arguments": {}
}

Cet outil ne prend aucun argument. {}

Schéma d'entrée
{
"type": "object",
"properties": {}
}

Sorte de résultatworkspace

kind"workspace"
stagestring

Where the workspace stands, in words.

phasestring

The workspace phase code.

stepobjet

The journey step, as the VibeSell app numbers it.

  • index integer — 1-based, the step the VibeSell app shows.
  • total integer
  • label string
subscriptionActiveboolean
briefobjet | null

What the user sells, as saved in VibeSell. Null until written.

  • whatIsSold string
  • problemSolved string
  • proof string
  • constraints string
targetobjet | null

The ideal customer profile saved in VibeSell. Null until written.

  • segment string
  • companyProfile string
  • champion string
  • trigger string
  • disqualifiers string
  • filters objet[] — The lead filters saved for this target.
playbookobjet | null

The go-to-market playbook. Null until written.

  • angles string[]
  • cadence string
  • targetMeetingsPerMonth integer
sizingobjet | null

The sending capacity computed for the campaign. Null until computed.

  • emailsPerDay integer
  • mailboxes integer
  • domains integer
  • emailsPerMailboxPerDay integer
  • confirmed boolean — True once the user said yes to THIS sizing.
  • outdated boolean — True when a later change made this sizing no longer apply.
  • fleetInPlace boolean — True when the domains and mailboxes already set up carry this sizing.
sendingDomainsobjet[]

The sending domains the user chose, bought or not yet.

  • name string
  • mailboxes integer — The mailboxes asked for on it.
  • preWarmed boolean — True for a domain taken from the warmed shelf.
  • status "bought" | "being_bought" | "chosen" — bought: it is theirs and stays so. being_bought: the order holds it, not bought yet. chosen: kept, nothing ordered for it yet.
mailboxesobjet

The mailboxes set up for this workspace, removed ones left out.

  • total integer
  • ready integer — Mailboxes ready to send, or sending in the campaign.
  • byState objet[] — The mailboxes counted under the words the VibeSell app shows.
sequencesobjet[]
  • name string
  • approved boolean
  • steps objet[]
campaignobjet | null

The live campaign, or the last one when none is live. Null before any.

  • name string
  • state string
  • stateLabel string
  • live boolean — False once it completed or was stopped.
  • stats objet | null — The last counters read from the provider. Null until a first reading.
leadsImportedinteger
leadCreditsobjet
  • remaining integer
  • limit integer
  • periodEnd string
decisionsobjet[]

The latest decisions on record, most recent first.

  • kind string
  • summary string
  • at string
recommendedPlanstring | null
appUrlstring

Where the user continues in VibeSell.

Schéma de sortie
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "workspace"
},
"stage": {
"type": "string",
"description": "Where the workspace stands, in words."
},
"phase": {
"type": "string",
"description": "The workspace phase code."
},
"step": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "1-based, the step the VibeSell app shows."
},
"total": {
"type": "integer"
},
"label": {
"type": "string"
}
},
"required": ["index", "total", "label"],
"additionalProperties": false,
"description": "The journey step, as the VibeSell app numbers it."
},
"subscriptionActive": {
"type": "boolean"
},
"brief": {
"anyOf": [
{
"type": "object",
"properties": {
"whatIsSold": {
"type": "string"
},
"problemSolved": {
"type": "string"
},
"proof": {
"type": "string"
},
"constraints": {
"type": "string"
}
},
"required": ["whatIsSold", "problemSolved", "proof", "constraints"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What the user sells, as saved in VibeSell. Null until written."
},
"target": {
"anyOf": [
{
"type": "object",
"properties": {
"segment": {
"type": "string"
},
"companyProfile": {
"type": "string"
},
"champion": {
"type": "string"
},
"trigger": {
"type": "string"
},
"disqualifiers": {
"type": "string"
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "What the filter is about, e.g. 'Company based in'."
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "The values, in words."
}
},
"required": ["label", "values"],
"additionalProperties": false
},
"description": "The lead filters saved for this target."
}
},
"required": [
"segment",
"companyProfile",
"champion",
"trigger",
"disqualifiers",
"filters"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The ideal customer profile saved in VibeSell. Null until written."
},
"playbook": {
"anyOf": [
{
"type": "object",
"properties": {
"angles": {
"type": "array",
"items": {
"type": "string"
}
},
"cadence": {
"type": "string"
},
"targetMeetingsPerMonth": {
"type": "integer"
}
},
"required": ["angles", "cadence", "targetMeetingsPerMonth"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The go-to-market playbook. Null until written."
},
"sizing": {
"anyOf": [
{
"type": "object",
"properties": {
"emailsPerDay": {
"type": "integer"
},
"mailboxes": {
"type": "integer"
},
"domains": {
"type": "integer"
},
"emailsPerMailboxPerDay": {
"type": "integer"
},
"confirmed": {
"type": "boolean",
"description": "True once the user said yes to THIS sizing."
},
"outdated": {
"type": "boolean",
"description": "True when a later change made this sizing no longer apply."
},
"fleetInPlace": {
"type": "boolean",
"description": "True when the domains and mailboxes already set up carry this sizing."
}
},
"required": [
"emailsPerDay",
"mailboxes",
"domains",
"emailsPerMailboxPerDay",
"confirmed",
"outdated",
"fleetInPlace"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The sending capacity computed for the campaign. Null until computed."
},
"sendingDomains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mailboxes": {
"type": "integer",
"description": "The mailboxes asked for on it."
},
"preWarmed": {
"type": "boolean",
"description": "True for a domain taken from the warmed shelf."
},
"status": {
"type": "string",
"enum": ["bought", "being_bought", "chosen"],
"description": "bought: it is theirs and stays so. being_bought: the order holds it, not bought yet. chosen: kept, nothing ordered for it yet."
}
},
"required": ["name", "mailboxes", "preWarmed", "status"],
"additionalProperties": false
},
"description": "The sending domains the user chose, bought or not yet."
},
"mailboxes": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"ready": {
"type": "integer",
"description": "Mailboxes ready to send, or sending in the campaign."
},
"byState": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"count": {
"type": "integer"
}
},
"required": ["label", "count"],
"additionalProperties": false
},
"description": "The mailboxes counted under the words the VibeSell app shows."
}
},
"required": ["total", "ready", "byState"],
"additionalProperties": false,
"description": "The mailboxes set up for this workspace, removed ones left out."
},
"sequences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"approved": {
"type": "boolean"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "integer",
"description": "Days after the first email that this one leaves."
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": ["day", "subject", "body"],
"additionalProperties": false
}
}
},
"required": ["name", "approved", "steps"],
"additionalProperties": false
}
},
"campaign": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"state": {
"type": "string"
},
"stateLabel": {
"type": "string"
},
"live": {
"type": "boolean",
"description": "False once it completed or was stopped."
},
"stats": {
"anyOf": [
{
"type": "object",
"properties": {
"sent": {
"type": "integer"
},
"replies": {
"type": "integer"
},
"opens": {
"type": "integer"
},
"bounces": {
"type": "integer"
},
"measuredAt": {
"type": "string",
"description": "When the provider's counters were last read."
}
},
"required": ["sent", "replies", "opens", "bounces", "measuredAt"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The last counters read from the provider. Null until a first reading."
}
},
"required": ["name", "state", "stateLabel", "live", "stats"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The live campaign, or the last one when none is live. Null before any."
},
"leadsImported": {
"type": "integer"
},
"leadCredits": {
"type": "object",
"properties": {
"remaining": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"periodEnd": {
"type": "string"
}
},
"required": ["remaining", "limit", "periodEnd"],
"additionalProperties": false
},
"decisions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"summary": {
"type": "string"
},
"at": {
"type": "string"
}
},
"required": ["kind", "summary", "at"],
"additionalProperties": false
},
"description": "The latest decisions on record, most recent first."
},
"recommendedPlan": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"appUrl": {
"type": "string",
"description": "Where the user continues in VibeSell."
}
},
"required": [
"kind",
"stage",
"phase",
"step",
"subscriptionActive",
"brief",
"target",
"playbook",
"sizing",
"sendingDomains",
"mailboxes",
"sequences",
"campaign",
"leadsImported",
"leadCredits",
"decisions",
"recommendedPlan",
"appUrl"
],
"additionalProperties": false
}
  • Gratuit et en lecture seule : rien n'est facturé, rien ne change.
  • La ligne de la campagne en cours porte l'id que prennent stop_campaign et resume_campaign.