tender-mcp: Russian procurement analysis

tender-mcp

A FastMCP server that parses Russian EIS procurement XML under laws 44-FZ and 223-FZ and computes contract price, prequalification and dumping risk

  • 0 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • A local Python server parses EIS XML notices and computes contract price and security
  • Submits no bids and asks for no personal data
All reasons and checks
Russian stack

makarovartyom/tender-mcp

Install

Manual install

uv sync && uv run python tender_mcp/server.py

The actual run method based on the repository's code (uv.lock, pyproject.toml), which differs from the Node.js instructions in the README.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • A local Python server parses EIS XML notices and computes contract price and security
  • Submits no bids and asks for no personal data

This is third-party code. Review the repository files before installing.

What it does

The server registers MCP tools from two modules: notices parses a procurement notice from EIS XML into normalized JSON (number, procurement method, platform, dates, line items with specs and prices), and finance computes the maximum contract price, the bid security range of 0.5 to 5 percent, a prequalification flag under government decree No. 2571 for contracts of 20 million rubles or more, and a dumping-risk flag when the price drops by more than 25 percent. The server is built on FastMCP and runs over the stdio protocol. Based on the code, pyproject.toml defines no console-script entry point, so the server is run directly with Python.

Who it is for. For sales managers and lawyers at supplier companies working with Russian government procurement under 44-FZ and 223-FZ who want a quick read on a tender before bidding.

Good fit when

  • You need to parse an EIS XML notice into structured line items with prices
  • You need a quick estimate of the bid security and whether prequalification under decree 2571 applies
  • You need a dumping-risk read on a proposed bid price

Not a fit when

  • You need a legally binding determination: the tools only give calculated recommendations, not an official ruling
  • You need a ready bot or n8n integration: the README describes such examples, but they aren't in the repository tree
  • You have a Node.js setup: despite the README's pnpm instructions, the server is written in Python and needs uv or pip

Example request

Parse this EIS XML notice and tell me whether the tender falls under decree 2571 prequalification

MCP

Transport
stdio
Authentication
not required

Environment variables

TENDERKIT_PORT
Server port mentioned in the README, defaulting to 8765; not used by the current Python code.

Limitations

The README describes installing via Node.js, pnpm and cloning a different repository, your-org/mcp-tenderkit. This does not match the real code: the server is written in Python with FastMCP, dependencies live in pyproject.toml and uv.lock, and the pnpm dev command will not work. No license is stated. The repository has committed __pycache__ compiled files and empty init.py stubs instead of __init__.py, pointing to an early, rough state. The decree-2571 and dumping calculations are auxiliary pointers, not an official customer determination.

How to disable. Remove the tender-mcp server from your MCP client config and delete the local project folder.

FAQ

The README mentions Node.js, but what is the server actually written in?

Python with the FastMCP framework; the pnpm and Node.js instructions in the README do not match the repository's actual code.

Does it need an API key?

Neither the code nor the README mentions one; the server works on a locally provided or fetched XML notice.

Discussion

No questions or reviews yet.

Russian stack

Russian public procurement MCP server: tender search on zakupki.gov.ru under 44-FZ and 223-FZ, tender cards and OKPD2 code lookup

MCP serverExtended access5Repository stars
Official

KontragentPro's official MCP that checks Russian companies by INN with no key required: EGRUL, FNS filings, bankruptcy, inspections and sanctions lists

MCP serverExtended access
Russian stack

Unofficial Checko.ru MCP server for counterparty checks: EGRUL, EGRIP, financials, court cases, state contracts and bankruptcies

MCP serverExtended access13Repository stars
Russian stack

A Claude plugin for medical device tenders under Russian 44-FZ and 223-FZ: tender analysis, spec review and RU-registry alternatives

PluginExtended access
Russian stack

An MCP server that checks Russian bailiff proceedings for individuals, companies and sole proprietors through data providers, no FSSP key needed

MCP serverExtended access
Official

The official MCP server for the paid NewDB API: passports, bailiff debts, company registry, tax account holds and bankruptcy checks across Russia and the CIS

MCP serverExtended access

README in short

The README, calling the project MCP TenderKit, describes parsing EIS notices under 44-FZ and 223-FZ, computing the contract price, decree-2571 prequalification and dumping risk, plus an architecture with a normalizer, derived fields and adapters for n8n and bots. Its quickstart section describes Node.js and pnpm, which does not match the actual Python code in the repository.

README badge

Report a problem