mcpbeat Sign in

Sprouts MCP Server

answering

Sprouts is answering right now. Last checked 2 min ago. It exposes 17 tools.

Uptime history 48 days of history
48 days agonow
100.0%
Uptime 24h
92 of 92 checks
17
Tools
read from the server
149 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 39

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 16 August 2026. No other catalogue keeps this.

17 Sep a tool changed the parameters it asks for2 times that day sprouts_data_intelligence
17 Sep a tool description was rewritten sprouts_data_intelligence
11 Sep 2 tool descriptions were rewritten5 times that day sprouts_generate_messages, sprouts_sequence
11 Sep 2 tools changed the parameters they ask for4 times that day sprouts_generate_messages, sprouts_sequence
11 Sep 2 tools appeared sprouts_send_reply, sprouts_sequence_preview
10 Sep 5 tool descriptions were rewritten enrich_phone_email, sprouts_credit_balance, sprouts_data_intelligence and 2 more
10 Sep 3 tools disappeared sprouts_enrich_account, sprouts_lookup_accounts, sprouts_lookup_contacts
10 Sep 2 tools changed the parameters they ask for3 times that day enrich_phone_email, sprouts_data_intelligence
10 Sep a tool appeared sprouts_lookup
8 Sep a tool description was rewritten sprouts_sequence
and 19 more, back to 16 August 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 2 min ago.

run in your terminal
claude mcp add mcp --transport http https://sprouts-mcp-server.kartikay-dhar.workers.dev
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://sprouts-mcp-server.kartikay-dhar.workers.dev"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://sprouts-mcp-server.kartikay-dhar.workers.dev"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://sprouts-mcp-server.kartikay-dhar.workers.dev"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://sprouts-mcp-server.kartikay-dhar.workers.dev"
    }
  }
}

Available tools 17

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

