indotender
IndoTender MCP Connect your AI assistant to IndoTender — Indonesian government procurement data via the Model Context Protocol.
What it can do
- Indonesia Search Tenders: List Indonesian government procurement tenders from LPSE website. (paginated). Use this to find tender rows before calling Indonesia.get_tender. Filters are ANDed; winner sup
- Indonesia Get Tender: Fetch one Indonesian LPSE tender by primary key id (string). Returns a single JSON object: core tender fields, applicants array (each with linked lpse_company and area when prese
- Indonesia Search Companies: Fuzzy name search for Indonesian LPSE procurement participants (tender winners), sorted by total value won by default. Use for procurement/tender questions. For the global
What data it sees
Do you need an account
No: the server works without sign-in
IndoTender MCP
Connect your AI assistant to IndoTender — Indonesian government procurement data via the Model Context Protocol.
Search LPSE tenders, procurement realisasi, BPS trade statistics, company profiles, treasury payments, and government agency directories — all from your AI chat.
Connect
https://indotender.com/mcp
Add this URL as a custom MCP connector in Claude, Cursor, or any MCP-compatible client. Sign in with Google when prompted.
- Transport: Streamable HTTP
- Auth: Google OAuth (sign in once, stays authorized)
- Docs: indotender.com/mcp/connect
Tools
LPSE Tenders
| Tool | Description |
|---|---|
Indonesia_search_tenders |
Search Indonesian government tenders from LPSE with filters: winner, agency, date range, value |
Indonesia_get_tender |
Full tender detail by id — parties, applicants, and attachments |
Indonesia_search_companies |
Fuzzy search LPSE-registered companies by name |
Indonesia_get_company |
Full procurement profile for a company by NPWP — recent wins, totals |
Indonesia_top_winners_by_lpse |
Rank companies by value won on a specific LPSE portal |
Inaproc / SAKTI
| Tool | Description |
|---|---|
Inaproc_search_instansi |
Search government agencies (kementerian, lembaga, provinsi, kabupaten) |
Inaproc_search_satker |
Search work units (satker) by name, optionally scoped to an agency |
Inaproc_search_realisasi |
Search procurement packages (realisasi pengadaan) by agency or vendor |
Inaproc_top_vendors |
Rank vendors by total contract value won from an agency or work unit |
Inaproc_search_pembayaran |
Search SP2D treasury payment records from SAKTI |
BPS — Trade statistics
Official Indonesian import/export aggregates from BPS dataexim. Values in IDR; net weight in kg.
| Tool | Description |
|---|---|
Bps_search_hs_codes |
Search HS code reference — filter by code prefix (2/4/6/8 digits) and/or product name keyword |
Bps_search_trade |
Paginated trade lines — filter by year, month, flow (export/import), HS code, partner country, port of discharge |
Bps_aggregate_trade |
Aggregate trade by dimensions (country, year, HS code, etc.) — e.g. top export partners for a commodity |
Company Registry
| Tool | Description |
|---|---|
Company_search |
Search the global company registry by name or id |
Company_extended_search |
Advanced search with filters on industry, capital, incorporation date, country |
Company_get_by_id |
Full company profile by id |
Example prompts
- "Which companies won the most tenders from the Ministry of Health in 2024?"
- "Search LPSE tenders for construction projects over 10 billion rupiah"
- "What tenders has PT Waskita Karya won recently?"
- "Show me SP2D payments from the Ministry of Finance in Q1 2024"
- "Find all government agencies (instansi) related to education"
- "Which countries import rice from Indonesia in 2024?"
- "Aggregate Indonesian coffee exports by destination country for 2024"
- "Search BPS HS codes for palm oil"
How to connect
How to connect indotender to Claude
The server address to paste into Claude settings:
https://indotender--indotender.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect indotender to ChatGPT
The server address to paste into ChatGPT settings:
https://indotender--indotender.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect indotender to Cursor
The server address to paste into Cursor settings:
https://indotender--indotender.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (16)
Raw names from tools/list. Only developers need these.
| Indonesia_search_tenders | List Indonesian government procurement tenders from LPSE website. (paginated). Use this to find tender rows before calling Indonesia.get_tender. Filters are ANDed; winner supports semicolon-separated alternatives. Response includes total count and page of tender rows. Use Indonesia.get_tender with a returned id for full detail, applicants, and files. |
| Indonesia_get_tender | Fetch one Indonesian LPSE tender by primary key id (string). Returns a single JSON object: core tender fields, applicants array (each with linked lpse_company and area when present), and file attachment metadata. Use after Indonesia.search_tenders to drill into one row, or when the user already has the tender id from a URL or document. |
| Indonesia_search_companies | Fuzzy name search for Indonesian LPSE procurement participants (tender winners), sorted by total value won by default. Use for procurement/tender questions. For the global company registry (any country), use Company_search instead. Pass a resulting companyId to Indonesia_get_company for LPSE wins, or Company_get_by_id for the full registry profile. |
| Indonesia_get_company | LPSE procurement profile for one Indonesian companyId — not the general registry lookup. Returns: lpse_company summary, matching registry row if any, and up to 20 recent tenders won. For officers/enrichment, trade, court, BPOM, and other linked datasets, use Company_get_by_id instead. Resolve companyId via Indonesia_search_companies or Company_search first. |
| Indonesia_top_winners_by_lpse | Rank companies by how much they won on one LPSE procurement portal (single lpse slug from the tender directory). Use for questions like: top companies winning tenders by the Police or Jakarta Government in 2023–2024. Each row is one winner companyId aggregated across awarded packages on that portal. Requires a year filter: either year (one year) or both yearFrom and yearTo (inclusive range). Optional sortBy: totalValue (default) or tenderCount. Masked NPWPs (* in field) are excluded. |
| Inaproc_search_instansi | Search Indonesian government agencies (instansi) by name. Returns id, name, and type (Kementerian, Lembaga, Provinsi, Kabupaten, Kota). Use the returned id as agency_id in other Inaproc tools. |
| Inaproc_search_satker | Search Indonesian government work units (satker) by name. Optionally filter by agency_id to narrow results to one instansi. Returns satker id (6-digit code), name, and agency_id. |
| Inaproc_search_realisasi | Search Indonesian government procurement packages (realisasi pengadaan). Results are sorted by total_value descending. Use agency_id (from Inaproc_search_instansi) or work_unit_id (from Inaproc_search_satker) to narrow scope. Vendor name's internal business id is called companyId |
| Inaproc_top_vendors_by_packages | Rank vendors by total procurement package value (realisasi) from an instansi or satker. Useful for: "which companies won the most contracts from the Ministry of Health in 2024?" Returns vendor_name, total_value (IDR), and package_count. For actual SP2D disbursements use Inaproc_top_vendors_by_payments. |
| Inaproc_top_vendors_by_payments | Rank vendors by total SP2D payment value (pembayaran) from an instansi or satker. Useful for: "which companies received the most treasury disbursements from the Ministry of Finance in 2024?" Returns vendor_name, total_value (IDR), and package_count (payment record count). Only available at national level — don't use for regional/daerah agencies. For committed contract values use Inaproc_top_vendors_by_packages. |
| Inaproc_search_pembayaran | Search SP2D payment records (pembayaran) from Inaproc. Use to verify actual disbursements vs committed contract values. Only available at national level. Don't use this tool for regional level. |
| Bps_search_hs_codes | Search BPS HS code reference rows (findMany). Filter by id (8 digits exact, 2/4/6 prefix) and/or name keyword. take controls max rows (1–100, default 25). |
| Bps_search_trade | Paginated BPS trade lines (findMany). Filter by year, month, flow (export/import), hs_code (8 digits exact, 2/4/6 prefix), country, pod. Values are in USD; netweight in kg. Official Indonesia BPS dataexim aggregates. |
| Bps_aggregate_trade | Aggregate BPS trade by one or more dimensions (groupBy). group_by: hsCode, year, month, country, pod, flow (up to 3). Same filters as Bps_search_trade. Values are in USD; netweight in kg. hs_digits buckets hsCode to 2/4/6/8 digits after grouping. Examples: - group_by [country], hs_code 0901, year 2024, flow export → top coffee export partners - group_by [hsCode], year 2024, flow import, country China → top imports from China |
| Bpom_search | Search Indonesian BPOM product registrations (food, drug, cosmetic approvals). Filter by productName, productRegister, productBrands, applicant, applicantNpwp (company id prefix stripped), category, status, or class. Filters are ANDed. Returns paginated full rows sorted by productDate desc by default. |
| KomdigiPse_search | Search Indonesian Komdigi PSE (Penyelenggara Sistem Elektronik) registrations. Filter by domain, systemName, registrationNumber, providerName, status, companyId, or isDomestic. Filters are ANDed. Returns up to limit rows sorted by registered_date desc by default. |