io.github.olzhas-raiganiyev/goszakup-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOSZAKUP_TOKEN | No | Token for the official API, issued by the Ministry of Finance of Kazakhstan. Required when `GOSZAKUP_SOURCE=ows`. Never commit a token. | |
| GOSZAKUP_SOURCE | No | `mock` for offline sample data, `ows` for the official API | mock |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Read-only access to Kazakhstan public procurement data from the official goszakup.gov.kz open-data API. Identifiers of companies are 12-digit BINs; of individuals and sole proprietors, 12-digit IINs. Validate an identifier with check_bin before searching by it.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_binA | 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. |
| server_statusA | Report the server version and whether it serves mock or live procurement data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
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.
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.
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.
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.