Skip to main content
Glama
io.github.olzhas-raiganiyev/goszakup-mcp

io.github.olzhas-raiganiyev/goszakup-mcp

goszakup-mcp

MCP server for Kazakhstan public procurement data (goszakup.gov.kz), with an open evaluation of how well LLMs use it.

Status: pre-alpha. Only offline tools work today. Procurement tools arrive with access to the official open-data API.

mcp-name: io.github.olzhas-raiganiyev/goszakup-mcp

What works now

Tool

What it does

check_bin

Validates a 12-digit BIN/IIN: format and check digit. Offline.

server_status

Shows the version and whether the server uses mock or live data.

All tools are read-only and return structured output with a JSON schema. The server speaks MCP revision 2026-07-28 and still serves older clients.

Related MCP server: GET4AGENT MARKET

Run locally

uv sync
uv run goszakup-mcp                       # stdio
uv run goszakup-mcp --transport streamable-http

Claude Desktop (claude_desktop_config.json), from a local checkout:

{
  "mcpServers": {
    "goszakup": {
      "command": "uv",
      "args": ["--directory", "/path/to/goszakup-mcp", "run", "goszakup-mcp"]
    }
  }
}

Configuration

Variable

Default

Meaning

GOSZAKUP_SOURCE

mock

mock for offline sample data, ows for the official API

GOSZAKUP_TOKEN

—

Token for the official API, issued by the Ministry of Finance of Kazakhstan. Required when GOSZAKUP_SOURCE=ows.

Never commit a token. .env is git-ignored and CI scans every push with gitleaks.

Development

uv sync
uv run pytest --cov      # unit + end-to-end over both protocol modes
uv run ruff check . && uv run ruff format --check . && uv run mypy
uv run pre-commit install

Tool schemas are snapshot-tested. After an intended change: UPDATE_SNAPSHOTS=1 uv run pytest -k snapshot.

Design decisions live in docs/adr/.

License

MIT

Available Tools

2 tools
check_binValidate BIN/IINA
Read-onlyIdempotent

Check that a Kazakhstan BIN or IIN has 12 digits and a correct check digit.

Works offline. Use it before looking up a company or person by identifier.

Inputs: value (required). Returns: Result of validating a BIN or IIN.

server_statusServer statusA
Read-onlyIdempotent

Report the server version and whether it serves mock or live procurement data.

Inputs: no named parameters. Returns: What this server instance is connected to.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 2 tools

    Disambiguation5/5

    check_bin validates an identifier while server_status reports runtime metadata; the two purposes have zero overlap. An agent can pick the right tool without any description ambiguity.

    Naming Consistency4/5

    Both names are snake_case and readable, but check_bin follows a verb_noun pattern while server_status is a noun phrase. Minor stylistic deviation rather than a real inconsistency.

    Tool Count2/5

    Two tools is far too thin for a Kazakhstan procurement server, especially since one slot is consumed by a generic status/health tool. The surface feels like a stub rather than a scoped feature set.

    Completeness1/5

    There are no procurement operations at all: no company lookup, no lot/tender search, no contract or award retrieval. check_bin's own description tells the agent to use it 'before looking up a company or person by identifier', but no such lookup tool exists, creating an explicit dead end.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      MCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).
      8
      77 PyPI
      15
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      MCP server for the AI-agent economy: free Kazakhstan / Central-Asia utilities (Kazpost parcel tracking, IIN/BIN & IBAN validation, GLEIF LEI lookup, KZT/ECB FX rates, weather) callable with no account, plus per-call purchase of KYA-verified API listings governed by Regent Protocol.
      10
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to validate Russian business requisites (INN, OGRN, bank accounts) via checksums, extract them from text, and retrieve counterparty details by INN using DaData.
      5
      MIT