rupiah-mcp
by gizipp
README.md
# rupiah
[](https://badge.fury.io/js/rupiah)
[](https://github.com/gizipp/rupiah/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
Indonesian Rupiah toolkit. Format, parse, abbreviate, and convert numbers to Indonesian words (terbilang).
**AI-agent ready** with MCP (Model Context Protocol) support.
## Installation
```bash
npm install rupiah
```
## Quick Start
```typescript
import { format, parse, short, words } from 'rupiah'
// Format as Rupiah
format(1500000) // "Rp 1.500.000"
format(1500000, { dot: ',' }) // "Rp 1,500,000"
format(1500000, { symbol: false }) // "1.500.000"
// Parse Rupiah string
parse("Rp 1.500.000") // 1500000
parse("1.500.000") // 1500000
// Short abbreviation
short(1500000) // "Rp 1,5jt"
short(2500000000) // "Rp 2,5M"
short(1500000000000) // "Rp 1,5T"
// Terbilang (number to Indonesian words)
words(1500000) // "satu juta lima ratus ribu"
words(1234567890) // "satu miliar dua ratus tiga puluh empat juta..."
```
## API
### `format(amount, options?)`
Format a number as Indonesian Rupiah.
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `dot` | string | `"."` | Thousand separator |
| `decimal` | string | `","` | Decimal separator |
| `symbol` | boolean | `true` | Include "Rp" prefix |
| `precision` | number | `0` | Decimal places |
### `parse(text)`
Parse a Rupiah string to number. Removes "Rp", spaces, and thousand separators.
### `short(amount, options?)`
Format as short abbreviation (rb, jt, M, T).
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `precision` | number | `1` | Decimal places |
| `symbol` | boolean | `true` | Include "Rp" prefix |
### `words(amount)`
Convert a number to Indonesian words (terbilang).
## MCP (AI Agent Support)
This package includes an MCP server for AI agent integration.
### Claude Desktop / Cursor / Any MCP Client
Add to your MCP config:
```json
{
"mcpServers": {
"rupiah": {
"command": "npx",
"args": ["-y", "rupiah-mcp"]
}
}
}
```
### Available MCP Tools
| Tool | Description | Example |
|------|-------------|---------|
| `format_rupiah` | Format number as Rupiah | `1500000` → `Rp 1.500.000` |
| `parse_rupiah` | Parse Rupiah string to number | `Rp 1.500.000` → `1500000` |
| `terbilang` | Number to Indonesian words | `1500000` → `satu juta lima ratus ribu` |
| `short_rupiah` | Short abbreviation | `1500000` → `Rp 1,5jt` |
### Programmatic MCP Usage
```typescript
import { server } from 'rupiah/mcp'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
const transport = new StdioServerTransport()
await server.connect(transport)
```
## Related
- [nik-parser.rb](https://github.com/gizipp/nik-parser.rb) — Indonesian identity toolkit (Ruby)
- [isbn-toolkit](https://github.com/gizipp/isbn-toolkit-ruby) — ISBN toolkit (Ruby, JS, PHP)
- [awesome-indonesian-dev-tools](https://github.com/gizipp/awesome-indonesian-dev-tools) — Curated list
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues