Scoutee MCP server
Allows searching public tender notices from the TED (Tenders Electronic Daily) database, with filtering by country, value, deadline, and keyword.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Scoutee MCP serverSearch tenders related to solar panels in Spain"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What Scoutee is
Scoutee is a public procurement monitoring service. Every day it collects the tenders published by official journals and buyer platforms across Europe (TED and the national portals of 30 countries) and North America (SAM.gov, CanadaBuys, SEAO), deduplicates them into one row per notice, and stores them in a single searchable database — 200,000+ notices, 87 sources, 32 countries.
This repository is the documentation for Scoutee's hosted MCP server. It contains no product code: the server is hosted by Scoutee and you connect to it over HTTPS.
Endpoint |
|
Transport | Streamable HTTP (stateless, JSON responses). No SSE, no stdio package. |
Auth |
|
Tools |
|
Quota | 10,000 searches per hour per key |
Docs |
Related MCP server: LexSocket MCP Server
Getting an API key
Create an account at scoutee.org.
Subscribe to the Standard plan (pricing) — the API and the MCP server require a paid workspace.
Open your workspace page, section API, and create a key. It looks like
sct_....Keys can be revoked at any time from the same page.
Setup
Claude Code
claude mcp add --transport http scoutee https://scoutee.org/api/mcp \
--header "X-API-Key: sct_your_key_here"Claude Desktop, Cursor, VS Code, Windsurf
Add this block to the MCP config file of your client (claude_desktop_config.json,
.cursor/mcp.json, .vscode/mcp.json, ~/.codeium/windsurf/mcp_config.json). It is also in
mcp-config.json in this repo.
{
"mcpServers": {
"scoutee": {
"type": "http",
"url": "https://scoutee.org/api/mcp",
"headers": {
"X-API-Key": "sct_your_key_here"
}
}
}
}VS Code's mcp.json uses servers instead of mcpServers, and supports an input prompt for the key:
{
"inputs": [
{ "id": "scoutee-key", "type": "promptString", "description": "Scoutee API key", "password": true }
],
"servers": {
"scoutee": {
"type": "http",
"url": "https://scoutee.org/api/mcp",
"headers": { "X-API-Key": "${input:scoutee-key}" }
}
}
}Python
import asyncio, os
import httpx
from mcp.client import Client
from mcp.client.streamable_http import streamable_http_client
async def main():
headers = {"X-API-Key": os.environ["SCOUTEE_API_KEY"]}
async with httpx.AsyncClient(headers=headers, timeout=60) as http:
async with Client(
streamable_http_client("https://scoutee.org/api/mcp", http_client=http)
) as client:
result = await client.call_tool(
"search_tenders",
{"q": "road maintenance", "country": ["France", "Belgium"], "page_size": 5},
)
print(result)
asyncio.run(main())curl (raw JSON-RPC, useful to check a key)
curl -s https://scoutee.org/api/mcp \
-H "X-API-Key: $SCOUTEE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Tools
search_tenders — Search public tenders
Search Scoutee's index of public procurement notices. Returns a page of notices, the total number of
matches, a per-country breakdown of the same match set (by_country, useful to suggest where else to
look) and what the caller's hourly quota has left. Open notices only and newest first unless asked
otherwise; notices published on several portals appear once, the other portals listed in also_on.
Each search consumes one quota unit. Read-only.
Parameter | Type | Default | Description |
|
| — | Free text over title, buyer and description. Every word must match the start of a word in the notice ( |
|
| — | Keywords matched as whole words (plural tolerated) in title, buyer or description, plus the cached translations of each keyword on the portals of that language — the way to search across countries without translating anything yourself. Several keywords widen the search (a notice matching any of them is returned). |
|
| — | Countries of the publishing portal, by their English name as Scoutee stores it ( |
|
| — | Restrict to a single portal, by its Scoutee source identifier. |
|
| — | Minimum estimated value, in the currency of the notice. Notices without a published value are excluded when this is set. |
|
| — | Maximum estimated value. |
|
|
|
|
|
|
| Include notices whose consultation is already closed. |
|
| — | Keep only notices first collected by Scoutee after this instant. The way to poll for what is new since a previous run. |
|
|
| 1-based page number. |
|
|
| Notices per page (capped by the plan). Kept modest by default because a notice is a large object; raise it when you need to sweep a whole result set. |
Example result:
{
"items": [
{
"id": 398005,
"source_id": 12,
"source_name": "BOAMP",
"source_country": "France",
"external_id": "26-118742",
"title": "Entretien des espaces verts de la commune",
"buyer": "Ville de Rennes",
"description": "Marché de services d'entretien des espaces verts ...",
"url": "https://www.boamp.fr/pages/avis/?q=idweb:26-118742",
"location": "Rennes, Ille-et-Vilaine",
"procedure": "Procédure adaptée",
"cpv_codes": ["77310000", "77311000"],
"estimated_value": 450000.0,
"currency": "EUR",
"published_at": "2026-09-02T08:00:00Z",
"deadline_at": "2026-10-15T12:00:00Z",
"first_seen_at": "2026-09-02T09:12:44Z",
"last_seen_at": "2026-09-07T04:10:03Z",
"closed_at": null,
"favorite": false,
"also_on": [{ "source_id": 1, "source_name": "TED", "url": "https://ted.europa.eu/..." }],
"documents_url": "https://www.boamp.fr/dce/..."
}
],
"total": 137,
"page": 1,
"page_size": 20,
"pages": 7,
"by_country": { "France": 98, "Belgium": 21, "Europe": 18 },
"quota_plan": "standard",
"quota_limit": 10000,
"quota_remaining": 9987
}get_tender — Read one public tender
One notice in full, by its Scoutee identifier (the id of a search result). Same shape as a search
result item. Consumes no quota. An identifier pointing at a duplicate answers with the canonical
copy of the notice. Read-only.
Parameter | Type | Required | Description |
|
| yes | Scoutee identifier of the notice. |
Returns a single tender object, identical in shape to one entry of items above.
Example prompts
"Find open tenders about road maintenance in France and Belgium with a deadline after next month."
"List the newest IT consulting RFPs above 500,000 EUR in Germany."
"Show me the details of tender 398005 and summarise the buyer's requirements."
"What has been published in the Netherlands since yesterday about cloud hosting?"
Quotas and errors
10,000 searches per hour per key. Every
search_tendersresult carriesquota_plan,quota_limitandquota_remaining;get_tenderdoes not consume quota.Exceeding the quota returns a tool error with the same message the REST API would return (HTTP 429).
A missing, unknown or revoked key returns a tool error asking for
X-API-Key.Notices are returned in the language they were published in; nothing is translated.
urlalways points at the notice on its source portal, which is where a bid is actually filed.
Registry
This server is published to the official MCP Registry as org.scoutee/scoutee. The manifest is
server.json.
Links
Website — https://scoutee.org
Developer reference (REST + MCP) — https://scoutee.org/en/api-docs (French: https://scoutee.org/fr/documentation-api)
Pricing — https://scoutee.org/pricing
Contact — contact@scoutee.org
License
The contents of this documentation repository are MIT licensed (see LICENSE). The Scoutee service itself is a commercial product operated by AUTEUR (France) and is not open source.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
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
Search EU public tenders across TED and 8 national portals. Monitor, match, and analyse procurement.
Search public procurement notices from 17 sources across Germany, the EU and the UK. Read-only.
Government tenders, awards and pre-tender pipelines from 21 official sources as MCP tools.
MCP server for French (BOAMP) + EU (TED) public procurement data via TenderAPI.
Related MCP Servers
- AlicenseAqualityBmaintenanceExposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables search and analysis of European public procurement tenders, including EU above-threshold (TED) and below-threshold from 11 national sources, with hybrid search and filtering.MIT
- AlicenseAqualityAmaintenanceMCP server providing read access to Swiss public procurement data via the official simap.ch API, covering all cantons and the Confederation with intraday updates. It enables searching tenders, awards, construction codes, and procurement offices through natural language queries.9MIT

vartoofficial
FlicenseNot gradedqualityBmaintenanceMCP server for Ukrainian public procurement (Prozorro) that exposes tools to search tenders, retrieve tender details and cards, list and read tender documents.-
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/qchantel/scoutee-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server