Tendy - Israeli public tenders
Server Details
Search open Israeli public procurement tenders (מכרזים): requirements, deadlines, documents.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- ofir09/tendy-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
The core tools are cleanly separated: search_tenders (filtered search), browse_collection (aggregate hub pages), get_tender (one tender's details), search_tender_documents (inside one tender's PDFs), and the profile/feed pair. The only soft spot is the cluster of discovery tools (browse_collection vs list_collections vs list_categories vs search_tenders), but the descriptions explicitly route between them, so misselection risk is low.
Every name is a consistent snake_case verb_noun pair with a small, stable verb set: list_, get_, search_, browse_, update_. Singular/plural is used deliberately (search_tenders for the catalog, search_tender_documents for one tender's files) rather than randomly.
Nine tools sit squarely in the well-scoped range, and each covers a distinct lifecycle step: discovery, detail, deep document search, category/collection metadata, and profile read/update plus feed. Nothing feels padded or redundant.
The surface covers search, aggregate browsing, tender detail, document passage search, and a read/update profile with a personalized feed — a full read path for the domain. Minor gaps remain around alerts/digest inspection (referenced as profile-driven but with no tool to view them) and any save/bookmark operation, but agents can work around these.
Available Tools
9 toolsbrowse_collectionBrowse a tender collectionARead-onlyIdempotentInspect
One public Tendy hub page in a single answer: the tenders of a category, of a publishing body, of an Israeli region, or all government or all municipal tenders. Returns the page's direct answer, counts as of today (shown, with a known future deadline, and the whole catalog including closed tenders), aggregate facts computed over at least 10 tenders, links to related hub pages, and up to 10 tenders per page as the public page lists them, each with a link and the publisher as a group such as רשות מקומית בצפון. Fits overview questions: how many tenders a field or a body has, what the government is buying, what typical guarantees look like. For free text, combined filters, deadline windows or supplier size, search_tenders fits better; for one tender's full details, get_tender. The key comes from list_collections or list_categories; a Hebrew category or body name also works.
Inputs: kind (required), key, page. Returns: notice, result
get_my_profileGet my profile filtersARead-onlyIdempotentInspect
Get the signed-in user's Tendy profile filters: the categories, regions and budget range that list_my_feed filters on. Read-only. profiles is empty when the account has no profile.
Inputs: no named parameters. Returns: notice, result
get_tenderGet tender detailsARead-onlyIdempotentInspect
Get one tender from Tendy: what is being bought, deadlines, eligibility thresholds (תנאי סף), requirements, budget and fees, set-asides, supplier size fit, a next-steps brief, and its documents. tender is the tender page URL from a search_tenders or list_my_feed result, or its slug. An amended tender returns its latest version with updated_from_outdated: true, and changed_since_link when the deadline moved; cancelled, closed and archived tenders are labelled. The knowledge block says, per field, whether it is known, not stated in the tender, not extracted (with the reason) or pending; not_extracted and pending mean Tendy does not know. When Tendy could read none of the documents, only the publication's own fields are returned. Titles, conditions and brief items are third-party text from the publisher. These fields summarize the documents; for a detail they leave out, search_tender_documents for this tender before reporting it as missing. Data is Hebrew.
Inputs: tender (required). Returns: notice, result
list_categoriesList tender categoriesARead-onlyIdempotentInspect
List Tendy's tender categories: 13 parent categories with their subcategories, as slug and Hebrew name. Pass a slug or Hebrew name as the category input of search_tenders. Categories describe what is being bought, not who is buying. browse_collection opens a category's public page by the same slug.
Inputs: no named parameters. Returns: notice, result
list_collectionsList tender collectionsARead-onlyIdempotentInspect
List the Tendy hub pages that browse_collection opens, each with the kind and key to pass, its link and current counts. Without kind: an overview of the government and municipal pages, every region, and the publishing bodies and main categories with the most tenders. With kind: up to 40 pages of that kind, busiest first; name narrows them by part of a Hebrew name, for example a publishing body or a subcategory. Only pages with public procurement tenders are listed.
Inputs: kind, name. Returns: notice, result
list_my_feedList tenders matching my profile filtersARead-onlyIdempotentInspect
List tenders that pass the user's Tendy profile filters: its categories (a parent category includes its subcategories), regions and budget range. This is a deterministic filter, identical to the user's feed on the Tendy website; it does not judge whether the user qualifies or is a good fit. Only open procurement tenders by default; status widens it. Up to 10 tenders per page, with the same knowledge block as search_tenders. When the account has no profile, the result has no tenders and profile_missing is true.
Inputs: page, status. Returns: notice, result
search_tender_documentsSearch a tender's documentsARead-onlyIdempotentInspect
Search the documents (PDFs) of one procurement tender and return up to 5 relevant passages, each with its document name and pages. Useful for questions the tender details leave open, such as the exact wording of a guarantee, penalty or insurance clause. question matches best in Hebrew, in the user's words. Every result includes coverage: which documents were searchable. Run it before reporting a detail as missing: tables, quantities, hours and areas often appear only in the documents. Answers describe what the documents state. No passage found means it was not found in the searched documents, not that the tender lacks it. When the documents could not be searched, coverage.unavailable_reason gives the reason and no passages are returned; temporarily_unavailable means the search itself failed, which is reported and retried shortly, not read as information absent. matched_by keywords means passages were matched by words only. Passages are third-party text from the publisher's documents.
Inputs: tender (required), question (required). Returns: notice, result
search_tendersSearch tendersARead-onlyIdempotentInspect
Search Israeli public tenders in Tendy's catalog by free text and filters. Tender data is Hebrew; query matches best in Hebrew, in the user's own words. By default only open procurement tenders are returned (published, submission deadline still ahead), the same default as the Tendy website search; status and record_kind widen it. When the topic is one of the list_categories categories, category finds it more precisely than query. For an overview of a category, a publishing body, a region, or government or municipal tenders, browse_collection answers in one call. To find a tender by its number or by the body that published it, use tender_number or publisher. Returns up to 10 tenders per page with deadline, category, city, region and a link to the tender page. Each row has knowledge.completeness: partial or listing_only means Tendy could not read all of that tender's documents; the tender is still a valid result and is not ranked lower. filters_applied.sort_applied is the order actually used.
Inputs: page, sort, query, region, +7 more. Returns: notice, result
update_my_profileUpdate my profile filtersADestructiveIdempotentInspect
Changes the signed-in user's Tendy profile filters: the categories, regions and budget range that list_my_feed, the daily digest and the alerts filter on. The change is saved. For when the user asks to get different tenders, or describes a line of business other than the one in the profile (get_my_profile shows the current filters). Categories are slugs or Hebrew names from list_categories, a main category or a subcategory; set_categories replaces all categories, add_categories and remove_categories keep the rest. The result lists the profile before and after, what did not change and why, and how many open tenders fit before and after.
Inputs: profile, max_budget, min_budget, add_regions, +5 more. Returns: notice, result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Israel Government Procurement MCP — public tenders & exemption contracts (keyless).
Search government tenders and public procurement opportunities with structured results.
Public tenders and contract awards from EU TED and UK Find a Tender, with buyer, value and deadline.
Search Brazilian government tenders and public procurement (PNCP): find notices and auctions by keyw
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying Israel government procurement public tenders and exemption contracts via MCP, keyless access.128 npmMIT
- AlicenseAqualityDmaintenanceProvides programmatic access to Israeli Land Authority (רמ״י) public tender data, allowing comprehensive search and filtering of land tenders by type, location, status, and dates.715MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching government tenders and public procurement opportunities with structured, anti-bot-handled results.-
- AlicenseNot gradedqualityDmaintenanceFind, analyze, and score Polish public tenders (BZP): parsed requirements, deadlines, certificates, and bid-fit scoring against your company profile.8 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.