MCP.Market

Indonesia Civic Stack MCP server

by suryast·io.github.suryast/indonesia-civic-stack·v0.1.1·11 stars

40 MCP tools for 11 Indonesian government portals — BPOM, BPJPH, AHU, OJK, BMKG+

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

11 stars30 downloads/wk

Reviews

Write one

Nobody has reviewed Indonesia Civic Stack yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Indonesia Civic Stack tools (43)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • __init__
  • check_bpom

    Look up a BPOM product registration by registration number.

  • check_halal_cert

    Look up a BPJPH halal certificate by certificate number.

  • check_ojk_license

    Check if a financial institution is licensed by OJK.

  • check_ojk_waspada

    Check if an entity is on OJK's Waspada Investasi (investment alert) list.

  • compare_lhkpn
  • cross_reference_halal_bpom

    Cross-reference a product between BPJPH (halal cert) and BPOM (registration).

  • get_bmkg_alerts
  • get_bpom_status

    Get the registration status of a BPOM product (lighter than check_bpom).

  • get_bps_indicator
  • get_campaign_finance_kpu

    Get SILON campaign finance report for a KPU candidate.

  • get_candidate

    Get a KPU candidate profile by name or ID.

  • get_company_directors

    Get the directors (Direksi) and commissioners (Dewan Komisaris) of a company.

  • get_earthquake_history
  • get_election_results_kpu

    Get SIREKAP real-time election results for a region.

  • get_halal_status

    Get halal certification status for all products of a company.

  • get_latest_earthquake

    Get the most recent significant earthquake recorded by BMKG.

  • get_lhkpn
  • get_lhkpn_pdf
  • get_lpse_portals

    List all LPSE portals monitored by this module.

  • get_ojk_status

    Get OJK license status for an institution (lighter than check_ojk_license).

  • get_weather
  • get_weather_forecast
  • list_bps_regions
  • list_simbg_portals

    List available SIMBG regional portals.

  • lookup_building_permit

    Look up a building permit (PBG) by ID on SIMBG (simbg.pu.go.id).

  • lookup_company_ahu

    Look up a company in the AHU (Kemenkumham) company registry.

  • lookup_halal_by_product

    Search for halal certificates by product name or company name.

  • lookup_nib

    Look up a business by company name in OSS RBA (NIB registry).

  • lookup_vendor_lpse
  • search_bpom

    Search the BPOM product registry by product name or keyword.

  • search_bps_datasets
  • search_companies_ahu

    Search AHU company registry by keyword.

  • search_kpu_candidates

    Search KPU candidate registry by name.

  • search_lhkpn
  • search_lpse_tenders
  • search_lpse_vendors
  • search_ojk_institutions

    Search OJK licensed institution registry by keyword.

  • search_oss_businesses

    Search OSS business registry by company name keyword.

  • search_permits_by_area

    Search building permits by area, project name, or applicant.

  • serialize_error

    Serialize an exception into a CivicStackResponse-shaped dict for MCP tool error returns.

  • verify_company_status

    Verify the legal status of a company registered in AHU.

  • verify_nib

    Verify a NIB (Nomor Induk Berusaha) number and return its status.

Public scan report

scanner v0.1.10 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan157 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 16 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Indonesia Civic Stack compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 65% of 48,255 servers
Tools
43
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
11
more than 88% of 28,688 servers
Downloads a week
30
more than 18% of 12,191 servers with a package

What its tools let an agent do: 43 read

Install Indonesia Civic Stack in Claude Code, Cursor or VS Code

claude mcp add indonesia-civic-stack -- uvx indonesia-civic-stack
Add to Cursor

What the publisher says

From the Indonesia Civic Stack repository's README, as published. We do not edit it. Read it on GitHub

🇮🇩 indonesia-civic-stack

<!-- mcp-name: io.github.suryast/indonesia-civic-stack -->

Production-ready scrapers, normalizers, and API wrappers for Indonesian government data sources.

The infrastructure layer beneath halalkah.id, legalkah.id, and a public good for the Indonesian civic tech and developer community.

Why

Indonesian public data is nominally open but practically inaccessible. Every developer building civic tooling re-solves the same scraping problems independently: BPOM product registrations, BPJPH halal certificates, AHU company records. Scrapers bit-rot within months as portals change. There is no shared, maintained layer.

This repo is that layer. One pip install to query Indonesian government portals — no more bespoke scrapers.

AI-Agent First

This SDK is designed for both humans and AI agents:

  • 🤖 46 MCP tools — plug into Claude, GPT, or any MCP-compatible agent
  • 📋 SKILL.md — AI agent skill discovery (AgentSkills format)
  • 🧑‍💻 AGENTS.md — architecture guide for coding agents (Claude Code, Codex, Cursor)
  • 📝 CLAUDE.md — Claude Code-specific instructions
  • ✅ Typed responses — CivicStackResponse envelope, never raw dicts
  • 🔁 Consistent patterns — every module follows the same contract

Architecture

graph TB
    subgraph "Your App"
        A[halalkah.id] 
        B[legalkah.id]
        C[Your Project]
    end

    subgraph "civic-stack"
        SDK[Python SDK]
        MCP[MCP Servers]
        API[REST API]
        
        subgraph "Shared Layer"
            SC[shared/schema.py<br/>CivicStackResponse]
            HC[shared/http.py<br/>Rate limiting · Retries · Proxy]
        end

        subgraph "Phase 1"
            BPOM[bpom<br/>Food & Drug]
            BPJPH[bpjph<br/>Halal Certs]
            AHU[ahu<br/>Company Registry]
        end

        subgraph "Phase 2"
            OJK[ojk<br/>Financial Licenses]
            OSS[oss_nib<br/>Business ID]
            LPSE[lpse<br/>Procurement]
            KPU[kpu<br/>Elections]
        end

        subgraph "Phase 3"
            LHKPN[lhkpn<br/>Wealth Declarations]
            BPS[bps<br/>Statistics]
            BMKG[bmkg<br/>Weather & Disasters]
            SIMBG[simbg<br/>Building Permits]
        end
    end

    subgraph "Government Portals"
        P1[cekbpom.pom.go.id]
        P2[sertifikasi.halal.go.id]
        P3[ahu.go.id]
        P4[ojk.go.id]
        P5[oss.go.id]
        P6[lpse.*.go.id]
        P7[infopemilu.kpu.go.id]
 

Request Flow

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Indonesia Civic Stack: common questions

Is Indonesia Civic Stack MCP server safe?
Mostly: it is graded B (83/100). Read the Indonesia Civic Stack safety report
How do I install Indonesia Civic Stack?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Indonesia Civic Stack need an API key?
Yes. The registry entry asks for BPS_API_KEY.
Is Indonesia Civic Stack maintained?
The last commit was 54 days ago (2026-09-11). The latest release is v0.1.1.
How does Indonesia Civic Stack compare with other MCP servers?
safety score 83/100 (higher than 65% of 48,255 servers); tools 43 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.