Refnusa

dev.refnusaPublished by refnusa.devOfficial publisherv0.2.0Updated Oct 25, 2026

Indonesia reference data: holidays, wages, regions, postal codes, tax, food prices, KBLI, BPS stats

VerifiedStreamable HTTPWeb executable

Overview

Refnusa's hosted MCP server (refnusa.dev), published by refnusa.dev; no sign-in required; Streamable HTTP; 33 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
refnusa.dev
Endpoint
refnusa.dev
Last checked

Installation

In SourceWeft

  1. Open Refnusa in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.refnusa%2Frefnusa/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "refnusa": {
      "type": "http",
      "url": "https://refnusa.dev/mcp"
    }
  }
}

Tools

33

list_datasets

Coverage and status of every dataset: status, row count, source instrument, effective date, publisher, official source URL, last check, data period, cadence, maximum age, next expected update, and the catalogue page. The licence, caveat and fallback fields are Indonesian text.

Takes no parameters.

get_holidays

Public holidays (libur nasional) and joint leave days (cuti bersama) for one year, from that year's SKB 3 Menteri decree.

Parametersyearrequired

check_holiday

Whether one date is a public holiday or cuti bersama, with the decree it was checked against. Weekends count only when the decree names them.

Parametersdaterequired

get_ump

Provincial minimum wage (UMP) for one year (default: the newest loaded), all provinces or one province. For 2026, 29 provinces cite the governor decree and 9 the BPS table; 1997 to 2025 rows cite the BPS yearly table (2017 and Jawa Barat 2016: BPS Statistik Indonesia 2018, Tabel 3.2.23).

Parametersyearprovince_code

get_ump_history

Every loaded year of the provincial minimum wage (UMP) for one province, oldest first, each row with its source (governor decree or BPS table) and URL. 1997 to 2026. Without province_code: the same rows for all provinces in one response, ordered by province then year (for charts and bulk analysis).

Parametersprovince_code

get_umk

Regency or city minimum wage (UMK) for one year. With regency_code: that kabupaten/kota (default year: its newest). Without it: every kabupaten/kota with a confirmed figure for the year (default: the newest loaded), in one response, optionally limited to one province_code.

Parametersyearregency_codeprovince_code

get_umk_history

Every loaded year of the regency or city minimum wage (UMK) for one kabupaten/kota, oldest first, each row with its source instrument and URL: a governor decree, or for some regions the open-data portal of the regional government (source_instrument then starts with Portal and notes that the dataset has no decree number). Covers Jawa Barat 2023 to 2026, Jawa Tengah 2022 to 2026, Jawa Timur 2024 to 2026, a few Riau and Bali regions for 2024, Kalimantan Barat (2019, 2022, 2025), Banten (2020 to 2024), seven Sumatera Selatan regions (2024), five Kalimantan Timur regions (Berau, Kutai Barat, Kutai Timur, Penajam Paser Utara, Samarinda), six Magelang-area regions 2014 to 2020, Kota Tegal 2021 and Rembang (2010, 2019). Where no decree or portal row exists, BPS provincial tables fill in (source_instrument then starts with BPS table, one amount per year, no decree number or effective date): Sumatera Utara 2015 to 2024, Kepulauan Riau 2016 to 2025, Jawa Tengah 2017 to 2021, Banten 2014 to 2019, Nusa Tenggara Timur 2016 to 2025 (not 2019), Lampung 2017 to 2025, DI Yogyakarta 2016 to 2025, plus UMK 2026 for Nusa Tenggara Timur and 12 Lampung regions.

Parametersregency_coderequired

get_wilayah

Administrative regions: the 38 provinces, the children of one parent code, or one region by code.

Parameterscodelevelparent_code

get_postal_code

Postal codes of one kelurahan or desa by its wilayah code.

Parameterswilayah_coderequired

reverse_postal_code

Regions (kelurahan or desa) that carry one postal code.

Parameterspostal_coderequired

get_pph21_ter

PPh 21 effective average rate (TER) bracket for a monthly gross income and TER category A, B or C, per PP 58/2023.

Parameterscategoryrequiredincome_idrrequired

get_ptkp

Annual non-taxable income (PTKP) for a taxpayer status such as TK/0 or K/1.

Parametersstatusrequired

get_prayer_times

Prayer times for one kabupaten/kota and date, computed by a documented hisab method; not an official Kemenag feed.

Parametersdaterequiredcity_coderequired

get_bpjs_rates

BPJS contribution rates as a percent of monthly wage, per program (JHT, JP, JKK, JKM, JKP, JKN), with the decree behind each rate. JKK serves the PP 6/2025 bands; the 2026 JP wage cap is Rp10.547.400 (the BPJS article 18913 says Rp10.547.000, see the row note).

Parametersstatusprogram

get_bank_codes

Three-digit bank codes (Sandi Bank) of the commercial and sharia banks on the OJK head-office list of June 2026, by code or by part of the bank name; no argument lists all 105.

Parameterscodename

get_fuel_prices

Retail price per litre of the subsidised and special-assignment fuels (Solar, minyak tanah, RON 90) from Kepmen ESDM 218.K/MG.01/MEM.M/2022. Non-subsidised fuels are not included.

