GrowSurf vs Trysonar MCP
A side-by-side look at the GrowSurf and Trysonar MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose GrowSurf for marketing work as a local process; choose Trysonar MCP for marketing as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose GrowSurf when
- You need dedicated capabilities in the Marketing domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
GROWSURF_API_KEY, GROWSURF_CAMPAIGN_ID. - You want tools like
growsurf_integration_guide, growsurf_agent_program_creation_eval, growsurf_program_design_advisor.
Choose Trysonar MCP when
- You need dedicated capabilities in the Marketing domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
SONAR_API_KEY, SONAR_API_URL. - You want tools like
sonar_app_lookup, sonar_app_search, sonar_app_aso_score.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Marketing | Marketing |
| Quality signal | 61/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | Freemium |
| Required env vars | GROWSURF_API_KEYGROWSURF_CAMPAIGN_ID | SONAR_API_KEYSONAR_API_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 2 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 63 | 53 |
| Full listing | View GrowSurf | View Trysonar MCP |
Tools & capabilities
GrowSurf tools 63
growsurf_integration_guidePlan a web integration for a referral or affiliate program. Returns Markdown steps for installing the Universal Code, identifying participants, tracking referrals or sales, and verifying webhooks. Does not inspect or change a program. Use `growsurf_client_snippets` for browser JavaScript examples, `growsurf_api_library_snippets` for backend code, or `growsurf_mobile_sdk_guide` for native or React Native apps.growsurf_agent_program_creation_evalGenerate Markdown prompts and acceptance checks for evaluating an agent's program-creation workflow: starter content, rewards, configuration, and frontend installation. Does not create a program or run the checks. Use `growsurf_program_design_advisor` to choose a program design, or `growsurf_integration_guide` to plan its web integration.growsurf_program_design_advisorGenerate program designs, benchmarks, typical rewards, and metric definitions, including participant-to-referral and lead-to-referral ratios. Read-only. Returns a short draft, complete `benchmarkFacts`, a proposed `configurationPlan`, and unresolved `decisions`. Incentive amounts and qualifying actions remain unresolved unless supplied by the customer. `detail: summary` returns a configuration draft and reward structure; `detail: full` adds detailed benchmark tables. Hosted figures describe GrowSurf's high-performing programs; without a bundle, guidance is documentation-based. `programType: AFFILIATE` selects affiliate advice. `industry: other` covers local services, pets, hospitality, and agencies. All inputs are optional.growsurf_troubleshoot_referral_trackingDiagnose referral tracking and program problems. Accepts a symptom or description without requiring a program or participant ID. Covers referrals not credited, participant emails not sending, rewards not issued, participants not added, Universal Code not detected, integrations or CRMs not syncing, Zapier errors, fraud flags, and analytics discrepancies. Returns ordered diagnostic checks, likely causes, fixes, and documentation links. It does not read program or participant records. Unknown `symptom` keys return the available symptoms. A `description` matches only when it contains a symptom label or alias verbatim; otherwise the symptom list is returned.growsurf_mobile_sdk_guideGet Markdown implementation guidance for native iOS/Android SDK 0.9.0 or React Native SDK 0.1.0, including attribution, `shareUrl` sharing, `trackShare`, and the native GrowSurf Window. Choose `platform` and `participantState` to tailor the guide; `includeInstallSnippets` controls installation examples. Does not install an SDK or create a participant token. Use `growsurf_client_snippets` for browser JavaScript or `growsurf_api_library_snippets` for backend token-creation code.growsurf_api_library_snippetsGenerate Markdown code examples for the official backend REST API libraries in TypeScript, Python, PHP, Ruby, and Java. Select `language` and `workflow`; both default to `all`. Covers setup, program lookup, participant creation, referral credit, sales, and mobile participant tokens. Returns code without executing API calls. Use `growsurf_client_snippets` for browser JavaScript or `growsurf_mobile_sdk_guide` for native or React Native app setup.growsurf_get_campaignFetch your GrowSurf campaign (program) details via REST. Embedded reward settings do not establish that an individual reward was earned, approved, or delivered. Earned reward records belong to the individual participant. Targets `campaignId` if supplied, otherwise `GROWSURF_CAMPAIGN_ID`.growsurf_list_campaignsList the GrowSurf programs available to the bound team, including their IDs for program selection. Deleted programs are not returned. Does not require `GROWSURF_CAMPAIGN_ID`.growsurf_create_campaignCreate a new GrowSurf program (campaign) with type-appropriate starter content and optional inline rewards. Starter content includes Design, Emails, Options, Installation, and GrowSurf Window defaults. Only `type` is required. The program starts in `DRAFT` status and is owned by the credential's bound team. `currencyISO` defaults to `USD` and is immutable after creation. `goal` sets the sharing settings at creation and cannot be set later. Incentives require the customer's chosen amount or commission rate. Without `rewards`, GrowSurf's starter rewards are switched off and award nothing. Editor-tab configuration is not accepted here. Does not require `GROWSURF_CAMPAIGN_ID`. The response includes the new program `id`.growsurf_update_campaignUpdate your GrowSurf program's (campaign's) identity and lifecycle: name, companyName, companyLogoImageUrl, and status (set IN_PROGRESS to publish/resume the program, COMPLETE to end it). Only the fields you send are changed. `type`, `urlId`, and `currencyISO` are immutable (currency is chosen once at program creation), so this tool does not accept them. Editor-tab config (design, emails, options, installation) is edited with the dedicated config sub-resource tools, not here. Targets `campaignId` if you pass it, otherwise GROWSURF_CAMPAIGN_ID.growsurf_clone_campaignClone your GrowSurf program (campaign) into a new DRAFT program. Integrations and credentials are not copied; active rewards are cloned. Targets `campaignId` if you pass it, otherwise GROWSURF_CAMPAIGN_ID.growsurf_list_campaign_rewardsList your GrowSurf program's configured Campaign Rewards, including switched-off rewards and rewards whose group is not selected. Deleted rewards are excluded. A reward can be earned only when it also appears in the campaign response's embedded `rewards` array. These settings do not establish that a participant earned or received a reward; earned reward records belong to the individual participant. Targets `campaignId` if supplied, otherwise `GROWSURF_CAMPAIGN_ID`.- +51 more on the listing page
Trysonar MCP tools 53
sonar_app_lookupLook up a single app by its store ID. Returns app metadata including name, developer, category, rating, reviews, installs (Android), and price. Works without an API key (free tier, limited daily use per IP).sonar_app_searchSearch apps in the App Store or Google Play by keyword. Returns ranked list of apps with metadata (results are returned in store ranking order). Works without an API key (free tier, limited daily use per IP).sonar_app_aso_scoreCalculate an ASO (App Store Optimization) audit score (0-100) for an app. Returns the overall score plus an itemized breakdown of checks (title length, keyword usage, screenshots, ratings, etc.) so you can identify what to improve. Works without an API key (free tier, limited daily use per IP).sonar_app_extract_keywordsExtract the most likely target keywords from an app's title and description, ranked by relevance. Useful for understanding what an app (yours or a competitor) is optimizing for. Works without an API key (free tier, limited daily use per IP).sonar_app_reviewsFetch user reviews for an app. Supports filtering by star rating range and sorting by recent or helpful. Useful for sentiment analysis, feature-request mining, and competitive research.sonar_app_revenueEstimate monthly revenue for an app, based on install counts, ratings, and category benchmarks. Returns the dollar estimate, a confidence grade (high/medium/low) with the factors behind it, and the methodology used — always communicate the confidence alongside the number.sonar_keyword_searchResearch a keyword and related terms. Returns difficulty (0-100), popularity score, and results count for the seed keyword plus related autocomplete suggestions. Use this to find keywords worth targeting.sonar_keyword_metricsDifficulty + popularity for a specific keyword (or up to 25 in bulk). Use this when you already know which keywords you care about — costs 1 credit per keyword. Works without an API key for up to 5 keywords/day (free tier, per IP); an API key removes that cap. Use sonar_keyword_search instead when you want related keyword ideas alongside metrics. A keyword the API cannot compute right away comes back as `pending` (queued on the scrape fleet, not charged) — this tool already waits and re-checks briefly; if it is still pending, call again after `retry_after_seconds`.sonar_keyword_suggestionsGet autocomplete suggestions for a seed keyword from the App Store or Google Play. Returns terms with a priority score (higher = more searched). Lighter and faster than sonar_keyword_search — use when you only need term ideas without difficulty/popularity scoring. Works without an API key (free tier, limited daily use per IP).sonar_top_chartsGet a store top chart (free / paid / grossing, overall or by category) with day-over-day movement: per-app rank delta, apps new to the chart, biggest movers and apps that dropped out. Use to see what's rising in a market or category. Note: summary, movers and droppedApps always describe the full top 200 — `limit` truncates the returned entries only. Movement is empty on the first day a chart is requested (no previous snapshot yet). Works without an API key (free tier, limited daily use per IP).sonar_list_appsList the apps tracked in the caller's Sonar workspace (own apps + competitors), each with its latest snapshot (rating, review count, version, installs). Returns the Sonar app UUIDs needed by sonar_get_app, sonar_app_keywords, sonar_app_rankings, and sonar_app_changes. Cursor-paginated (default 100 per page). Requires an Indie plan (trial counts).sonar_get_appGet full details for one tracked app in the caller's Sonar workspace: store metadata plus up to 90 daily snapshots of rating, review count, version, and installs. Requires an Indie plan (trial counts).- +41 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
GrowSurf
{
"mcpServers": {
"growsurf": {
"command": "npx",
"args": [
"-y",
"@growsurfteam/growsurf-mcp"
],
"env": {
"GROWSURF_API_KEY": "YOUR_GROWSURF_API_KEY_HERE",
"GROWSURF_CAMPAIGN_ID": "YOUR_GROWSURF_CAMPAIGN_ID_HERE"
}
}
}
}
Trysonar MCP
{
"mcpServers": {
"trysonar-mcp": {
"command": "npx",
"args": [
"-y",
"@sonarapp/mcp"
],
"env": {
"SONAR_API_KEY": "YOUR_SONAR_API_KEY_HERE",
"SONAR_API_URL": "YOUR_SONAR_API_URL_HERE"
}
}
}
}
Frequently asked questions
GrowSurf is categorized under Marketing and uses a local stdio subprocess. Trysonar MCP belongs to Marketing and uses a local stdio subprocess. Pick GrowSurf for marketing work and Trysonar MCP for marketing.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
GrowSurf has no declared pricing — check the project's own site. Trysonar MCP is listed as freemium — a free tier with paid plans. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add growsurf and trysonar-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, GrowSurf has a quality signal of 61/100 (Good) with 2 views, 0 installs and 0 GitHub stars. Trysonar MCP has 64/100 (Good) with 5 views, 0 installs and 0 GitHub stars.