Skip to main content

azerbaijan-mcp-azstat

MCP server for the State Statistical Committee of Azerbaijan (azstat.gov.az). It searches the Committee's statistical tables (about 1,800 in 31 topics: population, labour market, education, prices, trade and more) and reads their data through the Committee's open data API: no API key, no scraping.

Tools

Tool What it does
list_topics(lang?) The 31 topics with their table counts.
search_tables(query?, topic?, limit?, offset?, lang?) Searches table titles and descriptions. Every word must appear and title matches rank first. Without a query it lists the tables of a topic.
describe_table(table_id, category_query?, lang?) What a table holds: description, periods, units and each dimension's categories. category_query finds the exact category names.
get_table_data(table_id, period_from?, period_to?, where?, limit?, offset?, lang?) Rows in long format. where filters categories, for example {"Indicator": "Total population"}. limit is 1-500 (default 50) and next_offset pages on.

A typical question, "what was the population of Azerbaijan in 2023?", takes search_tables("population"), then describe_table("DT_AA_001"), then get_table_data("DT_AA_001", period_from=2023, where={"Indicator": "Total population"}).

Things worth knowing:

  • lang is en or az; the API offers no other. Titles, categories and the words searched are in that language. Accents are ignored, so gelir finds gəlir.
  • Data is in long format, one row per period and category combination. columns names the cells: period, one column per dimension, value, and symbol and unit when rows have them. Periods are written 2023 for years and 202603 for months. A nested category reads parent > child.
  • A null value with a symbol (seen: - and ...) means the Committee published the symbol instead of a number. The symbol is returned as published, not interpreted. Many tables give their unit only in the title.
  • The API has no filters, so a table is read whole and cut here. At most 20 MB per table is read (a larger one returns status too_large), and it is cached for 30 minutes. The largest table in the sample checked was 9 MB.
  • Some tables seem to leave out a dimension. In a sample of 26 tables, 2 had several values for the same period and categories with nothing to tell them apart. For those, get_table_data returns status ambiguous, no rows and the link to the table on the Committee's site; describe_table still shows what they hold.

Install

Add to your MCP client configuration (requires uv):

{
  "mcpServers": {
    "azstat": {
      "command": "uvx",
      "args": ["azerbaijan-mcp-azstat"]
    }
  }
}

In Claude Code: claude mcp add azstat -- uvx azerbaijan-mcp-azstat.

One optional setting goes in the client's env:

Variable Default Meaning
AZSTAT_API_BASE https://www.azstat.gov.az/AsisOpenDataApi API base URL, https only.

Data source and terms

The data is published by the State Statistical Committee at https://www.azstat.gov.az. This server reads its open data API, the tables and data actions of AsisOpenDataApi. The API has no public documentation (no documentation page answers at the usual paths), so a live contract test pins the shape of its answers. Answers to the checklist in the repository's data policy, read on 2026-11-01:

  • Terms: the Committee's own pages state no terms for the API and ask users to cite the source. The national open data portal, opendata.az, lists AsisOpenDataApi addresses among the files of 1,426 of the Committee's 1,662 datasets there, and all 1,662 carry the CC0 licence. Its FAQ (https://opendata.az/page/faq, updated 8 April 2025) defines open data as data anyone can access, use and share again, and tells developers they can build applications on the data and the API.
  • robots.txt: none is published (www.azstat.gov.az/robots.txt answers 404).
  • Attribution: every response has source and attribution fields and the link to the table's page. Cite the Committee when you use the numbers.
  • Rate limit and cache: the User-Agent is azerbaijan-mcp-azstat/<version>, with at most one request per second, one retry for network errors and 5xx, and a stop on 403 or 429. The table list is cached for an hour and each table for 30 minutes.
  • Personal data: none. The tables are aggregate statistics.
  • Publisher contacted: no.
  • Decision: go, as an official, read-only API.

Unofficial project, not affiliated with or endorsed by the State Statistical Committee.

tests/fixtures/ holds trimmed copies of real answers from the API; DT_AA_001 and DT_BE_119 are whole.

Metadata

Release files for azerbaijan-mcp-azstat 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azerbaijan-mcp-azstat 0.1.0
File Size Uploaded Provenance Actions
azerbaijan_mcp_azstat-0.1.0.tar.gz 47.3 kB With provenance Details for azerbaijan_mcp_azstat-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for azerbaijan-mcp-azstat 0.1.0
File Interpreter ABI Platform Actions
azerbaijan_mcp_azstat-0.1.0-py3-none-any.whl Python 3 none any Details for azerbaijan_mcp_azstat-0.1.0-py3-none-any.whl

Total release size: 65.4 kB

Release files / azerbaijan_mcp_azstat-0.1.0.tar.gz

Download URL azerbaijan_mcp_azstat-0.1.0.tar.gz
Size 47.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b0e8a342e212817db0f4515d6a67209154a07353d95f6728f4586c31ac7123ab
BLAKE2b-256 checksum
How to use checksums
969699b882a2a4b613b4a625a1021116b454260359e7a61b40a2b44dc35bbae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / azerbaijan_mcp_azstat-0.1.0-py3-none-any.whl

Download URL azerbaijan_mcp_azstat-0.1.0-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61198ea3744496fc46704708f32e41e35ac8f2a63eb6f8d10afebb7a276b04d0
BLAKE2b-256 checksum
How to use checksums
8a1593abf6bcd18c0691ad88328ea6f6fe6cf247e06d4dc1ee0c6be4d2434bc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for azerbaijan-mcp-azstat 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for azerbaijan_mcp_azstat-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page