mtender-mcp-server
Modern MCP server for Moldova's MTender public procurement data (OCDS 1.1.5). Protocol revision 2025-11-25. Tools, resources, prompts, vision-OCR for scanned PDFs, SSRF-hardened.
Versions
3.3.0latest3.2.03.1.13.1.0Tools 14
fetch_tender_document Download a document from Moldova's MTender storage and return its content.
get_tender Compile a full OCDS tender summary by fetching every release package (PN/TN/EV/AC/CO) and merging them. Returns parties, items (with CPV), documents, amendments, awards, contracts, related processes.
list_tender_documents List every document URL attached to a tender across its releases (tender, awards, contracts).
get_release_history Return a chronological list of OCDS releases for a tender (planningUpdate, tender, award, contract, amendment, tenderCancellation, etc.) with their tags and timestamps.
list_enquiries Return the public Q&A thread on a tender — questions submitted by potential bidders and the buyer's answers (OCDS enquiry extension).
list_lots Return the lots of a tender — many Moldovan procurements are split into separately-evaluated lots, each with its own status, value, and items.
list_bid_statistics Return bid statistics for a tender (OCDS bids extension). Measures include bids submitted, valid bids, etc., per-lot.
aggregate_by_buyer Scan the latest N tenders, group by buyer, return tender count + total tender value. Slow.
aggregate_by_supplier Scan the latest N tenders, count awards per supplier, return total awarded value + the OCIDs they appear in. Slow.
flag_single_bid_awards Scan the latest N tenders and flag those whose award has only one supplier — a classic red flag for limited competition.
get_budget Fetch the planning budget linked to a procurement process by OCID.
get_funding_source Fetch the funding source record linked to a procurement budget by OCID.
search_tenders List Moldova procurement notices, ascending by publication date. Returns lightweight {ocid, date} entries plus resource_link blocks. Without `offset`, defaults to the last ~30 days. Use the returned `nextOffset` to paginate forward in time. For richer filters (buyer/supplier/CPV/value/status), use search_tenders_deep.
search_tenders_deep Fetch the latest N tenders and filter by buyer name, supplier name, CPV prefix, status, procurement method, or value range. Slow (one upstream call per tender). Use only when search_tenders is insufficient. Concurrency-bounded; emits progress.
Permissions 4
network medium filesystem low shell high env_vars low