Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

GrowthKit Revenue Intelligence

REMOTE · MCP.GROWTHKIT.TOOLS · SCANNED AUG 3

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

+7 this week 80 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security91
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
  • The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 8054 tokens (~111/item across 72 items; 66 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (9% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.growthkit.tools

# add to Claude Code
claude mcp add --transport http tools-growthkit-revenue-intelligence https://mcp.growthkit.tools/
# ~/.codex/config.toml
[mcp_servers.tools-growthkit-revenue-intelligence]
url = "https://mcp.growthkit.tools/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tools-growthkit-revenue-intelligence": {
      "type": "remote",
      "url": "https://mcp.growthkit.tools/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tools-growthkit-revenue-intelligence --url https://mcp.growthkit.tools/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  tools-growthkit-revenue-intelligence:
    url: "https://mcp.growthkit.tools/"
// mcp.json
{
  "mcpServers": {
    "tools-growthkit-revenue-intelligence": {
      "type": "http",
      "url": "https://mcp.growthkit.tools/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 72

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.growthkit.tools

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=growthkit.tools CN=WE1,O=Google Trust Services,C=US 13 Jun 2026 11 Sept 2026 ECDSA 256 ECDSA-SHA256 153581986f53df2c13c9f3b39afdf073
SANs: growthkit.tools, mcp.growthkit.tools
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of mcp.growthkit.tools. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
tools. present 13831 8 Verified
growthkit.tools. present 2371 13 Verified
mcp.growthkit.tools. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.growthkit.tools/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://mcp.growthkit.tools/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://mcp.growthkit.tools/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://mcp.growthkit.tools
Authorisation server https://mcp.growthkit.tools
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.growthkit.tools Verified 200
http (plaintext) http://mcp.growthkit.tools HTTPS enforced 301 https://mcp.growthkit.tools/
MCP tools — 66 exposed · ~7,921 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
place_call ~111

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.

NameTypeReqDescription
campaign_lead_idstringyesID of the campaign lead to call (campaign_lead_id from show_callable_leads' structuredContent).

No output schema declared.

No examples provided.

restoreVersion ~62

Restore a memory to a previous version. Works for both existing and deleted memories. Use version_id from getHistory or listDeleted results.

NameTypeReqDescription
version_idstringyesThe version ID (restore_id) to restore to. Get this from getHistory or listDeleted.

No output schema declared.

No examples provided.

save_call_outcome ~148

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.

NameTypeReqDescription
call_log_idstringyescall_log_id returned by place_call in its structuredContent.
dispositionstringOptional call disposition.
next_actionobjectOptional follow-up reminder (typically for a callback disposition).
notesstringOptional free-text note about the call.

No output schema declared.

No examples provided.

scoreLeads ~213

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.

NameTypeReqDescription
company_idsarrayCRM company IDs to score. Required and only used when mode='company_ids'. Max 100 recommended per call.
modestringyesScoring scope. 'full' scores all companies (slow for >1k). 'delta' scores only companies updated since last run or not yet scored (recommended for routine updates). 'company_ids' scores a specific li…

No output schema declared.

No examples provided.

searchMemory ~169

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' }).

NameTypeReqDescription
limitintegerMax results. Default: 10.
match_thresholdnumberMin similarity (0-1). Default: 0.5.
metadata_filterobjectFilter by metadata. Use chapter to search within a specific chapter.
querystringyesSearch keywords — short and specific.

No output schema declared.

No examples provided.

sendNotification ~107

Send a notification to a team member. First use listTeam to find the recipient. For 2-person teams, the recipient is auto-resolved.

NameTypeReqDescription
broadcastbooleanIf true, sends to ALL team members. Default: false.
contextobjectOptional context, e.g. {chapter: 'icp'}.
messagestringyesThe notification message to send.
to_prefixstringRecipient's token_prefix or display_name from listTeam.

No output schema declared.

No examples provided.

setTaskWeights ~128

Set the workspace effort weights (constraint vs non-constraint lane) and optional display labels. Re-stamps open tasks so their ICE re-ranks.

NameTypeReqDescription
label_constraintstringOptional display label for the constraint lane (e.g. 'Engineering').
label_nonconstraintstringOptional display label for the non-constraint lane (e.g. 'Design').
w_constraintnumberyesWeight for the constraint (bottleneck) effort lane in the ICE score.
w_nonconstraintnumberyesWeight for the non-constraint effort lane in the ICE score.

No output schema declared.

No examples provided.

setWorkingMemory ~330

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.

NameTypeReqDescription
keystringyesLogical identifier within a kind. Examples: 'campaign_briefing', 'lead_candidates', 'active_campaign'. Use snake_case.
kindstringyeswizard = multi-turn field collection. working_set = ephemeral suggestion lists with TTL. pinned_entity = durable context across turns.
session_idstringyesThe current chat session_id. REQUIRED. Comes from the conversation context.
stateobjectyesThe full state object to store. Replaces any previous state for this (kind, key). Schema is free-form but conventions: wizard = { fields, required, collected, current_step }; working_set = { items, c…
statusstringDefault 'active'. Set to 'completed' when a wizard finishes successfully (triggers completed_at timestamp).
ttl_turnsintegerOptional TTL in user-turns. After this many turns, the record auto-expires. NULL/omit = permanent (typical for wizard and pinned_entity). Use 5 for working_set / suggestion lists.

No output schema declared.

No examples provided.

show_callable_leads ~186

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").

NameTypeReqDescription
campaign_idstringOptional campaign UUID (from listCampaigns). Omit to aggregate callable leads across all campaigns.
limitintegerMax leads to render. Default 50, max 100.

No output schema declared.

No examples provided.

toggleStep ~129

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.

NameTypeReqDescription
donebooleanOmit to flip the current state.
idstringyesTask UUID.
step_idstringyesID of the step to toggle (from the task's steps).

No output schema declared.

No examples provided.

updateCampaign ~304

Update fields on an existing campaign. Pass only the fields to change.

NameTypeReqDescription
campaign_idstringyesID of the campaign to update (from listCampaigns).
channelsarrayOutreach channels for this campaign.
end_datestringOptional ISO date YYYY-MM-DD. Null = open-ended.
icp_snapshotobjectFrozen ICP for this campaign. May be a narrowed variant of the global ICP.
messaging_anglestringThe hook in the first email/message — the news/trend/insight that earns the read.
namestringShort campaign label, 3-200 chars.
notesstringOptional internal notes about the campaign.
offerstringThe concrete CTA, NOT the product name. E.g. 'Free 30-day pilot'.
pain_hypothesisstringONE sentence stating the specific pain this campaign assumes the persona has.
persona_snapshotobjectFrozen target persona for this campaign.
product_snapshotobjectFrozen product info. Schema: { name, description, value_props[], differentiators[], pricing_hint }.
start_datestringISO date YYYY-MM-DD.
statusstringCampaign status: draft | active | paused | completed | archived.
success_metricobject{ type: 'replies'|'demos'|'sqls'|'pipeline_eur', target: number }

No output schema declared.

No examples provided.

updateCampaignLead ~172

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).

NameTypeReqDescription
lead_idstringyesUUID of the campaign_lead to update
updatesobjectyesObject with fields to change. metadata is shallow-merged.

No output schema declared.

No examples provided.

updateMemory ~135

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.

NameTypeReqDescription
change_reasonstringyesREQUIRED: Why this memory is being updated, e.g. 'Added Q2 metrics', 'Fixed company name', 'User requested update'. Stored in audit log.
embedding_idstringyesID of the memory to update.
new_contentstringUpdated text content.
new_metadataobjectOptional metadata to replace, e.g. chapter or tags.

No output schema declared.

No examples provided.

updateTask ~225

Update fields of a task. Partial update; status='done' sets done_at automatically. ice_score recomputes when impact/confidence/effort change.

NameTypeReqDescription
bucketstringTime horizon: now | next | later | follow-up.
confidencenumberICE confidence, 0-1 (probability the impact materializes).
detailstringOptional longer description of the task.
effort_constraintintegerEffort on the bottleneck lane (see workspace label_constraint).
effort_nonconstraintintegerEffort on the non-bottleneck lane.
idstringyesID of the task to update (from listTasks).
impactintegerICE impact, 1-10 (higher = more impact).
ownerstringAssignee (free text).
statusstringNew status: open | in_progress | done | dropped.
stepsarrayReplace the task's checklist. Omit to leave unchanged.
titlestringOptional new task title.

No output schema declared.

No examples provided.

uploadDocument ~136

Upload a file to GrowthKit document storage. Optionally extracts text and embeds insights.

NameTypeReqDescription
categorystringOptional storage category.
chapterstringOptional memory chapter to associate extracted insights with.
descriptionstringOptional short description of the document.
extract_insightsbooleanIf true, extract text and embed insights into memory. Default: false.
file_base64stringyesBase64-encoded file content.
filenamestringyesFilename with extension.
mime_typestringyesMIME type.
titlestringOptional document title. Defaults to the filename.

No output schema declared.

No examples provided.

verifyEmail ~34

Check if an email is deliverable. Use before outreach.

NameTypeReqDescription
emailstringyesEmail address to verify for deliverability.

No output schema declared.

No examples provided.