tendfeed-mcp
Officialby tendfeed-eu
README.md
<div align="center">
<img src="tendfeed-icon-512.png" alt="TendFeed" width="120" />
# TendFeed — Bid/No-Bid Intelligence MCP Server
**Should you bid? Every open EU tender, scored against 592,000 real award outcomes.**
**Language:** [**English**](README.md) · [Deutsch](docs/de-DE/README.md)
[](https://smithery.ai/server/mlaun-kosb/tendfeed)
[](https://tendfeed.eu/api/mcp/tendfeed)
[](LICENSE)

</div>
---
MCP server for **bid/no-bid intelligence on EU public tenders**, built on 592,000 real
TED contract awards: **observed competition density** (median bidders, single-bidder share),
**price corridor**, **SME fit** and **beachhead ranking** for every open tender.
It answers *"can I win this?"*, not just *"what is out there?"*.
## Why this exists
Tender portals list what is out there — they don't tell you whether bidding is worth it.
Most losing bids die on competition and price, and that information exists: it is in the
award notices of tenders already decided. TendFeed benchmarks every open EU tender against
592,000 real award outcomes (bidder counts, winning prices, SME shares per CPV sector ×
country) and returns a verdict with its evidence — the score, the reason, and the number of
awards it is based on. An agent (or a human) can check the basis instead of trusting a guess.
Works in Claude Code, Claude Desktop, Cursor, and any other MCP-capable harness.
## Two ways to use it
**1. Connect to the hosted server (recommended)** — no installation, always current data:
```bash
claude mcp add --transport http tendfeed https://tendfeed.eu/api/mcp/tendfeed
```
For stdio-only clients (Claude Desktop, Cursor) via [mcp-remote](https://www.npmjs.com/package/mcp-remote):
```json
{
"mcpServers": {
"tendfeed": {
"command": "npx",
"args": ["mcp-remote", "https://tendfeed.eu/api/mcp/tendfeed"]
}
}
}
```
**2. Run the bundled stdio wrapper** — zero dependencies; `initialize`/`tools/list` answer
offline, tool calls reach the hosted endpoint:
```bash
node index.js
```
Or with Docker:
```bash
docker build -t tendfeed-mcp .
docker run -i --rm tendfeed-mcp
```
Add to an MCP client config:
```json
{
"mcpServers": {
"tendfeed": {
"command": "node",
"args": ["/path/to/tendfeed-mcp/index.js"],
"env": { "TENDFEED_API_KEY": "cfm_live_… (optional, unlocks the live board)" }
}
}
}
```
## Tools
| Tool | What it answers |
|---|---|
| `find_low_competition_lanes` | "Where is competition thinnest right now?" — ranks CPV sector lanes by observed competition density (median bidders, single-bidder share, bid rate, beachhead score) |
| `search_tenders` | Open EU tenders with a bid/no-bid verdict: Worth-It score, reason, competition density, price corridor, deadline, SME fit — filterable by sector, country, score |
| `get_verdict` | One versioned verdict object for a single tender (decision, score, per-channel evidence) |
| `find_winnable_lanes` | Deprecated alias of `find_low_competition_lanes`, kept for existing clients |
## Free tier and API key
Guests need no key: the expired-tender board is fully usable and every search returns a
`live_matched` count of current hits. An API key (created at
[tendfeed.eu](https://tendfeed.eu), active subscription) unlocks the live, still-biddable
board — sent as a header:
```bash
claude mcp add --transport http tendfeed https://tendfeed.eu/api/mcp/tendfeed \
--header "Authorization: Bearer cfm_live_YOUR_KEY"
```
## Agent skill
A ready-made skill that teaches an agent to use the server well (lane before single tender,
always cite the verdict's reason and data basis) is served at
[tendfeed.eu/skill.md](https://tendfeed.eu/skill.md).
## Discovery
- MCP manifest: [tendfeed.eu/.well-known/mcp.json](https://tendfeed.eu/.well-known/mcp.json)
- Official MCP registry: `eu.tendfeed/tendfeed`
- Glama connector: [glama.ai/mcp/connectors/eu.tendfeed/tendfeed](https://glama.ai/mcp/connectors/eu.tendfeed/tendfeed)
- OpenAPI: [tendfeed.eu/api/v1/openapi.json](https://tendfeed.eu/api/v1/openapi.json)
## Data
Raw data: [TED — Tenders Electronic Daily](https://ted.europa.eu) (CC BY 4.0). The scoring,
benchmarks and verdicts are TendFeed's own. No guarantee of award.
TendFeed is a service of AnalystHAUS GmbH — [tendfeed.eu](https://tendfeed.eu)
TDQS
A3.8/5.0
Scored across 4 tools
Disambiguation2/5
Two tools (find_low_competition_lanes and find_winnable_lanes) are explicitly identical, causing ambiguity. The other two are distinct, but the duplication lowers clarity.
Naming Consistency3/5
Two tools use 'find_*_lanes' pattern, but the others use 'search_tenders' and 'get_verdict'. The pattern is mixed, making it less predictable.
Tool Count4/5
With 4 tools, the set is compact yet covers key functions for a tender intelligence service. Not too few or too many.
Completeness3/5
Core capabilities are present (finding lanes, searching tenders, retrieving verdicts), but missing features like listing all sectors or user account management create minor gaps.
Maintenance
ActivitySlowing
ResponsivenessNo issues