Parametersfuel

list_food_commodities

The 10 staple food groups and their 21 items that PIHPS Nasional (Bank Indonesia) reports per province, with code, Indonesian and English name, unit (Rp/kg), the markets (tradisional, modern) that have a price on the newest day, and for the groups the first and last month of the monthly series.

Takes no parameters.

get_food_prices_latest

Latest PIHPS Nasional (Bank Indonesia) price of a staple food per province, in Rp/kg, on the newest observation day, plus PIHPS national averages. Covers the 10 groups and 21 items. Without market you get one row per province and commodity: the traditional-market (tradisional) price when it exists, otherwise the modern-market price; each row names its market and day. Traditional markets report for fewer provinces than modern ones. Pass market for one market only. Filter by commodity, province and market. With month (YYYY-MM): the monthly series price instead, for the 10 groups in traditional markets only.

Parametersmonthmarketcommodityprovince_code

get_food_price_series

Monthly PIHPS Nasional (Bank Indonesia) price series, in Rp/kg, for one province and one staple food from May 2017; each point is the price on the first day of the month with data (observed_on). Optional from and to months.

Parameterstofromcommodityrequiredprovince_coderequired

get_passport_fees

Imigrasi PNBP fees from PP 45/2024: passport (biasa 5 and 10 years, electronic and non-electronic, SPLP, same-day service) and visa kunjungan (single and multiple trip). Government fee only.

Parameterscategoryfee_code

search_kbli

Search the KBLI 2020 business-field classification (Peraturan BPS 2/2020) by part of the title or a code prefix, optionally one of its five levels (kategori, golongan_pokok, golongan, subgolongan, kelompok). Returns code, level, parent and title; fetch one code for its description.

Parametersqlevellimit

get_kbli

One KBLI 2020 entry by code (a letter A to U, or 2, 3, 4 or 5 digits) with its description, its ancestors up to the kategori and its children.

Parameterscoderequired

get_tax_rates

Tax and duty rates, each with its decree: PPN 12% and the 11/12 DPP (PMK 131/2024), Bea Meterai tariff and threshold (UU 10/2020), and the domestic cukai hasil tembakau table (PMK 97/2024 Lampiran I).

Parameterscategoryrate_code

get_ojol_tariffs

Ride-hailing motorbike fare limits per zone (per-km lower and upper bound, minimum fare for the first 4 km) from KP 667/2022. A 2026 decision may supersede it; see the dataset note.

Parameterszone_code

get_zakat

BAZNAS RI 2026 zakat figures: fitrah (SK 14/2026) and the nisab and rate of zakat penghasilan dan jasa (SK 15/2026).

Parameterscategoryzakat_code

get_het_prices

Harga eceran tertinggi: beras medium and premium by wilayah (Keputusan Kepala Bapanas 299/2025, 22 Aug 2025) and LPG 3 kg in Jawa Timur (Kepgub 801/2024).

Parametersregioncommodity

list_stat_indicators

Regional statistics from BPS tables: the indicator ids with unit, level (province or kabupaten/kota), every period available, source table and caveats. Includes unemployment (TPT), poverty and poverty lines, HDI (IPM), wages, population, GRDP per capita, life expectancy and monthly inflation and CPI (inflation_mom, inflation_yoy, inflation_ytd, cpi for provinces; inflation_yoy_regency for CPI cities; periods YYYY-MM from 2024-01, base 2022=100). Start here, then call get_stat_values or get_stat_series.

Takes no parameters.

get_stat_values

One BPS indicator for one period across all regions in a single call (for a map), plus the national figure. Period is YYYY or YYYY-MM as listed by list_stat_indicators; omit it for the latest. A bare year on a semester indicator resolves to the latest period in that year.

Parametersperiodindicatorrequired

get_stat_series

The time series of one BPS indicator for one region: a province (2 digits), a kabupaten/kota (5 characters like 32.73, hdi_regency and inflation_yoy_regency only) or 00 for Indonesia.

Parametersindicatorrequiredregion_coderequired

get_fao_indonesia

FAOSTAT series for Indonesia: undernourishment, food insecurity, dietary energy and protein supply, and the supply of main staples (rice, wheat, maize, cassava, sugar, vegetable oils, soyabeans, poultry, eggs, fish). FAO methodology and population estimates, not comparable with BPS figures. Call without series for the list, then with series for the values.

Parametersseries

validate_nik

Checks the structure of a 16-digit NIK and looks up its region digits in the wilayah table. Send the NIK in the JSON body; it is never logged.

Parametersnikrequired

validate_plate

Checks the format of an Indonesian vehicle plate and names the region of its prefix when the prefix table is loaded.

Parametersplaterequired

calculate_net_salary

Estimated take-home pay from a monthly gross salary: worker BPJS deductions (JHT, JP, JKN), PPh 21 by the PP 58/2023 TER table or the December annual recalculation, and the employer's own contributions, each line with its decree. Give gross, or regency_code to use that kabupaten/kota UMK. An estimate; the employer payslip decides.

Parametersjpjknptkprequiredgrossmonthjp_capjkk_bandregency_codejkn_employer_taxable

Version history

1
  1. v0.2.0LatestOct 18, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.