sprouts
sprouts_brand_guidelines
Upload brand-voice guidelines (as plain TEXT in the content argument — tone rules, message structure, length limits, banned words, worked examples) or inspect the prompts derived from an earlier upload. Upload ONCE per brand voice and reuse the returned documentId for every message-generation call — do NOT re-upload before each batch. Prompt derivation runs in the background after upload; use action "get_prompts" to verify what was extracted (empty right after upload is normal — wait briefly and check again). If guidelines are already registered, the tool will say so instead of uploading a duplicate; pass forceUpload: true to upload anyway (e.g. after editing the guidelines).
sprouts_credit_balance
Balance is already included automatically in every search, enrichment and move response — do NOT call this as a pre-flight check. Call ONLY when the user explicitly asks for their credit balance. Credits are spent on phone/email enrichment and move operations.
sprouts_data_intelligence
Search for prospects with a natural-language sentence — e.g. "find VPs of Marketing at US SaaS companies using HubSpot" or "find Directors of Engineering at fintech startups in India with 50-200 employees". RULES: 1) Pass complete sentences, never bare keywords, and PRESERVE the grammatical structure — do not strip contextual connectors ("where the company has", "of over", "based in"). 2) If the user has an ICP profile, applyIcpProfile=true filters to it. 3) PAGINATION: "page 2" / "next page" goes in the `page` parameter, never left in the query text (it pollutes the semantic search). 4) "N contacts at EACH of these companies" (e.g. "2 VPs of Sales each at apple.com and microsoft.com"): make ONE call with `companies` (domains preferred) and `perCompany`: N, and describe only the people in `query` ("find VPs and above in Sales in the US"). Never split it into one search per company. Only seniority, department and country narrow this kind of search. Results render in an interactive UI where the user can enrich contacts and load account details; that data is pushed into your context — check it before answering follow-ups about specific contacts. For a list of 2+ specific NAMED contacts or companies use `sprouts_lookup` (parallel lookup, one consolidated widget). Present returned results as-is — never add unsolicited quality judgments about the data.
sprouts_generate_messages
Generate personalized cold-outreach copy (email and/or LinkedIn) for up to 20 contacts at a time, written against the uploaded brand guidelines. contactIds are the contact ids returned by the search tools (sprouts_data_intelligence, sprouts_lookup) — the `id` field on each contact row. LinkedIn URLs, handles and emails do NOT work as ids. Brand guidelines are optional: documentId defaults to the tenant's registered guidelines, and if none exist a clearly-labeled generic default is auto-created (the response says so — relay it and suggest uploading real guidelines via sprouts_brand_guidelines). Failed contacts are reported explicitly — always relay them to the user. Generated messages are stored per contact so sequences can reuse them without regenerating. AUTO-ENRICHMENT (default on): the server folds verified per-contact signals captured at search time (role recency, funding stage, hiring, technologies) and cached sprouts_personalization intelligence (intent topics, pain points — for the contacts' account domains and the user's own) into the generation. REAL-TIME SIGNALS: before generating, when you have web search available, research each target company's FRESH news (last ~60 days: funding, product launches, leadership changes, earnings, expansion, layoffs) and pass concise dated findings in realtimeSignals — this is the single biggest copy-quality lever. Only pass specifics you actually found, with dates; never invent a signal. For best copy: search the contacts first (captures database signals), personalize key account domains, web-research fresh news, then generate.
sprouts_lookup
Look up SPECIFIC known contacts or companies by name/email/domain — a batch resolver, not discovery (for open-ended search use sprouts_data_intelligence). Use when the user provides a list of 2+ named people or companies (or a CSV). type "contacts": items carry name/email/company. type "accounts": items carry name/domain; add enrich: true with a SINGLE account to fetch its full 67-field detail. All lookups run in parallel and return ONE consolidated result widget.
sprouts_personalization
Get sales-personalization intelligence for a company domain: pain points, product features, business outcomes, customer testimonials, existing customers, product offerings and buying-intent topics — every item with a public source link. IMPORTANT: the research is a long-running background job (~2 minutes). The FIRST call for a new domain returns status "processing" — tell the user research has started, then call this tool AGAIN with the same domain after ~2 minutes (or when the user asks) to retrieve the finished data. Results are cached for days; repeat calls are instant. Pass refresh: true only when the user explicitly wants the research redone. Use this data to personalize outreach emails, landing pages and sales conversations.
sprouts_send_reply
Send a reply inside an existing conversation. THIS SENDS A REAL MESSAGE TO A REAL PERSON. Two-step: call WITHOUT confirm first — nothing sends, and you get the thread context to preview against. Show the user the recipient, the channel, and the EXACT text that will be sent. ONLY after the user explicitly approves that exact text in this conversation, call again with confirm: true. Never infer approval, never edit the text after approval without re-confirming. The message goes out on the thread's own channel (email or LinkedIn) unless one is named; a channel mismatch is rejected upstream. Thread ids come from sprouts_sequence action "replies". If this call times out, do NOT retry blindly — the message may already have gone out.
sprouts_sequence
Create and manage email outreach sequences. NOTHING here ever sends — sequences are created in "ready" state and sending requires the separate sprouts_sequence_run tool after explicit user confirmation. Actions: create_linear (PREFERRED — a straight chain of 1–10 emails sent in order with per-step delayHours; steps are addressed as step_1..step_N elsewhere), create (engagement-branching: exactly the five slots email_intro, email_followup_after_open, email_followup_no_open, email_final_after_open, email_final_no_open, each once — use only when engagement branching is explicitly required), list (all sequences on the account, each with its folder; pass folderId to list one folder. ext_… ids were built in the Sprouts web app and are view-only here — only get, sprouts_sequence_preview and move_to_folder work on them), get (summary only — for what the steps say, use sprouts_sequence_preview), stats (sent/delivered/opened/clicked/replied/bounced counters — they lag delivery by minutes), recipients (per-person progress), replies (who replied to which step, each row carrying its thread_id), reply_thread (read one conversation in FULL — every message with its channel and actual content; answer with the sprouts_send_reply tool), rename (name only, nothing else changes), pause, delete (irreversible — needs confirm: true after explicit user confirmation), add_recipients (enrol more; all-or-nothing), remove_recipient (immediately unenrol one email — use when a prospect asks to stop; LinkedIn-only recipients can't be removed this way yet, pause the sequence instead), update_message (rewrite one step's copy; step_N or an email_* type — read the names with sprouts_sequence_preview first; refused on personalized sequences and LinkedIn steps), email_accounts / email_account / update_email_account (the connected sending mailboxes — diagnose "running but nothing sends", customize senderName/signature/optOutFooter), set_mailboxes (choose which mailbox(es) an existing sequence sends from; only while it is ready or paused), set_default_mailbox (make a mailbox the account default — affects everyone and only sequences created later; needs confirm: true after explicit user confirmation), list_folders / create_folder / move_to_folder (personal sequence folders; create_folder is safe to repeat; filing works for ext_ web-app sequences too and changes nothing about sending), email_connect_url (Gmail/Office365 OAuth URL the user opens in their browser), connect_mailbox (custom SMTP/IMAP; both connections are tested upstream before anything is created), linkedin_accounts (connected LinkedIn profiles and their ids), linkedin_connect_link (returns the Sprouts web-app page where the user adds a LinkedIn profile — connecting cannot be done from chat; check linkedin_accounts when the user says they finished). Rules: subjects and bodies are HTML capped at 4000 chars. Merge tokens go verbatim — NEVER substitute a real name — and must be spelled EXACTLY {{FirstName}}, {{LastName}} or {{Email}}; any other token only resolves for contacts that already carry that field in Sprouts, and unresolvable tokens put the recipient into "Missing Data" where they receive NOTHING. New recipients need firstName. A contact can be in only ONE active sequence (forcePush moves them — only with explicit user confirmation). Any recipient with a messages array switches the whole sequence to personalized per-recipient copy; non-overridden steps use the shared body. In PERSONALIZED copy the platform cannot resolve merge tokens, so the server substitutes the recipient's real firstName/lastName/email into their messages automatically — prefer writing the actual name there; tokens belong in SHARED step bodies only. Error messages are specific — read them and fix the input rather than retrying unchanged.
sprouts_sequence_preview
Show a sequence visually: an interactive timeline of every step — channel (email, LinkedIn, engagement check), when it fires, subject and body — plus status, recipient count, and any recipients stuck in "Missing Data". Read-only; nothing sends. Call it right after creating or changing a sequence (sprouts_sequence create_linear, create, update_message, rename, add_recipients) so the user sees what will go out, and whenever they ask to see, review or check a sequence. It is also how to read step content and step names (step_N / email_*) before update_message. Works for seq_ ids and for ext_ sequences built in the Sprouts web app (view-only). Personalized sequences show the shared default copy; pass recipient (an enrolled email) to show that contact's own copy. The user sees the timeline, so do not restate every step afterwards — summarize or answer what they asked.
sprouts_sequence_run
Starts a staged sequence — this SENDS REAL EMAIL to every enrolled recipient and cannot be unsent. Two-step, server-enforced flow: (1) Call with only sequenceId. Nothing sends; you get the sequence summary and a one-time confirmation code. Show the user the summary AND the code, and ask them to confirm sending THIS sequence by typing the code back. (2) ONLY after the user has typed the code in their own message, call again with confirmationCode (exactly what the user typed) and recipientCount (the count from the summary). NEVER copy the code from the tool response yourself, never call step 2 in the same turn as step 1 (the server rejects codes used too quickly), and never infer confirmation from the request that created the sequence. Codes are single-use and expire after 10 minutes. sprouts_sequence action "pause" stops further sends. Returns 409 if the sequence is already running. If this call times out, NEVER retry blindly — check sprouts_sequence action "get" first: the run may already have started.
sprouts_user_preferences
Configure and manage user preferences for field selection and response optimization. Save your preferred settings to automatically optimize future searches. NOTE: Credentials for move_to_sprouts and enrich_phone_email are now automatically provisioned during login - manual credential setup is only needed for legacy accounts.
enrich
enrich_phone_email
Enrich a contact with phone number and/or email address using their LinkedIn profile URL — or, when no URL is known, their full_name + company (resolved via a free search first; only the enrichment itself spends credits). CREDIT COST: Up to 2 credits for email, up to 10 credits for phone. User must confirm before enrichment.
history
search_history
View and reuse the user's past prospect searches and surface patterns across them. Use to repeat a previous search or build on earlier prospecting work.
icp
icp_analysis
Ideal Customer Profile (ICP) analysis tool. IMPORTANT WORKFLOW: 1. BEFORE setup: Use sprouts_data_intelligence to research the user's company and ideal customers to gather targeting criteria. 2. During setup: Include targetIndustries, targetCompanySizes, targetJobTitles, targetSeniority, targetLocations - WITHOUT these, all fit scores will be 0! 3. For analysis: Ask user for (a) analysisType: demographic/firmographic/behavioral/technographic/comprehensive, (b) prospect data to analyze. 4. If fit scores are 0: Check if profile has target criteria defined - if not, guide user to update profile with targets.
move
move_to_sprouts
Move contacts or accounts from search results to your Sprouts platform. IMPORTANT: The IDs must be extracted from sprouts_data_intelligence search results. Use the exact field values as shown in the examples below.
refinement
query_refinement
Analyze a prospect-search query and suggest refinements (location, industry, company size, job title) to improve result relevance. Use when a search returns too few, too many, or off-target results.
templates
query_templates
Browse, apply, create, and delete reusable prospect-search query templates. Use this to start from a proven search (e.g. "SaaS decision makers", "enterprise IT buyers") instead of writing a query from scratch.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

sprouts_enrich_account
removed 10 Sep 2026
sprouts_lookup_accounts
removed 10 Sep 2026
sprouts_lookup_contacts
removed 10 Sep 2026

Endpoints

URLTransportStateLatencyChecked
https://sprouts-mcp-server.kartikay-dhar.workers.dev streamable-http answering 52 ms 2 min ago

Alternatives to Sprouts

same job, measured the same way
Splice
by splice
answering
V
Spotify
by spotify
answering
Sports Feeds
by pipeworx-io

Sports Feeds MCP.

34 tools answering
Sp Global
by sp-global
answering

Sprouts — questions

Answers built from our own checks of this server.

What can Sprouts do?
It exposes 17 tools, read directly from the server on our last check. Among them: enrich_phone_email, icp_analysis, move_to_sprouts, query_refinement, query_templates, search_history and 11 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Sprouts working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 149 ms. The bar chart above shows every period we have measured.
Did Sprouts ever remove tools?
Yes. sprouts_enrich_account, sprouts_lookup_accounts, sprouts_lookup_contacts are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Sprouts?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Sprouts need an API key?
No. Sprouts completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 17 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Sprouts?
It answers our handshake in 149 ms on average, which is faster than 77% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.