# GrowthKit Revenue Intelligence MCP server

Sales intelligence for B2B SMEs — lead scoring, ICP fit, CRM enrichment & writeback.

## Links
- Registry page: https://www.getdrio.com/mcp/tools-growthkit-revenue-intelligence
- Repository: https://github.com/growthkit-tools/mcp
- Website: https://growthkit.tools/en/mcp

## Install
- Endpoint: https://mcp.growthkit.tools
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.growthkit.tools

## Tools
- embedMemory (Save Memory) - Store knowledge into long-term memory. Supports single items and batch embedding (max 50). IMPORTANT — Chapter System: Every memory MUST be classified into exactly one chapter via metadata.chapter. Available chapters: icp, strategy, campaigns, analytics, brand, competitors, learnings, general, pipeline, signals, playbook. Always analyze the content and pick the most specific chapter. Use general only as a last resort. BEFORE STORING: Search target chapter first to check for duplicates. QUALITY: 50-300 words, specific and factual, one concept per memory. AUTO-TAGGING: Before saving ANY memory, search the playbook chapter for 'tag-taxonomy' to load the current tag taxonomy. Then add 3-7 relevant tags as a comma-separated string in metadata.tags (e.g. metadata: { chapter: 'campaigns', tags: 'saas,series-a,dach,linkedin,demand-gen' }). Pick the most specific tags from the taxonomy. You may add 1-2 free-form tags if needed. For batch embeds, tag each item individually. PLAYBOOK SYSTEM: Available playbooks: icp-workshop, onboarding, campaign-brief, weekly-review, competitor-analysis, content-brief. When the user asks to do any of these tasks, use prompts/get to load the full playbook and follow its steps. Endpoint: https://mcp.growthkit.tools
- searchMemory (Search Memory) - Search long-term memory using semantic similarity. ALWAYS SEARCH BEFORE ANSWERING marketing/strategy questions. Use short, specific keywords as queries. Available chapters: icp, strategy, campaigns, analytics, brand, competitors, learnings, general, pipeline, signals, playbook. TAG FILTERING: Memories are auto-tagged. Use metadata_filter with tags key to filter (e.g. metadata_filter: { chapter: 'campaigns', tags: 'linkedin' }). Endpoint: https://mcp.growthkit.tools
- listMemories (List Memories) - List stored memories in stored order with pagination. Unlike searchMemory (semantic relevance ranking), use this to browse, enumerate, or audit a chapter — not to find the most relevant memory for a question. Filter by chapter via metadata_filter.chapter. Endpoint: https://mcp.growthkit.tools
- updateMemory (Update Memory) - Update content or metadata of a stored memory. Use to enrich, fix, or reclassify. You MUST provide a change_reason explaining WHAT changed and WHY. The reason is stored in the version history audit log. Endpoint: https://mcp.growthkit.tools
- deleteMemories (Delete Memories) - Delete memories by IDs. Always confirm with user first. You MUST provide a change_reason explaining WHY these memories should be deleted. The reason is stored in the version history audit log. Endpoint: https://mcp.growthkit.tools
- clearMemories (Clear All Memories) - Delete ALL memories. Irreversible. Always ask for explicit confirmation. You MUST provide a change_reason. Endpoint: https://mcp.growthkit.tools
- countMemories (Count Memories) - Return only counts, not content — use for overview/sizing (e.g. 'how many competitor memories exist?') before deciding whether to list or search. Optionally filter by chapter via metadata_filter.chapter. For a per-chapter breakdown in one call, prefer getChapterOverview. Endpoint: https://mcp.growthkit.tools
- getChapterOverview (Chapter Overview) - Get memory count per chapter. Use as FIRST STEP in new conversations or reviews. Endpoint: https://mcp.growthkit.tools
- uploadDocument (Upload Document) - Upload a file to GrowthKit document storage. Optionally extracts text and embeds insights. Endpoint: https://mcp.growthkit.tools
- listDocuments (List Documents) - List stored documents with optional filtering by category or chapter. Endpoint: https://mcp.growthkit.tools
- getDocument (Get Document) - Get a specific document with fresh download URL and linked insights. Endpoint: https://mcp.growthkit.tools
- deleteDocument (Delete Document) - Delete a document and its associated insights. Irreversible — always confirm with the user first. Endpoint: https://mcp.growthkit.tools
- createReminder (Create Reminder) - Schedule a reminder. Convert relative times to ISO 8601. Endpoint: https://mcp.growthkit.tools
- listReminders (List Reminders) - List reminders, ordered by remind_at ascending. By default returns only pending reminders; pass status=sent|cancelled|all to widen. Optionally scope to one task via task_id. Returns each reminder's id, title, remind_at, and status. Endpoint: https://mcp.growthkit.tools
- cancelReminder (Cancel Reminder) - Cancel a pending reminder by ID. Endpoint: https://mcp.growthkit.tools
- getHistory (Memory Version History) - Get the version history of a specific memory. Shows all previous versions with timestamps and who made changes. Endpoint: https://mcp.growthkit.tools
- restoreVersion (Restore Memory Version) - Restore a memory to a previous version. Works for both existing and deleted memories. Use version_id from getHistory or listDeleted results. Endpoint: https://mcp.growthkit.tools
- listDeleted (List Deleted Memories) - List recently deleted memories that can be restored. Shows content preview and deletion info. Endpoint: https://mcp.growthkit.tools
- listTeam (List Team Members) - List all team members (token holders) for your account. Shows display names, roles, and identifies which token is yours. Endpoint: https://mcp.growthkit.tools
- sendNotification (Send Notification) - Send a notification to a team member. First use listTeam to find the recipient. For 2-person teams, the recipient is auto-resolved. Endpoint: https://mcp.growthkit.tools
- checkNotifications (Check Notifications) - Check for unread notifications (direct messages and broadcasts). Endpoint: https://mcp.growthkit.tools
- crmSearchCompany (CRM: Search Company) - Search CRM for a company by name. ALWAYS search before creating to avoid duplicates. Endpoint: https://mcp.growthkit.tools
- crmGetCompany (CRM: Get Company) - Get full company details by ID. Returns name, domain, industry, employees, address, CRM link. Endpoint: https://mcp.growthkit.tools
- crmCreateCompany (CRM: Create Company) - Create a new company. ALWAYS search first to avoid duplicates. Endpoint: https://mcp.growthkit.tools
- crmGetCompanyDeals (CRM: Get Company Deals) - Get all deals linked to a company, by company ID. Use after crmSearchCompany or crmGetCompany to review that company's pipeline. Endpoint: https://mcp.growthkit.tools
- crmGetCompanyContacts (CRM: Get Company Contacts) - Get all contacts linked to a company, by company ID. Use to find who to reach at a known company. Endpoint: https://mcp.growthkit.tools
- crmSearchContact (CRM: Search Contact) - Search CRM for a contact by name or keyword (fuzzy match); returns the top matches. Use to look up one known person. For structured segment queries across the contact base (e.g. 'all CEOs in pipeline companies'), use crmListPeople instead. Endpoint: https://mcp.growthkit.tools
- crmListCompanies (CRM: List Companies) - List companies from CRM with structured filters. Use for segment queries like 'all pharma companies with 50-200 employees in DACH'. All filter fields optional. Returns companies with id, name, industry, employees, country, and pagination info. Unlike crmSearchCompany (which does fuzzy name search), this does precise structured filtering. Endpoint: https://mcp.growthkit.tools
- crmListPeople (CRM: List People) - List people/contacts from CRM with structured filters. Use for segment queries like 'all CEOs in pipeline companies'. All filter fields optional. Unlike crmSearchContact (fuzzy lookup of one person by name), this does precise structured filtering across the contact base. Returns contacts with id, name, title, company, and pagination info. Endpoint: https://mcp.growthkit.tools
- crmGetContact (CRM: Get Contact) - Get full contact details by ID. Endpoint: https://mcp.growthkit.tools
- crmCreateContact (CRM: Create Contact) - Create a new contact. ALWAYS pass company_id when the company exists. Endpoint: https://mcp.growthkit.tools
- crmGetPipelines (CRM: Get Pipelines) - Get all pipelines with stages. ALWAYS call before creating deals to get valid stage_id. Endpoint: https://mcp.growthkit.tools
- crmCreateDeal (CRM: Create Deal) - Create a new deal. Requires title + stage_id. MUST call crmGetPipelines first. Endpoint: https://mcp.growthkit.tools
- crmUpdateDeal (CRM: Update Deal) - Update a deal. Use generic names: company_id, contact_id, expected_close. Endpoint: https://mcp.growthkit.tools
- crmGetDeal (CRM: Get Deal) - Get the full record for one deal by ID. Use after a search or list returns a deal id when you need its complete details. Endpoint: https://mcp.growthkit.tools
- crmAddNote (CRM: Add Note) - Add a note to a CRM record — a deal, company, or contact. Provide content (HTML supported) and at least one target id (deal_id, company_id, or contact_id). Use to log call summaries, context, or decisions against the record. Endpoint: https://mcp.growthkit.tools
- crmCreateActivity (CRM: Create Activity) - Create a follow-up activity on a CRM record. Provide a subject and set type (call | meeting | task | email | deadline; default task). Optionally link it to a deal, company, or contact and set a due_date (YYYY-MM-DD). Use to schedule next steps after an interaction. Endpoint: https://mcp.growthkit.tools
- crmCheckConnection (CRM: Check Connection) - Check if CRM is connected and which provider is active. Endpoint: https://mcp.growthkit.tools
- enrichCompany (Enrich Company) - Get company info by domain or name. Returns industry, employees, revenue, location, technologies. Endpoint: https://mcp.growthkit.tools
- enrichPerson (Enrich Person) - Get person profile from email or LinkedIn URL. Endpoint: https://mcp.growthkit.tools
- findContacts (Find Contacts) - Find contacts at a company. Filter by seniority or department. Endpoint: https://mcp.growthkit.tools
- findEmail (Find Email) - Find one person's email by name + domain. Endpoint: https://mcp.growthkit.tools
- verifyEmail (Verify Email) - Check if an email is deliverable. Use before outreach. Endpoint: https://mcp.growthkit.tools
- discoverSimilar (Discover Similar Companies) - Find lookalike companies for a seed and re-rank them by fit. mode='account' (seed={domain}) finds companies similar to that domain via Hunter similar_to; mode='icp' (no seed) discovers companies matching your saved ICP; mode='won_deals' is not yet implemented. Each candidate comes back with similarity_to_seed (0–100 firmographic closeness to the seed), canonical_icp_score (0–100 vs your global ICP; null if not on the Pro plan), divergence + divergence_flag (≥25 = seed diverges from ICP — a product signal), classification, and already_in_crm. Read-only — it never writes and never reveals emails/phones (do that per-lead separately). To control cost, only the top `shortlist_size` pre-ranked candidates are fully enriched + scored; the rest come back with enriched:false and null scores (candidates with enriched:false were NOT evaluated — null is 'not scored', not a low score). NOTE: mode='account' uses Hunter `similar_to`, which requires a Hunter Premium/Data-Platform key; without it, discovery automatically falls back to query/industry filters and says so in `warnings`. Endpoint: https://mcp.growthkit.tools
- scoreLeads (Lead Scoring: Run) - Trigger lead scoring against ICP for this user's CRM companies. Scores each (company, contact) pair on 4 dimensions (industry 35%, employees 25%, geo 20%, seniority 20%) with missing-data renormalization. Use mode='full' for all companies, 'delta' for new/changed since last run, 'company_ids' for specific IDs. Persists to lead_scores table; read results via getTopLeads. Returns counts and per-user summary. Requires Pro plan (active or trialing). Write-operation — scores are persisted to lead_scores table. Endpoint: https://mcp.growthkit.tools
- getTopLeads (Lead Scoring: Top Leads) - Retrieve the highest-scoring leads from the CRM, ranked by ICP fit. Returns company details, contact (if any), 4-dimension score breakdown, and qualitative reasons like 'Industry X — strong match to ICP'. By default filters out leads with <50% data completeness to avoid false-positives from data-sparse ICP matches (e.g. leads where only the contact's seniority matched but industry/employees/country are unknown). Override via filters.min_completeness if you want incomplete leads too. Requires scoreLeads to have been run at least once. Requires Pro plan. Read-only — does not trigger new scoring. Call scoreLeads first if your CRM has new companies or ICP has changed (check icp_version_hash in the response to detect staleness). Endpoint: https://mcp.growthkit.tools
- email_compose (Compose or Draft an Email) - Compose an email via the user's connected email provider (currently Gmail; Microsoft 365 coming in Phase B). DEFAULT mode is 'draft' — creates a real draft in Gmail that the user can review before sending. Only use mode='send' when the user explicitly confirms sending with keywords like 'sende', 'schick raus', 'verschicken', 'send it', 'raus damit'. On 'draft' success, response includes draft_url the user can click to open the draft in Gmail. On 'send' success, response includes a tracking_id (1×1 pixel auto-injected for open-tracking). The From address is resolved server-side (5-level precedence: explicit from > user-token integration > user-token default > account default > account email) — do NOT fabricate a From address. Optional crm_deal_id links the message to a deal for future activity writeback. Requires active email provider OAuth connection. Endpoint: https://mcp.growthkit.tools
- createCampaign (Campaign: Create Briefing) - Create a new campaign briefing. Use after collecting the 7 required fields via the campaign-briefing-playbook (search 'campaign-briefing-playbook' in playbook chapter to load the methodology). Sets status='draft'. Returns the created campaign id. NEVER call this without first running the playbook conversation — every campaign needs a complete briefing. Endpoint: https://mcp.growthkit.tools
- listCampaigns (Campaign: List) - List campaigns for the current user, optionally filtered by status. Returns campaign metadata plus per-stage lead counts. Endpoint: https://mcp.growthkit.tools
- getCampaign (Campaign: Get) - Get a single campaign with full briefing details and lead-stage counts. Endpoint: https://mcp.growthkit.tools
- updateCampaign (Campaign: Update) - Update fields on an existing campaign. Pass only the fields to change. Endpoint: https://mcp.growthkit.tools
- addCampaignLeads (Campaign: Add Leads) - Add one or more leads to a campaign. Standard fields (company_name, contact_email, etc.) go to typed columns. ANY OTHER FIELD you pass automatically gets stored in the metadata jsonb column — no schema migration needed for new fields. Examples of custom fields: booth_number, source_event, scanned_at, follow_up_priority, notes_from_call. Call getCampaignLeadFields first to discover what custom fields are already used in this campaign. Endpoint: https://mcp.growthkit.tools
- getCampaignLeadFields (Campaign: Discover Lead Fields) - Discover which fields are actually used in a campaign's leads. Returns standard columns with non-null values PLUS all metadata (custom) keys with usage counts and sample values. ALWAYS call this BEFORE asking the user about lead structure or before adding new custom fields — it tells you what's already established for this list. Endpoint: https://mcp.growthkit.tools
- updateCampaignLead (Campaign: Update Lead) - Update fields on an existing campaign lead. Pass lead_id (UUID from listCampaignLeads) and an updates object with only the fields to change. Use this to mark leads as rejected, manually correct enrichment data, or attach custom metadata. Setting lifecycle_stage='rejected' REQUIRES rejected_reason in the same call. The metadata field is shallow-merged into existing metadata jsonb — existing keys are preserved unless overwritten by the same key. Score/dim_*/icp_version_hash are NOT writable here (those come from scoreLeads). crm_external_id/crm_synced_at are NOT writable either (CRM-Sync owns those). Endpoint: https://mcp.growthkit.tools
- listCampaignLeads (Campaign: List Leads) - List leads in a campaign, optionally filtered by lifecycle_stage or enrichment_status. Returns up to 100 per call. Endpoint: https://mcp.growthkit.tools
- show_callable_leads (☎ Show Callable Leads) - Render an interactive call card of leads that have a phone number, each with a ☎ Anrufen button. The HUMAN user clicks a button to place a click-to-call from their own verified caller ID. This tool ONLY displays the card — it never places a call itself, and there is no model-callable call tool (UWG § 7: calls are human-initiated only). Optionally scope to one campaign_id; omit it to aggregate all callable leads across the user's campaigns. Use when the user asks to see or call leads (e.g. "zeig mir anrufbare Leads", "welche Leads kann ich anrufen"). Endpoint: https://mcp.growthkit.tools
- place_call (Place Call (app-private)) - APP-PRIVATE: initiates a click-to-call to one lead from the user's own verified caller ID. Not model-callable (hidden via _meta.ui.visibility:["app"]). Invoked only by the lead-call-card iframe when the human clicks ☎ Anrufen. The gk_ session token is taken server-side; the app passes campaign_lead_id only. Endpoint: https://mcp.growthkit.tools
- save_call_outcome (Save Call Outcome (app-private)) - APP-PRIVATE: saves the post-call disposition / note / next action for one call. Not model-callable (hidden via _meta.ui.visibility:["app"]). Invoked only by the lead-call-card iframe after a call. The gk_ session token is taken server-side; the app passes call_log_id (from place_call) plus optional disposition / notes / next_action. Endpoint: https://mcp.growthkit.tools
- setWorkingMemory (Working Memory: Set) - Store structured state for the current chat session. Use this to persist data that must survive history compression — wizard fields, suggestion lists, active entities. Three kinds: 'wizard' (multi-turn field collection), 'working_set' (ephemeral suggestion lists with TTL), 'pinned_entity' (durable context). Call this AFTER the user confirms a value, BEFORE moving to the next step. The state object replaces (not merges) — fetch first if you need to merge. Endpoint: https://mcp.growthkit.tools
- getWorkingMemory (Working Memory: Get) - Retrieve the current state for a (kind, key) in the current session. Returns null if not set. Use this when you need to merge into existing state or verify what's stored. NOTE: Active working memory entries are ALSO automatically injected into the system prompt by Build Messages — you usually don't need to call this manually. Only call when you need a specific record's full state on-demand. Endpoint: https://mcp.growthkit.tools
- createTask (Create Task) - Create a prioritized task. Provide the four ICE inputs (impact, confidence, effort_constraint, effort_nonconstraint); the DB computes ice_score. Show the inputs to the user for confirmation before calling. Endpoint: https://mcp.growthkit.tools
- listTasks (List Tasks) - List tasks in the workspace, ranked by ICE (highest first). Optional filters. Endpoint: https://mcp.growthkit.tools
- getOpenTasks (Get Open Tasks) - Return the workspace's open/in-progress tasks ranked by ICE (highest priority first) plus the total open count. Call this at the START of any planning, prioritization, or 'what should I work on next' discussion to ground the conversation in current open tasks before advising. Endpoint: https://mcp.growthkit.tools
- updateTask (Update Task) - Update fields of a task. Partial update; status='done' sets done_at automatically. ice_score recomputes when impact/confidence/effort change. Endpoint: https://mcp.growthkit.tools
- setTaskWeights (Set Task Weights) - Set the workspace effort weights (constraint vs non-constraint lane) and optional display labels. Re-stamps open tasks so their ICE re-ranks. Endpoint: https://mcp.growthkit.tools
- toggleStep (Toggle Step) - Check off or re-open a single step in a task's checklist. Provide the task `id` and the `step_id` of the step to toggle. Omit `done` to flip the step's current state; set done=true/false to force a specific state (idempotent). Use when the user completes or reopens a checklist item on a task that has steps. Endpoint: https://mcp.growthkit.tools

## Resources
- growthkit://company/icp - Current ICP definition, buyer personas, target segments, and firmographic criteria. MIME type: text/plain
- growthkit://company/brand-voice - Brand voice guidelines, tone of voice, CEO messaging strategy, and key messages. MIME type: text/plain
- growthkit://company/positioning - Current market positioning, pricing tiers, go-to-market strategy, and competitive differentiation. MIME type: text/plain
- growthkit://company/signals - Recent intent signals, lead engagement data, and buying behavior indicators. MIME type: text/plain
- growthkit://company/analytics - Current sales KPIs, win rate, pipeline coverage, deal size benchmarks, and performance trends. MIME type: text/plain
- growthkit://system/chapters - Overview of all memory chapters with content counts — shows what knowledge is stored. MIME type: text/plain

## Prompts
- onboarding - GrowthKit Onboarding — Set Up Your Marketing Memory 1. Set up your marketing memory
- icp-workshop - ICP Workshop — Define Your Ideal Customer 2. Define or refine your ICP Arguments: mode
- competitor-analysis - Competitor Analysis — Research & Profile a Competitor 3. Analyze a competitor Arguments: competitor_name
- campaign-brief - Campaign Brief — Data-Driven Campaign Planning 4. Plan a data-driven campaign Arguments: campaign_type, goal
- content-brief - Content Brief — Create SEO/Thought Leadership Content 5. Create a content brief Arguments: content_type, topic
- weekly-review - Weekly Review — Marketing Performance Check 6. Weekly performance check-in

## Metadata
- Owner: tools.growthkit
- Version: 1.12.2
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 22, 2026
- Source: https://registry.modelcontextprotocol.io
