@sampuli/mcp
Generate format-true synthetic test data for 90 countries — right inside your AI assistant.
A Model Context Protocol server for Sampuli. Ask Claude, Cursor, Copilot or any MCP client to "generate 50 German customers with valid IBANs" and get data back inline — national IDs, tax numbers, IBANs, SWIFT/BIC, payment cards, phone numbers and full KYC records, each correct for its own country and passing real validators (IBAN mod-97, card Luhn, …).
Entirely synthetic: real formats, never real or registered data. Same engine as the @sampuli/data npm package and sampuli.site.
Tools
sampuli_list_countries | List all 90 countries and their codes |
sampuli_describe_country | A country's fields and preset scenarios |
sampuli_generate | Generate data — spec, count, fields, seed, format |
spec is <country>.<selector>, where the selector is a field key (ke.phone), person for a full record (de.person), or preset:<key> for a scenario (ke.preset:kyc).
Install
No install needed — npx runs it on demand.
Claude Desktop / Claude Code
Add to your MCP config (claude_desktop_config.json, or .mcp.json in a project):
{
"mcpServers": {
"sampuli": {
"command": "npx",
"args": ["-y", "@sampuli/mcp"]
}
}
}
Cursor
~/.cursor/mcp.json (or Settings → MCP → Add):
{
"mcpServers": {
"sampuli": { "command": "npx", "args": ["-y", "@sampuli/mcp"] }
}
}
Restart the client, then ask it to generate test data.
Try it
"List every country Sampuli supports."
"Generate 100 Nigerian people with name, phone and BVN as CSV."
"Give me one UK IBAN and one German test card number."
"Generate a Kenyan KYC scenario."
Prefer a URL or an install?
- REST API (no key):
curl https://sampuli.site/api/v1/ke/person?n=100
- npm:
npm i @sampuli/data
- Browser: sampuli.site
License
MIT