Skip to main content
Glama
kecven

Scouts-AI-MCP

by kecven

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-mcp

Related MCP server: Gemini MCP Server

Run (stdio)

scouts-ai-mcp

That'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 8765

Run (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.7

Then 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.7

Append CLI args (the image entrypoint is scouts-ai-mcp):

docker run --rm -p 8765:8765 kecven/scouts-ai-mcp:0.1.7 --log-level=DEBUG

Available 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

query

string

Search query, 1–512 chars.

lang

string

en

BCP-47 language code (e.g. en, en-US).

page

int

1

1-based page number, 1–10. page=1 is the reliable default; pages >1 may be empty for some queries because the upstream provider (Bing) does not always return additional pages.

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/page are invalid → invalid arguments.

  • The upstream returns 429 → rate limit exceeded; honors Retry-After when present.

  • The upstream returns 5xx or the network call fails → SCOUTS-AI temporarily unavailable.

  • The upstream returns a structured 4xx error envelope → forwards the code and message.

Configuration

All settings are environment variables. Defaults match the public SCOUTS-AI deployment.

Variable

Default

Description

SCOUTS_AI_BASE_URL

https://scouts-ai.com

Base URL of the SCOUTS-AI API.

SCOUTS_AI_TIMEOUT_S

5.0

HTTP timeout in seconds (0.1–60).

SCOUTS_AI_USER_AGENT

scouts-ai-mcp/0.1.7

User-Agent header.

SCOUTS_AI_DEFAULT_LANG

en

Default lang when the tool omits it.

SCOUTS_AI_MAX_QUERY_LENGTH

512

Reject queries longer than this.

SCOUTS_AI_MAX_PAGE

10

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]"
pytest

License

MIT — see LICENSE.

Available Tools

1 tool

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.5
    • First observedweb_search

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no ambiguity. The tool's purpose is clearly defined.

Naming Consistency5/5

The single tool name 'web_search' follows a clear verb_noun pattern (snake_case) and is internally consistent.

Tool Count5/5

One tool is appropriate for a server focused solely on web search. The scope is well-defined and the tool serves its purpose effectively.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.
    1
    47
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to perform web searches using Google's Gemini API and return synthesized responses with citations.
    54
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server for web scraping and searching, with automatic fallback from Tavily to Firecrawl for fetching web content.
    2
    1
    MIT