关于 Lokal
Lokal 是为 AI Agent 提供印尼地区、身份、电话、货币和日历数据的 MCP 服务。它还可在本地文件中用稳定占位符遮蔽印尼个人数据,让 Agent 处理生产文件时将真实值保留在本机。
主要功能
- 01验证 NIK、NPWP、电话和 QRIS
- 02查询地区与邮政编码
- 03格式化和解析印尼盾
- 04查询节假日与工作日
- 05遮蔽本地文件中的个人数据
适用场景
- 01验证印尼身份和支付数据
- 02查找地区信息与邮政编码
- 03处理已遮蔽个人数据的生产导出文件
- 04在本地写入结果时还原原始值
MCP 相关
向 MCP 客户端提供印尼数据与文件处理工具。文件工具仅可访问 LOKAL_ROOT,在远程 HTTP 模式下不可用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
13收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| nik | string | 是 | 16 位 NIK;忽略空格和句点 |
详细介绍
@lokal-id/mcp
一款让 AI Agent 适用于印度尼西亚的 MCP 服务:提供准确的 Kemendagri 地区和邮政编码数据、节假日和工作日信息、NIK/NPWP/电话验证、印尼盾,以及 Samaran。借助 Samaran,Agent 可以读取生产环境文件(CSV、Excel、日志),其中的印尼个人数据会被替换为稳定的占位符,随后在本地写入结果并还原真实值。
安装
Claude Code: 安装 Lokal 插件,该插件打包了此服务、技能和 Samaran Guard 钩子:
/plugin marketplace add lokal-id/lokal
/plugin install lokal@lokal
Cursor、Claude Desktop、Windsurf(.cursor/mcp.json、claude_desktop_config.json、~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"lokal": {
"command": "npx",
"args": ["-y", "@lokal-id/mcp"],
"env": { "LOKAL_ROOT": "/path/to/your/project" }
}
}
}
VS Code(.vscode/mcp.json):
{ "servers": { "lokal": { "type": "stdio", "command": "npx", "args": ["-y", "@lokal-id/mcp"] } } }
Codex CLI(~/.codex/config.toml):
[mcp_servers.lokal]
command = "npx"
args = ["-y", "@lokal-id/mcp"]
文件工具只能访问 LOKAL_ROOT,其默认值依次为 CLAUDE_PROJECT_DIR 和工作目录。
工具
| 工具 | 功能 |
|---|---|
parse_nik | 验证并解析 NIK:地区、出生日期、性别 |
validate_npwp | 15 位 NPWP、16 位 NPWP,或作为 NPWP 使用的 NIK |
parse_phone | 规范化号码、显示格式、WhatsApp 链接、运营商 |
parse_qris | 读取并检查 QRIS 负载:商户、NMID、标准、金额、CRC |
set_qris_amount | 将商户的 QRIS 设为指定金额的动态二维码,并生成新的 CRC |
format_rupiah / parse_rupiah | Rp1.500.000、terbilang;将“2jtan”“goceng”转换为数字 |
search_wilayah / list_wilayah | 从省份到村庄的地区信息,含代码和邮政编码 |
lookup_kode_pos | 根据邮政编码查询村庄,或查询某个地区的所有邮政编码 |
list_holidays / working_days | 全国节假日和 cuti bersama(SKB 2026、2027)、SLA 截止日期 |
scan_pii | 按 UU PDP 类别扫描文件和文件夹中的个人数据;报告无法扫描的文件 |
read_file_masked | 读取文件(文本、CSV、JSON、日志、.xlsx、.docx、文本型 PDF),并将个人数据替换为占位符 |
write_file_unmasked | 在你的计算机上写入结果,并还原占位符 |
anonymize_file | 复制转储文件和导出文件,将每个人替换为逼真的替身(Kembaran),仅返回计数 |
Samaran Guard
lokal-mcp guard 是适用于 Claude Code(UserPromptSubmit,以及针对 Read|Grep|Bash|PowerShell 的 PreToolUse)、Codex CLI、Cursor 和 Gemini CLI 的钩子。它会拦截包含 NIK、银行账户或健康数据的提示词,阻止会将个人数据文件打印到对话中的命令,并引导 Agent 改用 read_file_masked;读取证件照片和扫描版 PDF 前也会先询问。Lokal 插件会为 Claude Code 设置该功能;其他 Agent 的配置请参阅 Lokal README。
Kembaran
lokal-mcp kembaran prod.sql export.csv -o staging/ [--secret <text>] [--keep FINANCIAL] [--keep-birth-date] 会复制文本文件,将其中的每个人替换为逼真的替身,并确保这些替身在所有文件中保持一致。请参阅 Lokal README。
Lokal Scan
lokal-mcp scan --staged(提交前)或 lokal-mcp scan --diff origin/main(CI)会在提交或拉取请求加入印尼个人数据时失败,并显示部分遮蔽后的各项数据。lokal-mcp scan [path…] 会检查整个文件。另有 GitHub Action:uses: lokal-id/[email protected]。请参阅 Lokal README。
远程(HTTP)模式
lokal-mcp serve --http --port 3000 会通过 /mcp 上的 Streamable HTTP 提供数据工具,供 ChatGPT 和 Claude.ai 连接器使用。此模式下无法使用文件工具。
Samaran 代理
lokal-mcp proxy 是一个兼容 OpenAI 和 Anthropic 的应用端点:它会屏蔽每个请求中的印度尼西亚个人数据,并在响应中还原,包括流式传输和工具调用。
npx @lokal-id/mcp proxy --port 8787 [--openai <url>] [--anthropic <url>] [--exclude FINANCIAL]
然后使用 OpenAI(base_url="http://127.0.0.1:8787/v1") 或 Anthropic(base_url="http://127.0.0.1:8787")。请参阅 Lokal README。
许可证
MIT。该库为 @lokal-id/core。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。