mcpField
L
Lokal

Lokal

本地服务
github.com开发工具0今天更新

关于 Lokal

Lokal 是为 AI Agent 提供印尼地区、身份、电话、货币和日历数据的 MCP 服务。它还可在本地文件中用稳定占位符遮蔽印尼个人数据,让 Agent 处理生产文件时将真实值保留在本机。

主要功能

  1. 01验证 NIK、NPWP、电话和 QRIS
  2. 02查询地区与邮政编码
  3. 03格式化和解析印尼盾
  4. 04查询节假日与工作日
  5. 05遮蔽本地文件中的个人数据

适用场景

  1. 01验证印尼身份和支付数据
  2. 02查找地区信息与邮政编码
  3. 03处理已遮蔽个人数据的生产导出文件
  4. 04在本地写入结果时还原原始值

MCP 相关

向 MCP 客户端提供印尼数据与文件处理工具。文件工具仅可访问 LOKAL_ROOT,在远程 HTTP 模式下不可用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"lokal-id-lokal": {
"command": "npx",
"args": [
"-y",
"@lokal-id/mcp"
],
"env": {
"LOKAL_ROOT": "<LOKAL_ROOT>"
}
}
}
}
启动命令npx -y @lokal-id/mcp
需要配置的环境变量
LOKAL_ROOTFolder the file tools (scan_pii, read_file_masked, write_file_unmasked) may access. Defaults to the working directory.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@lokal-id/mcp0.8.3

工具

13

收录的工具列表 · 更新于 今天

参数类型必填说明
nikstring是16 位 NIK;忽略空格和句点

详细介绍

@lokal-id/mcp

npm License: MIT

一款让 AI Agent 适用于印度尼西亚的 MCP 服务:提供准确的 Kemendagri 地区和邮政编码数据、节假日和工作日信息、NIK/NPWP/电话验证、印尼盾,以及 Samaran。借助 Samaran,Agent 可以读取生产环境文件(CSV、Excel、日志),其中的印尼个人数据会被替换为稳定的占位符,随后在本地写入结果并还原真实值。

属于 Lokal · 印度尼西亚语

安装

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_npwp15 位 NPWP、16 位 NPWP,或作为 NPWP 使用的 NIK
parse_phone规范化号码、显示格式、WhatsApp 链接、运营商
parse_qris读取并检查 QRIS 负载:商户、NMID、标准、金额、CRC
set_qris_amount将商户的 QRIS 设为指定金额的动态二维码,并生成新的 CRC
format_rupiah / parse_rupiahRp1.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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。