eu. tendfeed/ tendfeed
by tendfeed.eu · remote · no sign-in to list tools · v1.0.1 · published by eu.tendfeed
Bid/no-bid verdicts for open EU tenders, from 592,000 real TED contract awards.
4 tools: 1 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http tendfeed https://tendfeed.eu/api/mcp/tendfeedFindings
Matches of fixed checks, with the text they matched.
- Warnsearch_tenders
The server marks "search_tenders" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "search_tenders" says "search": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Changes things 1Claude Code: ask
search_tendersOpen EU tenders with a bid/no-bid verdict (Worth-It score, reason, competition density, price corridor where robust, deadline, SME-fit).1 finding
Why it is in this group
- The name "search_tenders" says "search": a word for reading.
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "search_tenders" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "search_tenders" says "search": a word for reading.
Description, as the server wrote it Open EU tenders with a bid/no-bid verdict (Worth-It score, reason, competition density, price corridor where robust, deadline, SME-fit). Filter by sector (CPV division), country (NUTS), SME-only, min score. Guests (no key) get the expired-tender board plus a live_matched count; an API key (Authorization: Bearer cfm_live_…) with an active TendFeed subscription unlocks the live, still-biddable board. Data/research tool over TED (Tenders Electronic Daily, CC BY 4.0). No guarantee of award.
Annotations the server declares
- title: Search open tenders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Only reads 3Claude Code: allow
find_low_competition_lanesRank CPV sector "lanes" by OBSERVED competition density from the full corpus of 530,000 real EU awards: median bidders, single-bidder share, bid-rate, median value, beachhead score…No findings
Why it is in this group
- The name "find_low_competition_lanes" says "find": a word for reading.
Description, as the server wrote it Rank CPV sector "lanes" by OBSERVED competition density from the full corpus of 530,000 real EU awards: median bidders, single-bidder share, bid-rate, median value, beachhead score. Answers "where is competition thinnest right now". It does NOT estimate the user's probability of winning — thin competition is a selection signal, not a win forecast. Returns the top-ranked lanes only (see "limit"); the total count is in coverage.lanes_ranked. Data/research tool over TED (Tenders Electronic Daily, CC BY 4.0). No guarantee of award.
Annotations the server declares
- title: Find low-competition lanes
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
find_winnable_lanesDEPRECATED — use find_low_competition_lanes instead; this alias behaves identically and stays available for existing clients.No findings
Why it is in this group
- The name "find_winnable_lanes" says "find": a word for reading.
Description, as the server wrote it DEPRECATED — use find_low_competition_lanes instead; this alias behaves identically and stays available for existing clients. The old name wrongly implied a win forecast: TendFeed measures observed competition density, not the probability that you win. Data/research tool over TED (Tenders Electronic Daily, CC BY 4.0). No guarantee of award.
Annotations the server declares
- title: Find low-competition lanes (deprecated name)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_verdictPull one versioned verdict object by tender id (decision, score, per-channel evidence, price status, reason).No findings
Why it is in this group
- The name "get_verdict" says "get": a word for reading.
Description, as the server wrote it Pull one versioned verdict object by tender id (decision, score, per-channel evidence, price status, reason). Requires an API key (Authorization: Bearer cfm_live_…) with an active TendFeed subscription; without one you get a machine-readable key-required or subscription-required answer. Data/research tool over TED (Tenders Electronic Daily, CC BY 4.0). No guarantee of award.
Annotations the server declares
- title: Get one verdict
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http tendfeed https://tendfeed.eu/api/mcp/tendfeedRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__tendfeed__find_low_competition_lanes",
"mcp__tendfeed__find_winnable_lanes",
"mcp__tendfeed__get_verdict"
],
"ask": [
"mcp__tendfeed__search_tenders"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tendfeed. Review it before you use it.