Prozorro MCP Server
Provides AI models with access to Ukrainian government procurement data from Prozorro, enabling search and retrieval of tender information by organization, date range, and other criteria.
README
Prozorro MCP Server
A Model Context Protocol (MCP) server that provides AI models with seamless access to Ukrainian government procurement data from Prozorro - Ukraine's public procurement system.
āāā Providing all the available features requires to have a proxy server and database, so right now MCP API is not available publicly. To get API URL and API token, please contact the author.
Features
- š Search Tenders: Advanced search capabilities by EDRPOU code, legal name, or date ranges
- ā” Fast: Direct API integration with Prozorro's public procurement database
- š ļø Easy Integration: Simple setup with Claude Desktop and other MCP clients
Available Tools
search_tenders
Searches for government tenders based on various criteria (Right now data are available only for 2025 year).
Parameters:
EDRPOUCode(string, optional): The unique identifier code of the organization (Ukrainian tax ID)legalName(string, optional): A substring to match against the organization's legal namedateFrom(string, optional): Start date for the search (ISO 8601 format, e.g.,2025-01-01)dateTo(string, optional): End date for the search (ISO 8601 format, e.g.,2025-12-31)limit(number, optional): Maximum number of records to return (default: 100, max: 1000)
Returns: Array of tender objects with detailed information including tender ID, title, organization details, dates, and procurement status.
Installation
Method 1: Install from npm (Recommended)
The easiest way to install the MCP server is via npm:
npm install -g prozorro-mcp-server
After installation, add to Claude Desktop configuration:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"prozorro": {
"command": "prozorro-mcp-server",
"env": {
"PROZORRO_API_TOKEN": "your-api-token-here",
"PROZORRO_SERVICE_URL": "mcp-api-url-here"
}
}
}
}
Restart Claude Desktop and you're ready to use the server!
Note: On Linux/macOS, if you encounter permission issues, you may need to use
sudo npm install -g prozorro-mcp-serveror configure npm to use a user directory.
Method 2: Install from GitHub
- Install globally via npm from GitHub:
npm install -g git+https://github.com/VladyslavMykhailyshyn/prozorro-mcp-server.git
- Add to Claude Desktop configuration:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"prozorro": {
"command": "prozorro-mcp-server",
"env": {
"PROZORRO_API_TOKEN": "your-api-token-here",
"PROZORRO_SERVICE_URL": "mcp-api-url-here"
}
}
}
}
- Restart Claude Desktop - The server will be ready to use!
Method 3: Local Development Installation
- Clone the repository:
git clone https://github.com/VladyslavMykhailyshyn/prozorro-mcp-server.git
cd prozorro-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
- Add to Claude Desktop configuration (use absolute path):
{
"mcpServers": {
"prozorro": {
"command": "node",
"args": ["/absolute/path/to/prozorro-mcp-server/build/index.js"],
"env": {
"PROZORRO_API_TOKEN": "your-api-token-here",
"PROZORRO_SERVICE_URL": "https://prozorro.gov.ua"
}
}
}
}
Configuration
The server requires specific environment variables to function correctly. You can set these in the Claude Desktop configuration or in a .env file for local development.
| Variable | Description | Required | Example |
|---|---|---|---|
PROZORRO_API_TOKEN |
Your Bearer token for the Prozorro API | Yes | Bearer abc123... |
PROZORRO_SERVICE_URL |
Base URL for the API | Yes | https://mcp-service-url.... |
Getting API Credentials
To obtain API credentials and URL for Prozorro:
- Contact the author
- Retrieve API token and URL
- Use the token and URL in your configuration
Common Usage Workflows
Workflow 1: Search Tenders by Organization
1. Use search_tenders with EDRPOUCode to find all tenders from a specific organization
2. Review the returned tender details including dates, amounts, and status
3. Filter results by date range if needed
Workflow 2: Find Recent Tenders
1. Use search_tenders with dateFrom and dateTo parameters
2. Optionally filter by organization name using legalName
3. Limit results for better performance
Troubleshooting
Server not appearing in Claude Desktop
- Check that the path in
claude_desktop_config.jsonis correct - Ensure you've built the project with
npm run build - Verify that Node.js is installed (version 18 or higher required)
- Restart Claude Desktop
- Check Claude Desktop logs for errors
API Request Failures
- Verify your
PROZORRO_API_TOKENis valid and not expired - Check that
PROZORRO_SERVICE_URLis correct - The Prozorro API may have rate limits - consider adding delays between requests
- Network connectivity to prozorro.gov.ua is required
- Some tenders might be temporarily unavailable
Authentication Errors
- Ensure your API token includes the
Bearerprefix if required - Check that your token has the necessary permissions
- Verify the token hasn't expired
Development
Project Structure
prozorro-mcp-server/
āāā src/
ā āāā index.ts # Main MCP server entry point
ā āāā tenders.ts # Tender search implementation
ā āāā types.ts # TypeScript type definitions
āāā build/ # Compiled JavaScript (generated)
āāā package.json
āāā tsconfig.json
āāā README.md
Running in Development Mode
# Watch mode - auto-rebuild on changes
npm run dev
# In another terminal
npm start
Building for Production
npm run build
API Information
This server uses the Prozorro public API to retrieve tender information. For more details about the Prozorro system and available data:
- Prozorro Website: https://prozorro.gov.ua/
- API Documentation: https://prozorro.gov.ua/api
- Data Format: JSON responses with detailed tender information
License
ISC
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Contact
For issues and questions, please use the GitHub Issues page.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.