Scouts-AI-MCP
The Scouts-AI-MCP server exposes a single web_search tool for AI agents and LLM applications to search the public web — no API key required.
Search the web using natural-language queries (1–512 characters), powered by the SCOUTS-AI API.
Specify search parameters: optional BCP-47
langcode (e.g.,en,fr; defaults to English) and optionalpagenumber (1–10).Receive structured JSON results: up to 10 results per page, each with
title,url,contentsnippet,publishedAt, andengine.Get fresh, real-time information — ideal for recent events, up-to-date context, or web citations.
Integrate with MCP-compatible hosts (Claude Desktop, Cursor, Open WebUI, Continue, Cline) via stdio or HTTP transport.
Deploy via Docker with the MCP endpoint exposed at
http://localhost:8765/mcp.Configure via environment variables (API base URL, timeout, user-agent, default language, query length limits, etc.).
Handle errors gracefully, including invalid inputs, rate limits (429), and server errors (5xx).
scouts-ai-mcp
Model Context Protocol (MCP) server that exposes the SCOUTS-AI web search API as a single web_search tool for AI agents, LLM apps, answer engines and GEO workflows.
One tool, no API key. Backed by
GET https://scouts-ai.com/api/search.Drop-in for Claude Desktop, Cursor, Open WebUI, Continue, Cline and any MCP host.
Python ≥ 3.10,
fastmcp(>=2.0, currently resolves to 3.x),httpx.MIT licensed.
Install
pip install scouts-ai-mcpRelated MCP server: Gemini MCP Server
Run (stdio)
scouts-ai-mcpThat's it. Wire it into your MCP host of choice — for example, Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
}Run (HTTP)
For remote MCP hosts and self-hosted bridges:
scouts-ai-mcp --transport http --host 127.0.0.1 --port 8765Run (Docker)
A multi-arch (linux/amd64 + linux/arm64) image is published to Docker
Hub as kecven/scouts-ai-mcp.
It runs the MCP server in streamable HTTP mode on port 8765 and exposes
the web_search tool at http://localhost:8765/mcp. No API key, no
external dependencies.
Quick start:
docker run --rm -p 8765:8765 kecven/scouts-ai-mcp:0.1.7Then point any streamable-HTTP MCP host at http://localhost:8765/mcp
(or, when run behind a public proxy, https://<your-host>/mcp).
Override the upstream API base URL:
docker run --rm -p 8765:8765 \
-e SCOUTS_AI_BASE_URL=https://scouts-ai.com \
kecven/scouts-ai-mcp:0.1.7Append CLI args (the image entrypoint is scouts-ai-mcp):
docker run --rm -p 8765:8765 kecven/scouts-ai-mcp:0.1.7 --log-level=DEBUGAvailable tags:
kecven/scouts-ai-mcp:0.1.7— pinned, recommended for production.kecven/scouts-ai-mcp:0.1— minor-version rolling tag.kecven/scouts-ai-mcp:latest— latest stable release.
Build and push locally (requires docker buildx):
docker buildx build \
--platform linux/amd64,linux/arm64 \
-f Dockerfile.hosted \
-t kecven/scouts-ai-mcp:0.1.7 \
-t kecven/scouts-ai-mcp:0.1 \
-t kecven/scouts-ai-mcp:latest \
--push .The image runs as a non-root user (scouts, uid 1001) and includes a
TCP-level HEALTHCHECK on 127.0.0.1:8765 (the streamable HTTP
endpoint does not return 200 on plain GET, so an HTTP probe would be
unreliable).
Tool: web_search
Parameter | Type | Default | Description |
| string | — | Search query, 1–512 chars. |
| string |
| BCP-47 language code (e.g. |
| int |
| 1-based page number, 1–10. |
Returns a compact JSON object mirroring the SCOUTS-AI response shape:
{
"query": "rust async runtime",
"lang": "en",
"page": 1,
"pageSize": 10,
"cached": false,
"tookMs": 412,
"results": [
{
"title": "Tokio - An asynchronous runtime for Rust",
"url": "https://tokio.rs/",
"content": "Tokio is an asynchronous runtime for the Rust programming language...",
"publishedAt": "2025-11-14T00:00:00Z",
"engine": "bing"
}
]
}Error handling
The tool raises ToolError (rendered as an MCP tool error) when:
The query is empty/too long or
lang/pageare invalid → invalid arguments.The upstream returns
429→ rate limit exceeded; honorsRetry-Afterwhen present.The upstream returns
5xxor the network call fails → SCOUTS-AI temporarily unavailable.The upstream returns a structured
4xxerror envelope → forwards the code and message.
Configuration
All settings are environment variables. Defaults match the public SCOUTS-AI deployment.
Variable | Default | Description |
|
| Base URL of the SCOUTS-AI API. |
|
| HTTP timeout in seconds (0.1–60). |
|
| User-Agent header. |
|
| Default |
|
| Reject queries longer than this. |
|
| Reject page numbers above this. |
Development
git clone https://github.com/kecven/scouts-ai-mcp.git
cd scouts-ai-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytestLicense
MIT — see LICENSE.
Available Tools
1 toolweb_searchA
Search the public web via SCOUTS-AI and return compact JSON results. Use this when the user asks a question that requires current information, fresh context, or citations from the open web. No API key required. Returns at most 10 results per page.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language search query, 1-512 characters. | |
| lang | No | Optional BCP-47 language code (e.g. "en", "en-US"). Defaults to "en". | |
| page | No | Optional 1-based page number, 1-10. Defaults to 1. |
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 must disclose behavioral traits. It mentions that results are 'compact JSON' and 'at most 10 results per page,' which is useful. However, it doesn't discuss other behaviors like rate limits, caching, or the fact that it's a read-only operation. The transparency is adequate but not rich.
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: three sentences that front-load the core purpose, followed by usage guidance and a behavioral note. Every sentence earns its place without unnecessary detail.
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?
The tool is simple, and the output schema exists, so return values are covered. The description provides all necessary context: what it does, when to use it, authentication (none), and a key behavioral constraint (max 10 results). It is complete for an agent to invoke correctly.
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 coverage is 100%, so the baseline is 3. The description adds minimal semantic value beyond the schema—it clarifies the default language ('en') despite the schema saying null, and confirms the page numbering. This is helpful but not transformative.
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: 'Search the public web via SCOUTS-AI and return compact JSON results.' It uses a specific verb ('search') and resource ('the public web'), and is straightforward with no ambiguity.
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 explicit guidance on when to use the tool: 'Use this when the user asks a question that requires current information, fresh context, or citations from the open web.' It also notes that no API key is required. While it doesn't mention when not to use it, the context is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Only one tool exists, so there is no ambiguity. The tool's purpose is clearly defined.
The single tool name 'web_search' follows a clear verb_noun pattern (snake_case) and is internally consistent.
One tool is appropriate for a server focused solely on web search. The scope is well-defined and the tool serves its purpose effectively.
The tool covers basic web search well, but lacks support for pagination or advanced filters, which are minor gaps for a search-specific server.
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
Scrape, crawl and search the web for AI agents via MCP.
A Model Context Protocol server for Wix AI tools
MCP server for Google search results via SERP API
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.147MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to perform web searches using Google's Gemini API and return synthesized responses with citations.53MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that exposes powerful web search and scraping tools to AI agents and MCP-compatible clients.Apache 2.0
- AlicenseAqualityAmaintenanceA Model Context Protocol server for web scraping and searching, with automatic fallback from Tavily to Firecrawl for fetching web content.21MIT
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/kecven/scouts-ai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server