AI competitive intelligence: competitor pricing, features, reviews and news for B2B SaaS.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get the AI-generated sales battlecard for one tracked competitor — overview, quick stats, strengths, weaknesses, how you win, objection handling (they say X / you say Y), pricing talk track, and landmine questions to plant. Generate or refresh cards from the competitor's Battlecard tab in the app.
Competitor domain, e.g. acme.com
Get the AI-generated sales battlecard for one tracked competitor — overview, quick stats, strengths, weaknesses, how you win, objection handling (they say X / you say Y), pricing talk track, and landmine questions to plant. Generate or refresh cards from the competitor's Battlecard tab in the app.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Competitor domain, e.g. acme.com |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Competitor domain, e.g. acme.com"
}
}
}Get the latest SEO snapshot for your product and each competitor you track: domain rating, organic keyword count, estimated monthly organic traffic, backlinks, referring domains, and top-3/top-10 keyword counts. Optionally include each one's top organic keywords and its latest ranking moves scored against you (keywords that matter: your brand, keywords you both rank for, real gaps).
| Argument | Type | Description |
|---|---|---|
| include_moves | boolean | Also return each rival's latest keyword ranking moves scored against your product: headline, significance, suggested action, per-keyword positions and your own position (default false) |
| include_keywords | boolean | Also return each competitor's top 10 organic keywords by traffic (default false) |
{
"type": "object",
"required": [],
"properties": {
"include_moves": {
"not": {
"type": "null"
},
"type": "boolean",
"description": "Also return each rival's latest keyword ranking moves scored against your product: headline, significance, suggested action, per-keyword positions and your own position (default false)"
},
"include_keywords": {
"not": {
"type": "null"
},
"type": "boolean",
"description": "Also return each competitor's top 10 organic keywords by traffic (default false)"
}
}
}List the features your tracked competitors market on their sites that YOUR site doesn't mention, ranked by how many rivals have each one. For every gap you get each rival's own label and description for the capability. Two uses: (1) find missing features worth building — majority_of_rivals: true flags table stakes; (2) find features you already have but under-market — a gap you know you ship means your site isn't selling it, and the rival descriptions show how others position it.
| Argument | Type | Description |
|---|---|---|
| category | string | Filter to one category: core_workflow, collaboration, integrations, automation, analytics_reporting, ai_capabilities, security_compliance, administration, developer_api, mobile_platform, other |
{
"type": "object",
"required": [],
"properties": {
"category": {
"type": "string",
"minLength": 1,
"description": "Filter to one category: core_workflow, collaboration, integrations, automation, analytics_reporting, ai_capabilities, security_compliance, administration, developer_api, mobile_platform, other"
}
}
}Get the feature matrix for your competitive set: every canonical feature in your workspace's catalog, grouped by category, with which competitors market it and whether you do. Coverage comes from each product's public site, so a feature you're missing means you don't MARKET it — you may still have it unannounced. Use differences_only to hide rows where everyone (or no one) has it.
| Argument | Type | Description |
|---|---|---|
| category | string | Filter to one category: core_workflow, collaboration, integrations, automation, analytics_reporting, ai_capabilities, security_compliance, administration, developer_api, mobile_platform, other |
| differences_only | boolean | Only return features where coverage differs across the set (default false) |
{
"type": "object",
"required": [],
"properties": {
"category": {
"type": "string",
"minLength": 1,
"description": "Filter to one category: core_workflow, collaboration, integrations, automation, analytics_reporting, ai_capabilities, security_compliance, administration, developer_api, mobile_platform, other"
},
"differences_only": {
"not": {
"type": "null"
},
"type": "boolean",
"description": "Only return features where coverage differs across the set (default false)"
}
}
}List your weekly AI action plans — suggested action items generated from your competitors' latest moves, each with angle, urgency, confidence, the evidence behind it, and a ~30-minute first step. Each item carries status (active/completed); items you ignored are omitted. Newest first, paginated; use limit 1 for just the current plan.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 5, max 50) |
| since | string | Only plans generated on/after this date (ISO 8601, e.g. 2026-06-01) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 5, max 50)"
},
"since": {
"type": "string",
"minLength": 1,
"description": "Only plans generated on/after this date (ISO 8601, e.g. 2026-06-01)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
}
}List the latest detected activity across everything you track — pricing, SEO, content, roadmap, and review events — newest first, paginated. This is the same feed as the in-app dashboard.
| Argument | Type | Description |
|---|---|---|
| angle | string | Filter: one of seo, pricing, content, features, roadmap, reviews, hiring, news, mentions, ads |
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| significance | string | Filter: one of normal, important, critical |
{
"type": "object",
"required": [],
"properties": {
"angle": {
"type": "string",
"minLength": 1,
"description": "Filter: one of seo, pricing, content, features, roadmap, reviews, hiring, news, mentions, ads"
},
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of normal, important, critical"
}
}
}List recent blog posts published by the competitors you track, newest first, paginated. Filter to one competitor by domain.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| competitor | string | Only posts from this tracked competitor's domain, e.g. 'rival.com' |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only posts from this tracked competitor's domain, e.g. 'rival.com'"
}
}
}List recent public mentions of the competitors you track and of your own product (Hacker News and Reddit), newest first, paginated. Each mention carries sentiment and intent (praise, complaint, question, comparison, alternative_seeking, news). Filter by competitor domain, channel, sentiment or intent.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| intent | string | Only this intent: praise, complaint, question, comparison, alternative_seeking, news, or other |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| channel | string | Only this channel: hacker_news, reddit, or web |
| sentiment | string | Only this sentiment: positive, negative, or neutral |
| competitor | string | Only mentions of this tracked competitor's domain, e.g. 'rival.com' (your own product's domain works too) |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"intent": {
"type": "string",
"minLength": 1,
"description": "Only this intent: praise, complaint, question, comparison, alternative_seeking, news, or other"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"channel": {
"type": "string",
"minLength": 1,
"description": "Only this channel: hacker_news, reddit, or web"
},
"sentiment": {
"type": "string",
"minLength": 1,
"description": "Only this sentiment: positive, negative, or neutral"
},
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only mentions of this tracked competitor's domain, e.g. 'rival.com' (your own product's domain works too)"
}
}
}List recent press mentions of the competitors you track (funding, acquisitions, layoffs, general coverage), newest first, paginated. Filter to one competitor by domain or to one category.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| category | string | Only this category: funding, acquisition, layoffs, or general |
| competitor | string | Only mentions of this tracked competitor's domain, e.g. 'rival.com' |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"category": {
"type": "string",
"minLength": 1,
"description": "Only this category: funding, acquisition, layoffs, or general"
},
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only mentions of this tracked competitor's domain, e.g. 'rival.com'"
}
}
}List recently detected pricing changes for the competitors you track, newest first, paginated, with an AI summary and before/after details.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| significance | string | Filter: one of minor, moderate, major |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of minor, moderate, major"
}
}
}List recent public reviews of the competitors you track, newest first, paginated, plus a per-competitor rating summary (average rating, review count). Filter by competitor domain, source, or negative-only.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| source | string | Filter: one of trustpilot, g2 (G2 needs a trial or paid plan) |
| competitor | string | Only reviews of this tracked competitor's domain, e.g. 'rival.com' |
| negative_only | boolean | Only reviews rated 2 stars or below |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"source": {
"type": "string",
"minLength": 1,
"description": "Filter: one of trustpilot, g2 (G2 needs a trial or paid plan)"
},
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only reviews of this tracked competitor's domain, e.g. 'rival.com'"
},
"negative_only": {
"not": {
"type": "null"
},
"type": "boolean",
"description": "Only reviews rated 2 stars or below"
}
}
}List recently detected roadmap changes for the competitors you track (features added, shipped, renamed, or removed), newest first, paginated, with an AI summary and details.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (default 25, max 100) |
| offset | integer | Skip this many results (default 0); use next_offset from the previous page |
| change_type | string | Filter: one of item_added, item_status_changed, item_shipped, item_removed, item_renamed |
| significance | string | Filter: one of minor, moderate, major |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"not": {
"type": "null"
},
"type": "integer",
"description": "Skip this many results (default 0); use next_offset from the previous page"
},
"change_type": {
"type": "string",
"minLength": 1,
"description": "Filter: one of item_added, item_status_changed, item_shipped, item_removed, item_renamed"
},
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of minor, moderate, major"
}
}
}