Outmano
AI competitive intelligence: competitor pricing, features, reviews and news for B2B SaaS.
사용해야 할까요
품질 및 안전성
발견 사항 (9)
- HIGH
- LOWoutmano_list_competitor_pricing_changes에서
- LOWoutmano_list_competitor_blog_posts에서
- LOWoutmano_list_competitor_roadmap_changes에서
- LOWoutmano_list_competitor_reviews에서
- LOWoutmano_list_competitor_news_mentions에서
- LOWoutmano_list_competitor_mentions에서
- LOWoutmano_get_competitor_battlecard에서
- INFOoutmano_list_competitor_mentions에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"outmano": {
"url": "https://outmano.com/mcp"
}
}
}원격 엔드포인트
https://outmano.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (12)
🟢outmano_list_competitor_pricing_changes(significance, limit, offset)
List recently detected pricing changes for the competitors you track, newest first, paginated, with an AI summary and before/after details.
입력 스키마
{
"type": "object",
"properties": {
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of minor, moderate, major"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"id": {
"type": "integer",
"description": "Activity event id"
},
"change_type": {
"type": "string",
"description": "e.g. price_increase, price_decrease, tier_added, tier_removed"
},
"significance": {
"type": "string",
"description": "minor, moderate or major"
},
"detected_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"summary": {
"type": [
"string",
"null"
],
"description": "AI summary of the change"
},
"details": {
"type": "object",
"description": "Before/after values; keys vary by change_type",
"additionalProperties": true
},
"evidence": {
"type": [
"object",
"null"
],
"description": "Page-level proof; null when none was captured",
"properties": {
"visibility": {
"type": [
"string",
"null"
]
},
"html_changed": {
"type": [
"boolean",
"null"
]
},
"screenshot_changed": {
"type": [
"boolean",
"null"
]
},
"excerpts": {
"description": "Before/after page excerpts"
}
},
"additionalProperties": true
}
},
"required": [
"competitor",
"domain",
"id",
"change_type",
"significance",
"details"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"changes"
],
"additionalProperties": true
}🟢outmano_get_competitor_seo(include_keywords, include_moves)
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).
입력 스키마
{
"type": "object",
"properties": {
"include_keywords": {
"type": "boolean",
"not": {
"type": "null"
},
"description": "Also return each competitor's top 10 organic keywords by traffic (default false)"
},
"include_moves": {
"type": "boolean",
"not": {
"type": "null"
},
"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)"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Tracked products, your own included"
},
"competitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"is_own": {
"type": "boolean",
"description": "True for your own product"
},
"seo": {
"type": [
"object",
"null"
],
"description": "Latest reading; null until the first SEO fetch",
"properties": {
"fetched_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"domain_rating": {
"type": [
"number",
"null"
]
},
"organic_keywords": {
"type": [
"integer",
"null"
]
},
"estimated_monthly_organic_traffic": {
"type": [
"integer",
"null"
]
},
"backlinks": {
"type": [
"integer",
"null"
]
},
"referring_domains": {
"type": [
"integer",
"null"
]
},
"keywords_in_top_3": {
"type": [
"integer",
"null"
]
},
"keywords_in_top_10": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"top_keywords": {
"type": [
"array",
"null"
],
"description": "Only with include_keywords; null until a keyword snapshot exists",
"items": {
"type": "object",
"properties": {
"keyword": {
"type": "string"
},
"position": {
"type": [
"integer",
"null"
]
},
"etv": {
"type": [
"number",
"null"
],
"description": "Estimated monthly traffic"
},
"url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
"recent_moves": {
"type": [
"object",
"null"
],
"description": "Only with include_moves, rivals only; null until two snapshots exist",
"properties": {
"observed_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"relevant": {
"type": "boolean",
"description": "True when the moves matter to you"
},
"significance": {
"type": [
"string",
"null"
]
},
"headline": {
"type": [
"string",
"null"
]
},
"suggested_action": {
"type": [
"string",
"null"
]
},
"moves": {
"type": "array",
"items": {
"type": "object",
"description": "keyword, kind, bucket, position, previous_position, your_position, vs_you, search_volume, url",
"additionalProperties": true
}
},
"filtered": {
"description": "Counts of moves the scorer set aside, by reason"
}
},
"additionalProperties": true
}
},
"required": [
"competitor",
"domain",
"is_own",
"seo"
],
"additionalProperties": true
}
}
},
"required": [
"count",
"competitors"
],
"additionalProperties": true
}🟢outmano_get_feature_matrix(category, differences_only)
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.
입력 스키마
{
"type": "object",
"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": {
"type": "boolean",
"not": {
"type": "null"
},
"description": "Only return features where coverage differs across the set (default false)"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"note": {
"type": "string"
},
"you": {
"type": [
"string",
"null"
],
"description": "Your own product's name"
},
"competitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
}
},
"required": [
"competitor",
"domain"
],
"additionalProperties": true
}
},
"aligned_rival_count": {
"type": "integer",
"description": "Rivals whose features are mapped onto the catalog"
},
"feature_count": {
"type": "integer",
"description": "Features in the catalog before filtering"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"label": {
"type": "string",
"description": "Human label for the category"
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Canonical feature id"
},
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"you_market_it": {
"type": "boolean",
"description": "Absent when you have no own product tracked"
},
"marketed_by": {
"type": "array",
"description": "Rival names that market this feature",
"items": {
"type": "string"
}
},
"gap": {
"type": "boolean",
"description": "True when rivals market it and you do not"
}
},
"required": [
"id",
"name",
"marketed_by",
"gap"
],
"additionalProperties": true
}
}
},
"required": [
"category",
"label",
"features"
],
"additionalProperties": true
}
}
},
"required": [
"note",
"competitors",
"aligned_rival_count",
"feature_count",
"categories"
],
"additionalProperties": true
}🟢outmano_get_feature_gaps(category)
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.
입력 스키마
{
"type": "object",
"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"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"note": {
"type": "string"
},
"you": {
"type": "string",
"description": "Your own product's name"
},
"aligned_rival_count": {
"type": "integer",
"description": "Rivals whose features are mapped onto the catalog"
},
"gap_count": {
"type": "integer"
},
"gaps": {
"type": "array",
"description": "Sorted by rivals_with_count, then name",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Canonical feature id"
},
"name": {
"type": "string"
},
"category": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"rivals_with_count": {
"type": "integer",
"description": "How many aligned rivals market it"
},
"majority_of_rivals": {
"type": "boolean",
"description": "True when at least half of the aligned rivals market it"
},
"how_rivals_market_it": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": "string"
},
"labels": {
"type": "array",
"description": "The rival's own names for the capability",
"items": {
"type": "string"
}
},
"descriptions": {
"type": "array",
"description": "The rival's own descriptions",
"items": {
"type": "string"
}
}
},
"required": [
"competitor",
"labels",
"descriptions"
],
"additionalProperties": true
}
}
},
"required": [
"id",
"name",
"category",
"rivals_with_count",
"majority_of_rivals",
"how_rivals_market_it"
],
"additionalProperties": true
}
}
},
"required": [
"note",
"you",
"aligned_rival_count",
"gap_count",
"gaps"
],
"additionalProperties": true
}🟢outmano_list_competitor_blog_posts(competitor, limit, offset)
List recent blog posts published by the competitors you track, newest first, paginated. Filter to one competitor by domain.
입력 스키마
{
"type": "object",
"properties": {
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only posts from this tracked competitor's domain, e.g. 'rival.com'"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"published_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601 date"
}
},
"required": [
"competitor",
"domain"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"posts"
],
"additionalProperties": true
}🟢outmano_list_competitor_roadmap_changes(significance, change_type, limit, offset)
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.
입력 스키마
{
"type": "object",
"properties": {
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of minor, moderate, major"
},
"change_type": {
"type": "string",
"minLength": 1,
"description": "Filter: one of item_added, item_status_changed, item_shipped, item_removed, item_renamed"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"change_type": {
"type": "string",
"description": "e.g. item_added, item_shipped, item_status_changed, item_removed"
},
"significance": {
"type": "string",
"description": "minor, moderate or major"
},
"detected_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"summary": {
"type": [
"string",
"null"
],
"description": "AI summary of the change"
},
"details": {
"type": "object",
"description": "Item and status fields; keys vary by change_type",
"additionalProperties": true
}
},
"required": [
"competitor",
"domain",
"change_type",
"significance",
"details"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"changes"
],
"additionalProperties": true
}🟢outmano_list_competitor_reviews(competitor, source, negative_only, limit, offset)
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.
입력 스키마
{
"type": "object",
"properties": {
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only reviews of this tracked competitor's domain, e.g. 'rival.com'"
},
"source": {
"type": "string",
"minLength": 1,
"description": "Filter: one of trustpilot, g2 (G2 needs a trial or paid plan)"
},
"negative_only": {
"type": "boolean",
"not": {
"type": "null"
},
"description": "Only reviews rated 2 stars or below"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"summary": {
"type": "array",
"description": "Latest rating per rival and source",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"source": {
"type": "string",
"description": "trustpilot or g2"
},
"average_rating": {
"type": [
"number",
"null"
]
},
"review_count": {
"type": [
"integer",
"null"
]
},
"rating_distribution": {
"type": "object",
"description": "Review counts keyed by star rating",
"additionalProperties": true
},
"fetched_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
}
},
"required": [
"competitor",
"domain",
"source"
],
"additionalProperties": true
}
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"source": {
"type": "string",
"description": "trustpilot or g2"
},
"rating": {
"type": [
"number",
"null"
]
},
"negative": {
"type": "boolean",
"description": "Rated at or below the negative threshold"
},
"title": {
"type": [
"string",
"null"
]
},
"body": {
"type": [
"string",
"null"
],
"description": "Truncated to 300 characters"
},
"author": {
"type": [
"string",
"null"
]
},
"sentiment": {
"type": [
"string",
"null"
]
},
"reviewed_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601 date"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"competitor",
"domain",
"source",
"negative"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"summary",
"reviews"
],
"additionalProperties": true
}🟢outmano_list_competitor_news_mentions(competitor, category, limit, offset)
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.
입력 스키마
{
"type": "object",
"properties": {
"competitor": {
"type": "string",
"minLength": 1,
"description": "Only mentions of this tracked competitor's domain, e.g. 'rival.com'"
},
"category": {
"type": "string",
"minLength": 1,
"description": "Only this category: funding, acquisition, layoffs, or general"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"mentions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
],
"description": "Publication"
},
"category": {
"type": [
"string",
"null"
],
"description": "funding, acquisition, layoffs or general"
},
"published_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601 date"
}
},
"required": [
"competitor",
"domain"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"mentions"
],
"additionalProperties": true
}🟢outmano_list_competitor_mentions(competitor, channel, sentiment, intent, limit, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"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)"
},
"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"
},
"intent": {
"type": "string",
"minLength": 1,
"description": "Only this intent: praise, complaint, question, comparison, alternative_seeking, news, or other"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"mentions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"channel": {
"type": "string",
"description": "hacker_news, reddit or web"
},
"source": {
"type": [
"string",
"null"
],
"description": "Source domain"
},
"author": {
"type": [
"string",
"null"
]
},
"excerpt": {
"type": [
"string",
"null"
],
"description": "Up to 300 characters"
},
"sentiment": {
"type": [
"string",
"null"
],
"description": "positive, negative or neutral"
},
"intent": {
"type": [
"string",
"null"
],
"description": "praise, complaint, question, comparison, alternative_seeking, news or other"
},
"mentions_competitors": {
"type": "array",
"description": "Other tracked names in the same mention",
"items": {
"type": "string"
}
},
"score": {
"type": [
"integer",
"null"
],
"description": "Hacker News points; absent elsewhere"
},
"comments": {
"type": [
"integer",
"null"
],
"description": "Hacker News comment count; absent elsewhere"
},
"published_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
}
},
"required": [
"competitor",
"domain"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"mentions"
],
"additionalProperties": true
}🟢outmano_list_activity_events(angle, significance, limit, offset)
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.
입력 스키마
{
"type": "object",
"properties": {
"angle": {
"type": "string",
"minLength": 1,
"description": "Filter: one of seo, pricing, content, features, roadmap, reviews, hiring, news, mentions, ads"
},
"significance": {
"type": "string",
"minLength": 1,
"description": "Filter: one of normal, important, critical"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 25, max 100)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"event_type": {
"type": "string",
"description": "e.g. pricing_price_increase, seo_ranking_shift, blog_new_post"
},
"angle": {
"type": [
"string",
"null"
],
"description": "pricing, seo, content, roadmap, reviews, ..."
},
"significance": {
"type": "string",
"description": "normal, important or critical"
},
"title": {
"type": "string"
},
"occurred_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"details": {
"type": [
"object",
"null"
],
"description": "Event payload; keys vary by event_type",
"additionalProperties": true
}
},
"required": [
"competitor",
"domain",
"event_type",
"significance",
"title"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"events"
],
"additionalProperties": true
}🟢outmano_list_action_plans(since, limit, offset)
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.
입력 스키마
{
"type": "object",
"properties": {
"since": {
"type": "string",
"minLength": 1,
"description": "Only plans generated on/after this date (ISO 8601, e.g. 2026-06-01)"
},
"limit": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Max results per page (default 5, max 50)"
},
"offset": {
"type": "integer",
"not": {
"type": "null"
},
"description": "Skip this many results (default 0); use next_offset from the previous page"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total matching items"
},
"count": {
"type": "integer",
"description": "Items on this page"
},
"offset": {
"type": "integer",
"description": "Items skipped before this page"
},
"has_more": {
"type": "boolean",
"description": "True when another page follows"
},
"next_offset": {
"type": "integer",
"description": "Pass as offset to fetch the next page; absent on the last page"
},
"plans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"generated_at": {
"type": [
"string",
"null"
],
"description": "ISO 8601"
},
"summary": {
"type": [
"string",
"null"
],
"description": "The week in one paragraph"
},
"action_items": {
"type": "array",
"description": "Sorted by urgency; items you ignored are omitted",
"items": {
"type": "object",
"properties": {
"angle": {
"type": "string"
},
"title": {
"type": "string"
},
"why_it_matters": {
"type": [
"string",
"null"
]
},
"evidence": {
"type": "array",
"description": "The competitor moves behind the item",
"items": {
"type": "string"
}
},
"urgency": {
"type": "string",
"description": "high, medium or low"
},
"confidence": {
"type": "string",
"description": "high, medium or low"
},
"next_step_30_min": {
"type": [
"string",
"null"
],
"description": "A first step that fits in about 30 minutes"
},
"is_new": {
"type": [
"boolean",
"null"
],
"description": "First appearance of this item"
},
"status": {
"type": "string",
"description": "active or completed"
}
},
"required": [
"angle",
"title",
"status"
],
"additionalProperties": true
}
},
"no_action_angles": {
"type": [
"array",
"null"
],
"description": "Angles with nothing to do this week",
"items": {
"type": "object",
"properties": {
"angle": {
"type": "string"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
}
},
"required": [
"generated_at",
"summary",
"action_items"
],
"additionalProperties": true
}
}
},
"required": [
"total",
"count",
"offset",
"has_more",
"plans"
],
"additionalProperties": true
}🟢outmano_get_competitor_battlecard(domain)
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.
입력 스키마
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Competitor domain, e.g. acme.com"
}
},
"required": [
"domain"
]
}출력 스키마
{
"type": "object",
"properties": {
"competitor": {
"type": [
"string",
"null"
],
"description": "Competitor name"
},
"domain": {
"type": [
"string",
"null"
],
"description": "Competitor domain"
},
"generated_at": {
"type": "string",
"description": "ISO 8601"
},
"built_from": {
"description": "Angle name to timestamp of the data the card was built from"
},
"stale_angles": {
"type": "array",
"description": "Angles with newer data than the card",
"items": {
"type": "string"
}
},
"battlecard": {
"type": "object",
"properties": {
"overview": {
"type": [
"string",
"null"
]
},
"quick_stats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {}
},
"additionalProperties": true
}
},
"strengths": {
"type": "array",
"items": {
"type": "object",
"properties": {
"point": {
"type": "string"
},
"evidence": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
"weaknesses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"point": {
"type": "string"
},
"evidence": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
"how_we_win": {
"type": "array",
"items": {
"type": "object",
"properties": {
"differentiator": {
"type": "string"
},
"talk_track": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
"objection_handling": {
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string",
"description": "They say ..."
},
"response": {
"type": [
"string",
"null"
],
"description": "You say ..."
}
},
"additionalProperties": true
}
},
"pricing_talk_track": {
"type": "object",
"properties": {
"their_pricing": {
"type": [
"string",
"null"
]
},
"our_position": {
"type": [
"string",
"null"
]
},
"guidance": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"landmines": {
"type": "array",
"description": "Questions to plant with the buyer",
"items": {
"type": "string"
}
}
},
"additionalProperties": true
}
},
"required": [
"competitor",
"domain",
"generated_at",
"battlecard"
],
"additionalProperties": true
}커뮤니티
증거