Scout Intel MCP
Provides search capabilities for business intelligence, market research, and competitive analysis, aggregating data into structured JSON responses with confidence scoring.
Extracts structured business intelligence data from Wikipedia pages, providing authoritative information with higher confidence weighting in overall data quality assessments.
Google for AI agents — instead of web pages, it returns clean, structured JSON that agents can reason over.
Scout MCP gives any AI agent instant access to structured business intelligence, market research, and competitive analysis. It aggregates data from DuckDuckGo, NewsAPI, Wikipedia, web scraping, and social profiles into Pydantic-validated JSON responses with per-source confidence breakdowns and data quality grades.
Table of Contents
Related MCP server: mcp-services
Quick Install
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"scout-mcp": {
"command": "python",
"args": ["-m", "scout_mcp.mcp_server"],
"cwd": "/path/to/scout-mcp/src",
"env": {
"NEWS_API_KEY": "your-newsapi-key"
}
}
}
}Cursor
Add to Cursor Settings > MCP:
{
"scout-mcp": {
"command": "python",
"args": ["-m", "scout_mcp.mcp_server"],
"cwd": "/path/to/scout-mcp/src",
"env": {
"NEWS_API_KEY": "your-newsapi-key"
}
}
}VS Code (Copilot MCP)
Add to .vscode/mcp.json:
{
"servers": {
"scout-mcp": {
"command": "python",
"args": ["-m", "scout_mcp.mcp_server"],
"cwd": "/path/to/scout-mcp/src",
"env": {
"NEWS_API_KEY": "your-newsapi-key"
}
}
}
}pip (self-hosted)
pip install scout-mcp
scout-mcp # starts STDIO server for MCP clientsThe 6 Intelligence Tools
# | Tool | What It Does | Tier |
1 |
| Structured intel on any company: industry, funding, tech stack, competitors, news, key people | Free |
2 |
| Market research: size, CAGR, key players, trends, growth drivers, risks | Free |
3 |
| Competitor analysis: positioning, pricing, strengths, weaknesses, differentiators | Free |
4 |
| Trend tracking: sentiment analysis, key developments, trending direction, related topics | Free |
5 |
| Product intelligence: pricing, ratings, features, alternatives, recent updates | Free |
6 |
| Public figure research: role, background, achievements, social profiles | Pro |
Data Quality Grades
Every response includes a data_quality_grade — a letter grade that lets agents instantly assess intelligence reliability:
Grade | Confidence | Meaning |
A+ | 90%+ | Exceptional — multiple high-quality sources confirmed |
A | 80-90% | High — strong multi-source corroboration |
B | 65-80% | Good — solid data from key sources |
C | 45-65% | Fair — limited sources, gaps likely |
D | 25-45% | Low — sparse data, treat with caution |
F | <25% | Insufficient — minimal data available |
How Agents Should Use Grades
result = scout_company("Stripe")
if result["data_quality_grade"] in ("A+", "A"):
# High confidence — safe to make decisions on this data
proceed_with_analysis(result)
elif result["data_quality_grade"] == "B":
# Good but verify key claims
proceed_with_caveats(result)
else:
# C/D/F — supplement with additional sources
request_more_data(result)Confidence Breakdown
Beyond the letter grade, every response includes a confidence_breakdown dict showing per-source reliability:
{
"confidence": 0.86,
"data_quality_grade": "A",
"confidence_breakdown": {
"duckduckgo": {
"score": 0.60,
"reason": "8 results found"
},
"company_website": {
"score": 0.90,
"reason": "scraped stripe.com, 3 data points extracted"
},
"wikipedia": {
"score": 0.90,
"reason": "page found, structured data extracted"
},
"newsapi": {
"score": 0.90,
"reason": "6 articles found"
},
"competitor_extraction": {
"score": 0.80,
"reason": "5 competitors identified"
}
}
}Source Weights
Different sources carry different weights in the overall confidence calculation:
Source | Weight | Why |
Wikipedia | 3x | Curated, structured, authoritative |
NewsAPI | 2x | Fresh, professional journalism |
Company Website | 2x | First-party data, most current |
DuckDuckGo Search | 1x | Broad but variable quality |
Competitor Extraction | 1x | Derived analysis |
Social Profiles | 1x | Supplementary |
Full API Reference
Base URL
POST /api/scout/{tool_name}Authentication
Pass your API key via the X-Api-Key header:
curl -X POST /api/scout/company \
-H "X-Api-Key: your-key-here" \
-H "Content-Type: application/json" \
-d '{"name": "Stripe"}'No key = free tier (50 requests/day).
Health & Info
Endpoint | Method | Description |
| GET | Service info + list of tools |
| GET | Health check + DuckDuckGo backoff status |
| GET | All tools with params, tiers, and grade descriptions |
| GET | Cache hit/miss statistics |
| POST | Clear all cached responses |
Tool Endpoints
POST /api/scout/company
Research any company.
Parameter | Type | Required | Description |
| string | Yes | Company name (e.g., "Stripe", "OpenAI") |
| string | No | Company domain (e.g., "stripe.com"). Auto-detected if omitted. |
Response fields: name, domain, description, industry, founded, headquarters, employee_range, funding, tech_stack, social_profiles, recent_news, top_competitors, key_people, confidence, confidence_breakdown, data_quality_grade, data_freshness, sources_used, sources_failed
POST /api/scout/market
Research any market or industry.
Parameter | Type | Required | Description |
| string | Yes | Market to research (e.g., "AI SaaS", "electric vehicles") |
| string | No |
|
Response fields: market_name, query, depth, market_size, market_size_projections, cagr, key_players, trends, growth_drivers, risks, source_links, confidence, confidence_breakdown, data_quality_grade
POST /api/scout/competitors
Find and analyze competitors.
Parameter | Type | Required | Description |
| string | Yes | Company or product name (e.g., "Notion") |
| integer | No | Max competitors to return (default 10) |
Response fields: target, competitors (array of {name, domain, positioning, pricing, strengths, weaknesses, key_differentiator}), market_positioning_summary, confidence, confidence_breakdown, data_quality_grade
POST /api/scout/trends
Track trends and sentiment.
Parameter | Type | Required | Description |
| string | Yes | Topic to track (e.g., "generative AI") |
| string | No |
|
Response fields: topic, timeframe, sentiment ({score, label}), trending_direction, key_developments, related_topics, social_buzz, confidence, confidence_breakdown, data_quality_grade
POST /api/scout/product
Get intelligence on any product.
Parameter | Type | Required | Description |
| string | Yes | Product name (e.g., "Slack", "Vercel") |
Response fields: name, category, description, pricing, ratings, features, ideal_for, alternatives, recent_updates, confidence, confidence_breakdown, data_quality_grade
POST /api/scout/person (PRO)
Research a public figure. Requires Pro tier or higher.
Parameter | Type | Required | Description |
| string | Yes | Person's name (e.g., "Sam Altman") |
| string | No | Company context (e.g., "OpenAI") |
Response fields: name, current_role, company, location, background_summary, social_profiles, recent_activity, notable_achievements, confidence, confidence_breakdown, data_quality_grade
Returns HTTP 403 for free tier users.
Example Responses
scout_company("Stripe")
{
"name": "Stripe",
"domain": "stripe.com",
"description": "Stripe, Inc. is an Irish-American multinational financial services and software as a service company...",
"industry": "Software & Technology",
"founded": "2010",
"headquarters": "San Francisco",
"top_competitors": ["PayPal", "Adyen", "Square", "Braintree", "Checkout.com"],
"tech_stack": ["Next.js", "React"],
"recent_news": [
{"headline": "Stripe launches AI billing features", "source": "TechCrunch", "date": "2026-04-08"},
{"headline": "Stripe revenue grows 30% in 2025", "source": "Bloomberg", "date": "2026-03-15"}
],
"confidence": 0.86,
"data_quality_grade": "A",
"confidence_breakdown": {
"duckduckgo": {"score": 0.60, "reason": "8 results found"},
"company_website": {"score": 0.90, "reason": "scraped stripe.com, 3 data points extracted"},
"wikipedia": {"score": 0.90, "reason": "page found, structured data extracted"},
"newsapi": {"score": 0.90, "reason": "6 articles found"},
"competitor_extraction": {"score": 0.80, "reason": "5 competitors identified"}
},
"data_freshness": "2026-04-12T12:00:00Z"
}scout_trends("generative AI", timeframe="7d")
{
"topic": "generative AI",
"timeframe": "7d",
"sentiment": {"score": 0.72, "label": "positive"},
"trending_direction": "up",
"key_developments": [
{
"headline": "OpenAI releases GPT-5.2 with reasoning capabilities",
"date": "2026-04-10",
"impact_level": "high",
"source": "The Verge"
}
],
"related_topics": ["Large Language Models", "AI Safety", "Enterprise AI"],
"confidence": 0.83,
"data_quality_grade": "A",
"confidence_breakdown": {
"duckduckgo_news": {"score": 0.90, "reason": "10 news articles found"},
"newsapi": {"score": 0.90, "reason": "4 articles found"},
"web_search": {"score": 0.50, "reason": "5 web results for context"}
}
}scout_competitors("Notion")
{
"target": "Notion",
"competitors": [
{
"name": "Obsidian",
"domain": "obsidian.md",
"positioning": "Privacy-focused local-first knowledge base with Markdown",
"strengths": ["Open source", "Free tier available", "Offline support"],
"key_differentiator": "Local-first with plain Markdown files"
},
{
"name": "Coda",
"positioning": "All-in-one doc with app-building capabilities",
"strengths": ["AI-powered features"],
"key_differentiator": "Document-as-app paradigm"
},
{
"name": "Logseq",
"positioning": "Open-source outliner with bidirectional links"
}
],
"market_positioning_summary": "Found 7 competitors for Notion. Top alternatives: Obsidian, Coda, Logseq, Anytype, AppFlowy.",
"confidence": 0.65,
"data_quality_grade": "B",
"confidence_breakdown": {
"search_Notion alternative": {"score": 0.70, "reason": "8 results for 'Notion alternatives'"},
"search_Notion vs competi": {"score": 0.60, "reason": "6 results for 'Notion vs competitors'"},
"extraction_quality": {"score": 0.86, "reason": "7 competitors extracted and enriched"}
}
}Architecture
+------------------+
| AI Agent |
| (Claude, etc.) |
+--------+---------+
|
STDIO / SSE / REST
|
+----------------+----------------+
| Scout MCP |
| FastMCP 3.x + FastAPI REST |
+----------------+----------------+
| Cache (24h TTL, in-memory) |
| Auth (API key, tier limits) |
| Rate Limiter (per-key, daily) |
+----+--------+--------+----------+
| | |
+--------+ +-----+--+ +--+--------+
| DuckDuckGo| | NewsAPI | | Wikipedia |
| (free) | | (.org) | | (free) |
+-----------+ +---------+ +-----------+
| |
+--------+--------+ +-------+-------+
| Web Scraper | | Social Profile |
| (httpx + BS4) | | Detection |
+----------------+ +----------------+Exponential Backoff (DuckDuckGo)
DuckDuckGo's free API has rate limits. Scout MCP handles this with adaptive backoff:
Success : interval = 2s (base)
Failure 1: interval = 4s
Failure 2: interval = 8s
Failure 3: interval = 16s
Failure 4: interval = 32s
Failure 5: interval = 48s (cap)
Next success: interval resets to 2sEach call also retries once before giving up. Monitor backoff status at GET /api/health.
Competitor Extraction Engine
The competitor extraction uses 6 regex pattern categories with 350+ stop words:
VS patterns — "X vs Y" matching
Comma/and-separated lists — "alternatives include X, Y, and Z"
Numbered/bulleted lists — "1. Asana 2. Monday 3. ClickUp"
Header patterns — "Asana -- project management tool"
Contextual patterns — "like X" or "such as X"
Title-cased names — capitalized product names near competitor context
Multi-word validators reject: article titles, verb-prefixed names, pronoun-prefixed names, role-suffixed names, probable person names, mega-corp parent names, and platform names.
Configuration
Environment Variables
Variable | Required | Default | Description |
| Yes | — | NewsAPI.org API key (get one free) |
| No | — | Master API key (auto-assigned "scale" tier) |
| Auto | — | MongoDB connection string (for REST API server) |
| Auto | — | MongoDB database name |
| No |
| Allowed CORS origins |
Cache Settings
Responses are cached for 24 hours in-memory (dict). Cache stats and clear endpoints:
# Check cache stats
curl /api/cache/stats
# Clear all cache
curl -X POST /api/cache/clearPricing & Rate Limits
Tier | Price | Daily Limit | Tools | Features |
Free | $0/mo | 50 requests | 5 of 6 | Summary depth, basic grades |
Pro | $29/mo | 1,000 requests | All 6 | + |
Scale | $99/mo | 10,000 requests | All 6 | Everything + priority support |
Rate limit info is included in every response's _meta field:
{
"_meta": {
"tier": "free",
"remaining": 47
}
}Self-Hosting
Local Development
# Clone and install
git clone https://github.com/your-org/scout-mcp.git
cd scout-mcp/backend
pip install -e ".[dev,server]"
# Set up environment
echo "NEWS_API_KEY=your-key" > .env
# Run MCP server (STDIO for Claude Desktop)
cd src && python -m scout_mcp.mcp_server
# Run REST API server
uvicorn server:app --host 0.0.0.0 --port 8001 --reload
# Inspect with MCP Inspector
fastmcp inspect src/scout_mcp/mcp_server.pyRunning Tests
# Test the API
curl -X POST http://localhost:8001/api/scout/company \
-H "Content-Type: application/json" \
-d '{"name": "OpenAI"}'
# Check health + backoff status
curl http://localhost:8001/api/health
# List all tools
curl http://localhost:8001/api/toolsDocker
FROM python:3.12-slim
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends gcc libxml2-dev libxslt1-dev && rm -rf /var/lib/apt/lists/*
COPY pyproject.toml .
COPY src/ src/
RUN pip install --no-cache-dir .
EXPOSE 8001
CMD ["python", "-c", "from scout_mcp.mcp_server import mcp; mcp.run(transport='sse', port=8001)"]# Build and run
docker build -t scout-mcp .
docker run -p 8001:8001 -e NEWS_API_KEY=your-key scout-mcpTech Stack
Component | Technology | Purpose |
MCP Framework | FastMCP 3.x | Tool registration, STDIO/SSE transport |
REST API | FastAPI | HTTP endpoints for testing |
HTTP Client | httpx | Async web scraping |
HTML Parser | BeautifulSoup4 + lxml | Structured data extraction |
Search | DuckDuckGo (ddgs) | Free web + news search |
News | NewsAPI.org | Professional news articles |
Knowledge | Wikipedia API | Structured background data |
Validation | Pydantic 2.x | Response model validation |
Caching | In-memory dict (24h TTL) | Response caching |
Server | uvicorn | ASGI production server |
Data Sources
Source | API Key? | Cost | Rate Limit | Reliability |
DuckDuckGo Search | No | Free | Soft limits (backoff) | Variable |
DuckDuckGo News | No | Free | Soft limits (backoff) | Variable |
NewsAPI.org | Yes | Free tier | 100 req/day | High |
Wikipedia API | No | Free | Unlimited (polite) | Very High |
Web Scraping (httpx) | No | Free | Per-site limits | Medium |
Social Profile Detection | No | Free | Via DuckDuckGo | Variable |
Future Sources (Planned)
Crunchbase API (funding data)
SimilarWeb API (traffic data)
GitHub API (developer tools)
SEMrush API (SEO data)
Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/my-featureInstall dev dependencies:
pip install -e ".[dev]"Make your changes
Run tests:
pytestSubmit a pull request
Adding a New Data Source
Create
src/scout_mcp/sources/your_source.pyImplement async functions that return structured data
Add the source to relevant tools in
src/scout_mcp/tools/Add per-source confidence scoring
Update this README
Adding a New Tool
Create
src/scout_mcp/tools/your_tool.pyAdd a Pydantic model in
models.py(includeconfidence_breakdownanddata_quality_grade)Register in
mcp_server.pywith@mcp.tool()Add REST endpoint in
server.pyUpdate this README
License
MIT
Available Tools
7 toolsscout_batchB
Run multiple scout queries in parallel. Perfect for competitive landscape analysis and bulk research.
Each query is: {"tool": "company|market|competitors|trends|product", "params": {...}}
| Name | Required | Description | Default |
|---|---|---|---|
| queries | Yes | List of {"tool": str, "params": dict} objects | |
| max_parallel | No | Max concurrent queries (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'parallel' execution and includes a parameter example, but doesn't disclose critical behavioral traits such as error handling (e.g., if one query fails), rate limits, authentication needs, or what the output looks like. For a batch tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded. The first sentence states the core purpose, the second adds use cases, and the third provides a crucial parameter example. Every sentence earns its place with no wasted words, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (context signals indicate 'Has output schema: true'), the description doesn't need to explain return values. However, for a batch tool with no annotations and 2 parameters, it should do more to cover behavioral aspects like error handling or performance implications. The description is adequate but has clear gaps in completeness for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context beyond the input schema. While schema description coverage is 100%, the description provides a concrete example of the query structure ('{"tool": "company|market|competitors|trends|product", "params": {...}}'), which clarifies the allowed tool types and param format. This enhances understanding of the 'queries' parameter, though it doesn't add much for 'max_parallel'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Run multiple scout queries in parallel.' It specifies the verb ('run') and resource ('scout queries'), and mentions use cases ('competitive landscape analysis and bulk research'). However, it doesn't explicitly differentiate from its siblings (scout_company, scout_competitors, etc.) beyond implying this is a batch version of those individual tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool ('Perfect for competitive landscape analysis and bulk research') and suggests it's for parallel execution of multiple queries. However, it doesn't explicitly state when NOT to use it or provide clear alternatives (e.g., using individual scout tools for single queries). The context is somewhat clear but lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_companyB
Get structured intelligence on any company.
Returns: industry, funding, tech stack, competitors, recent news, key people.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company name (e.g., "Stripe", "OpenAI") | |
| domain | No | Optional company domain (e.g., "stripe.com"). Auto-detected if not provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return format (industry, funding, etc.), which is helpful, but lacks critical details like whether this is a read-only operation, requires authentication, has rate limits, or how it handles errors. For a tool that likely queries external data sources, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with two sentences that efficiently convey the core functionality and return values. Every word earns its place, and there's no redundant or verbose language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no annotations), the description covers the basic purpose and return format adequately. Since an output schema exists, the description doesn't need to detail return values further. However, it lacks behavioral context (e.g., data sources, limitations), which slightly reduces completeness for a tool that likely involves external queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (name and domain). The description adds no additional parameter semantics beyond what's in the schema, such as format examples or edge cases. The baseline score of 3 reflects adequate but minimal value added by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('structured intelligence on any company'), making it immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'scout_person' or 'scout_product', which likely provide intelligence on different entity types rather than distinguishing within company intelligence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'scout_batch', 'scout_competitors', or 'scout_market'. It doesn't mention prerequisites, exclusions, or comparative use cases, leaving the agent to infer usage from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_competitorsC
Find and analyze competitors for any company or product.
Returns: list of competitors with positioning, pricing, strengths, weaknesses.
| Name | Required | Description | Default |
|---|---|---|---|
| company_or_product | Yes | Name of company or product (e.g., "Notion", "Figma") | |
| max | No | Maximum number of competitors to return (default 10) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return format ('list of competitors with positioning, pricing, strengths, weaknesses'), which adds some context beyond the input schema. However, it lacks critical details such as data sources, accuracy limitations, rate limits, or authentication requirements, leaving significant gaps in understanding the tool's behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core purpose stated in the first sentence and return values in the second. Both sentences earn their place by providing essential information without redundancy. However, it could be slightly more structured by explicitly separating purpose from output details, but overall it's efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (competitor analysis) and the presence of an output schema (which likely covers return values), the description is minimally adequate. It states the purpose and output format, but without annotations, it misses behavioral context like data reliability or usage limits. For a tool with no annotations and moderate complexity, it should do more to compensate, but the output schema helps mitigate some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning the input schema fully documents both parameters (company_or_product and max). The description doesn't add any parameter-specific details beyond what's in the schema, such as formatting nuances or examples. Since the schema handles the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find and analyze competitors for any company or product.' It specifies the verb ('Find and analyze'), resource ('competitors'), and scope ('any company or product'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like scout_company or scout_product, which likely have related but distinct purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools (e.g., scout_batch, scout_market, scout_trends) or clarify scenarios where this tool is preferred over others. Without such context, users must infer usage from tool names alone, which is insufficient for effective selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_marketC
Research any market or industry.
Returns: market size, growth rate, CAGR, key players, trends, risks.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Market/industry to research (e.g., "AI SaaS", "electric vehicles") | |
| depth | No | "summary" for quick overview, "detailed" for deeper analysis | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return values (market size, growth rate, etc.) but doesn't cover critical aspects like data sources, accuracy, rate limits, authentication needs, or whether this is a read-only operation. For a research tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose in the first sentence, followed by a clear list of return values. There's no wasted text, but it could be slightly more structured (e.g., separating purpose from returns with a colon or bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (researching markets), the presence of an output schema (which handles return values), and 100% schema coverage, the description is minimally adequate. However, it lacks context about data freshness, scope limitations, or how it differs from siblings, which would be helpful for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already fully documents the 'query' and 'depth' parameters. The description adds no additional parameter semantics beyond what's in the schema, such as examples of effective queries or implications of the 'depth' setting. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Research any market or industry' with a specific verb ('Research') and resource ('market or industry'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'scout_trends' or 'scout_competitors' which might have overlapping functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'scout_trends' or 'scout_competitors' from the sibling list. It also lacks context about prerequisites, limitations, or typical use cases, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_personB
Get intelligence on a public figure. PRO tier only.
Returns: current role, background, social profiles, recent activity, achievements.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's name (e.g., "Sam Altman", "Jensen Huang") | |
| company | No | Optional company context (e.g., "OpenAI") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'PRO tier only,' which hints at access restrictions, but does not cover other important traits such as rate limits, authentication needs, data freshness, or error handling. For a tool that fetches intelligence data, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, starting with the core purpose. The sentences are efficient, with no wasted words, and it includes key details like the PRO tier restriction and return values. However, the list of return items could be slightly more structured for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the purpose, access restriction, and return values. With an output schema present, it does not need to explain return values in detail, and the schema handles parameters well. The main gap is the lack of behavioral context, but overall, it provides a reasonably complete overview for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters ('name' and 'company'). The description adds minimal value beyond the schema by implying the tool focuses on 'public figures,' but does not provide additional context like format examples or constraints beyond what's in the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get intelligence on a public figure.' It specifies the verb ('Get') and resource ('intelligence on a public figure'), making it understandable. However, it does not explicitly differentiate from sibling tools like 'scout_company' or 'scout_batch,' which reduces clarity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context by stating 'PRO tier only,' indicating a prerequisite or restriction. However, it lacks explicit guidance on when to use this tool versus alternatives like 'scout_company' or 'scout_batch,' and does not mention any exclusions or specific scenarios for its use, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_productC
Get intelligence on any product.
Returns: category, pricing, ratings, features, alternatives, recent updates.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Product name (e.g., "Slack", "Linear", "Vercel") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions what information is returned (category, pricing, ratings, etc.), it doesn't address important behavioral aspects like rate limits, authentication requirements, data freshness, or potential costs. The description is functional but lacks operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: one stating the purpose and one listing return values. It's appropriately sized for a single-parameter tool, though the second sentence could be more elegantly integrated rather than appearing as a bulleted list in prose form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (which should document the return structure), the description doesn't need to explain return values in detail. However, for a tool with no annotations and multiple similar siblings, the description should provide more context about when to use it and what distinguishes it from alternatives to be truly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'name' clearly documented in the schema itself. The description doesn't add any additional parameter semantics beyond what the schema already provides, so it meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get intelligence') and resource ('any product'), making it immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'scout_company' or 'scout_competitors', which likely provide different types of intelligence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings. With multiple 'scout_' tools available (scout_batch, scout_company, scout_competitors, etc.), there's no indication of what distinguishes this product intelligence tool from alternatives that might also provide product-related information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_trendsB
Track trends and sentiment on any topic.
Returns: sentiment score, trending direction, key developments, related topics.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic to track (e.g., "generative AI", "remote work") | |
| timeframe | No | Time window — "1d", "7d", "30d", "1y" (default "7d") | 7d |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions what the tool returns (sentiment score, trending direction, etc.), it doesn't describe important behavioral aspects like rate limits, authentication requirements, data sources, accuracy limitations, or whether this is a read-only operation. For a tool with no annotation coverage, this leaves significant gaps in understanding its operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that each serve distinct purposes: the first states the core functionality, the second specifies the return values. It's front-loaded with the main purpose. While efficient, the second sentence could be slightly more integrated with the first for better flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (context signals indicate 'Has output schema: true'), the description doesn't need to explain return values in detail. The description covers the basic purpose and output types adequately for a tool with good schema coverage. However, the lack of behavioral context and usage guidance relative to siblings prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already fully documents both parameters (topic and timeframe). The description doesn't add any parameter-specific information beyond what's in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('track trends and sentiment') and identifies the resource ('on any topic'). It distinguishes itself from potential siblings by focusing on general topic analysis rather than specific entity types like companies or products. However, it doesn't explicitly differentiate from all sibling tools by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the six sibling tools (scout_batch, scout_company, etc.). It doesn't mention alternatives, prerequisites, or exclusions. The agent must infer usage context solely from the tool name and description without explicit comparison to related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose targeting a specific intelligence domain: companies, competitors, markets, people, products, trends, or batch operations. The descriptions explicitly differentiate them, with no overlap in functionality. An agent can easily select the right tool based on the query type.
All tools follow a consistent 'scout_' prefix with a descriptive noun (e.g., scout_company, scout_market, scout_trends). This verb_noun pattern is uniform across all seven tools, making them predictable and easy to understand. The naming convention is perfectly aligned with the server's purpose.
With 7 tools, this server is well-scoped for competitive intelligence research. Each tool covers a distinct aspect of the domain (e.g., company, market, product analysis), and the batch tool adds efficiency. The count is neither too sparse nor bloated, fitting the purpose effectively.
The tool set provides comprehensive coverage for competitive intelligence, including entities (companies, products, people), contexts (markets, trends, competitors), and operations (batch queries). There are no obvious gaps; agents can perform end-to-end research workflows without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
SEO Intelligence MCP — 13 tools: keyword research, SERP, domain audits, competitors.
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Social media analytics, video analysis, and competitor intel for any MCP-compatible AI agent.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceSEO Intelligence MCP Server — 13 tools for keyword research, SERP analysis, domain audits, competitor gaps, on-page optimization. Part of ToolOracle (tooloracle.io).MIT
- AlicenseNot gradedqualityDmaintenanceMulti-tool MCP server for AI agents with 29 tools across web scraping, SEO analysis, screenshot and PDF generation, domain intelligence, content extraction, multi-chain EVM blockchain queries, and security toolkit. Free tier available with no auth required.221MIT
- AlicenseAqualityDmaintenanceA comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.1515MIT
- AlicenseNot gradedqualityFmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.42MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/omniologynow-rgb/scout-intel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server