dml-bps-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BPS_API_KEY | Yes | API key from webapi.bps.go.id (required) | |
| BPS_LOG_LEVEL | No | Log level: debug/info/warn/error. Default: info | |
| BPS_API_BASE_URL | No | Base URL API. Default: https://webapi.bps.go.id/v1 | |
| BPS_DEFAULT_LANG | No | Default language: ind or eng. Default: ind | |
| BPS_CACHE_ENABLED | No | Enable cache. Default: true | |
| BPS_DEFAULT_DOMAIN | No | Default domain (0000 = Nasional). Default: 0000 | |
| BPS_CACHE_MAX_ENTRIES | No | Maximum cache entries. Default: 500 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| list_domainsA | List BPS domains/regions (province, regency/city). Use type='prov' for provinces, 'kab' for all regencies, 'kabbyprov' for regencies per province. | |||||||||||||||||||||||||||||||||||||||||||||
| resolve_domainA | Convert region name to BPS domain code. Supports official names, abbreviations (Jatim, Jabar, Jogja), and fuzzy matching. | |||||||||||||||||||||||||||||||||||||||||||||
| list_subjectsA | List available BPS statistical data subjects for a given domain. Subjects are main data categories (e.g. Population, Poverty, Trade). | |||||||||||||||||||||||||||||||||||||||||||||
| list_subject_categoriesB | List BPS statistical subject categories. Categories group related subjects. | |||||||||||||||||||||||||||||||||||||||||||||
| list_variablesC | List data variables in BPS dynamic tables. Variables determine specific data you can retrieve (e.g. Population Count, Poverty Rate). | |||||||||||||||||||||||||||||||||||||||||||||
| list_vertical_variablesA | List vertical variables (breakdown/disaggregation) for a given variable. Examples: gender, age group. | |||||||||||||||||||||||||||||||||||||||||||||
| list_derived_variablesA | List derived variables (aggregated categories). Examples: total, average. | |||||||||||||||||||||||||||||||||||||||||||||
| list_periodsB | List available data periods for a given variable. Periods can be years, semesters, quarters, or months. | |||||||||||||||||||||||||||||||||||||||||||||
| list_derived_periodsB | List derived periods for a given variable. | |||||||||||||||||||||||||||||||||||||||||||||
| list_unitsA | List data units used in a given domain. Examples: Person, Percent, Rupiah. | |||||||||||||||||||||||||||||||||||||||||||||
| get_dynamic_dataA | Fetch data from BPS dynamic tables. This tool requires a specific variable ID. IMPORTANT: Use find_data first for automatic search. Use this tool only if you already know the var_id. Common variables (national, domain=0000):
Use find_variable to search for other variable IDs. | |||||||||||||||||||||||||||||||||||||||||||||
| list_static_tablesA | List BPS static tables. Static tables contain pre-formatted data in HTML table format. | |||||||||||||||||||||||||||||||||||||||||||||
| get_static_tableA | Retrieve details of a single BPS static table (includes table content in HTML format). | |||||||||||||||||||||||||||||||||||||||||||||
| list_press_releasesA | List BPS Press Releases (Berita Resmi Statistik / BRS). BRS contains the latest official data releases. | |||||||||||||||||||||||||||||||||||||||||||||
| get_press_releaseB | Retrieve details of a single BPS Press Release (BRS). | |||||||||||||||||||||||||||||||||||||||||||||
| list_publicationsC | List BPS publications. Publications contain in-depth analysis and statistical reports. | |||||||||||||||||||||||||||||||||||||||||||||
| get_publicationB | Retrieve details of a single BPS publication. | |||||||||||||||||||||||||||||||||||||||||||||
| list_strategic_indicatorsA | List BPS strategic indicators — latest headline data (inflation, economic growth, poverty, unemployment, HDI, exports/imports, etc.). Use this tool for a quick summary of key indicators for a region. Data includes the latest value. For multi-year historical data, use find_data or get_dynamic_data. | |||||||||||||||||||||||||||||||||||||||||||||
| get_trade_dataA | Retrieve foreign trade data (exports/imports) by HS code. Data includes value and volume of Indonesia's trade. | |||||||||||||||||||||||||||||||||||||||||||||
| list_infographicsB | List BPS infographics. Infographics contain easy-to-understand statistical data visualizations. | |||||||||||||||||||||||||||||||||||||||||||||
| get_infographicA | Retrieve details of a single BPS infographic including full description and download link. | |||||||||||||||||||||||||||||||||||||||||||||
| list_census_eventsA | List BPS census activities (Population Census, Economic Census, Agricultural Census, etc.). Use the activity ID to fetch census topics and data. | |||||||||||||||||||||||||||||||||||||||||||||
| list_census_topicsA | List data topics available for a specific census activity. Use list_census_events to get the activity ID. | |||||||||||||||||||||||||||||||||||||||||||||
| list_census_areasA | List available areas/regions for a specific census activity. Use list_census_events to get the activity ID. Returns MFD codes used as wilayah_sensus in get_census_data. | |||||||||||||||||||||||||||||||||||||||||||||
| list_census_datasetsA | List available datasets for a specific census activity and topic. Use list_census_events and list_census_topics first. | |||||||||||||||||||||||||||||||||||||||||||||
| get_census_dataA | Fetch actual census data for a specific activity, area, and dataset. Use list_census_events, list_census_areas, and list_census_datasets first to get the required IDs. | |||||||||||||||||||||||||||||||||||||||||||||
| list_csa_categoriesC | List BPS CSA (Classification of Statistical Activities) categories. CSA is an international statistical activity classification. | |||||||||||||||||||||||||||||||||||||||||||||
| list_csa_subjectsC | List CSA subjects for a given domain and category. | |||||||||||||||||||||||||||||||||||||||||||||
| list_csa_tablesB | List CSA tables for a given domain and subject. | |||||||||||||||||||||||||||||||||||||||||||||
| get_csa_tableA | Retrieve details of a single CSA table (includes table content in HTML format). | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_provincesA | List 7-digit MFD codes for all provinces used in SIMDASI (Sistem Informasi Manajemen Data Statistik Terintegrasi). Use these codes as the 'wilayah' parameter for other SIMDASI tools. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_regenciesA | List 7-digit MFD codes for regencies/cities in a province, used in SIMDASI. Use list_simdasi_provinces to get the parent MFD code. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_districtsA | List 7-digit MFD codes for districts in a regency, used in SIMDASI. Use list_simdasi_regencies to get the parent MFD code. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_subjectsA | List SIMDASI subjects/chapters available for a specific area. Requires a 7-digit MFD wilayah code from list_simdasi_provinces. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_master_tablesB | List all SIMDASI master tables available in the system. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_tablesA | List SIMDASI tables available for a specific area. Requires a 7-digit MFD wilayah code from list_simdasi_provinces. | |||||||||||||||||||||||||||||||||||||||||||||
| list_simdasi_tables_by_subjectA | List SIMDASI tables filtered by area and subject. Requires wilayah (7-digit MFD) and id_subjek from list_simdasi_subjects. | |||||||||||||||||||||||||||||||||||||||||||||
| get_simdasi_tableA | Get detailed data from a SIMDASI table for a specific area and year. Requires wilayah (7-digit MFD), tahun (year), and id_tabel from list_simdasi_tables. | |||||||||||||||||||||||||||||||||||||||||||||
| list_sdgsA | List Sustainable Development Goals (SDGs) indicators from BPS. Optionally filter by goal number (1-17). Each indicator has a var_id that can be used with get_dynamic_data to fetch actual values. Domain is always 0000 (National). | |||||||||||||||||||||||||||||||||||||||||||||
| get_sdgs_dataA | Fetch actual SDGs indicator data for a specific variable. Use list_sdgs first to find the var_id, then call this to get the data values. | |||||||||||||||||||||||||||||||||||||||||||||
| list_sddsA | List Special Data Dissemination Standard (SDDS) indicators from BPS. SDDS covers macroeconomic data following IMF standards. Each indicator has a var_id and model type ('data' or 'statictable') used to fetch actual values. Domain is always 0000 (National). | |||||||||||||||||||||||||||||||||||||||||||||
| get_sdds_dataA | Fetch actual SDDS indicator data. Use list_sdds first to find the var_id and model type. For 'data' model, this fetches dynamic table data. For 'statictable' model, it fetches a static table. | |||||||||||||||||||||||||||||||||||||||||||||
| list_classificationsA | List BPS statistical classification entries by model. Supports KBLI (2009/2015/2017/2020 — business classification based on ISIC) and KBKI (2015 — commodity classification). Use 'level' parameter to filter by hierarchy level. | |||||||||||||||||||||||||||||||||||||||||||||
| get_classificationA | Get detailed information about a specific statistical classification entry by its ID. Use list_classifications first to find the ID. | |||||||||||||||||||||||||||||||||||||||||||||
| list_news_categoriesA | List BPS news categories (e.g., Sensus dan Survey, Statistik Lain). Use the category name as newscat filter in list_news. | |||||||||||||||||||||||||||||||||||||||||||||
| list_newsA | List news from the BPS website. Unlike BRS (Official Statistics News), these are general BPS news items. | |||||||||||||||||||||||||||||||||||||||||||||
| get_newsA | Retrieve details of a single news item from the BPS website. | |||||||||||||||||||||||||||||||||||||||||||||
| get_glossaryA | Get detailed definition of a specific glossary term by its ID. Use list_glossary to find term IDs. | |||||||||||||||||||||||||||||||||||||||||||||
| list_glossaryB | Search terms in the BPS statistical glossary. Useful for understanding definitions and meanings of statistical indicators. | |||||||||||||||||||||||||||||||||||||||||||||
| searchA | Cross-type search across BPS content (static tables, publications, press releases, indicators). When to use this tool:
When NOT to use this tool:
If WebAPI finds no results, it automatically falls back to the AllStats Search Engine. | |||||||||||||||||||||||||||||||||||||||||||||
| allstats_searchA | Search BPS content via AllStats Search Engine (publications, tables, press releases, infographics, microdata, glossary, classifications). IMPORTANT: This tool has high latency due to proxy/scraping. Use the 'search' tool first as it is much faster. Only use this tool if 'search' finds no results. No API key required. | |||||||||||||||||||||||||||||||||||||||||||||
| allstats_deep_searchA | Full-text search inside BPS PDF publications. Returns matching pages with text excerpts. Get publication_id from allstats_search results (deep_search_id field). Unique feature — not available via WebAPI. No API key required. | |||||||||||||||||||||||||||||||||||||||||||||
| find_variableA | Search BPS data variables by keyword. Searches across all relevant subjects. Usage examples:
After getting a var_id from this tool, use get_dynamic_data to retrieve the data. | |||||||||||||||||||||||||||||||||||||||||||||
| find_dataA | Primary AI tool: search and retrieve BPS data in one step. Automatically: detect intent → resolve region → find variable → fetch data. Intent Detection (automatic):
Quick Reference — Common Topics
Strategy:
Examples:
| |||||||||||||||||||||||||||||||||||||||||||||
| compare_dataA | Compare statistical data across regions in one step. Use this tool when the user wants to compare data between 2 or more regions. Note: only supports comparison for 1 year. For multi-year comparison, use get_trend per region. Example user queries suitable for this tool:
| |||||||||||||||||||||||||||||||||||||||||||||
| get_trendA | Retrieve time-series data (multi-year trend) in one step. Use this tool when the user wants to see data trends year over year. Example user queries suitable for this tool:
| |||||||||||||||||||||||||||||||||||||||||||||
| get_rankingA | Retrieve province rankings by a given indicator in one step. Use this tool when the user wants to see rankings, top-N, or comparisons across all provinces. Example user queries suitable for this tool:
| |||||||||||||||||||||||||||||||||||||||||||||
| cache_clearA | Clear BPS data cache. Useful to ensure latest data is fetched directly from the API. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| compare_regions | Template for comparing statistics between regions |
| trend_analysis | Template for multi-year statistical trend analysis |
| poverty_profile | Poverty profile template for a region |
| economic_overview | Template for regional economic overview |
| population_stats | Template for population statistics |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| provinces | Daftar seluruh provinsi di Indonesia beserta kode domain BPS |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/digimetalab/dml-bps-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server