Servidor MCP

Sampuli

io.github.kevinbett/sampuli
Herramientas para desarrolladores Público y accesible MCP 2025-11-25

Qué hace este MCP

Generates format-valid synthetic country-specific identity, banking, payment, contact, and custom-schema test data that is not real or registered.

sampuli_describe_country
Describe a country
List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country'], 'properties': {'country': {'type': 'string', 'description': 'ISO code, e.g. "ke", "de", "us", "ng".'}}, 'additionalProperties': False}
sampuli_fetch
Fetch data by plain-language request
Fetch synthetic test data from a natural request when you don't know the exact spec — e.g. "a SWIFT code for China", "Kenya phone number", "German passport", "a Nigerian BVN". Sampuli resolves the country and field for you (China→cn, "SWIFT code"→swift) and generates a format-true value. Prefer sampuli_generate when you already have a spec like "cn.swift".
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'seed': {'type': 'string', 'description': 'Reproducible output.'}, 'count': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'How many (omit for one).'}, 'query': {'type': 'string', 'description': 'Plain-language request, e.g. "a SWIFT code for China", "UK IBAN", "India GSTIN".'}, 'format': {'enum': ['json', 'csv'], 'type': 'string', 'description': 'Output format (default json).'}}, 'additionalProperties': False}
sampuli_generate
Generate synthetic test data
Generate format-true, entirely synthetic test data for a country. spec is "<country>.<selector>" where selector is a field key ("phone"), "person" (a full coherent record), or "preset:<key>" (a scenario). Values match each country's real formats and pass validators (IBAN mod-97, card Luhn, …) but are never real or registered.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['spec'], 'properties': {'seed': {'type': 'string', 'description': 'Reproducible output â\x80\x94 same seed, same data.'}, 'spec': {'type': 'string', 'description': 'e.g. "ke.person" (core fields), "ke.full" (every field incl. card/passport/income), "de.iban", "ng.phone", "ke.company", "ke.product", "ke.preset:kyc".'}, 'count': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'How many rows (omit for one).'}, 'fields': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string', 'const': 'all'}], 'description': 'Which fields for a person record, or "all".'}, 'format': {'enum': ['json', 'csv'], 'type': 'string', 'description': 'Output format (default json).'}}, 'additionalProperties': False}
sampuli_list_countries
List Sampuli countries
List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
sampuli_list_types
List generic field types
List the country-agnostic generic types (uuid, enum, int, float, date, vin, isbn, imei, mac, email, …) usable in a custom schema or as "any.<type>".
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
sampuli_schema
Generate a custom dataset
Generate rows from a custom schema, mixing generic types and country-accurate fields. Each field has a name and a type — a generic type ("uuid", "int:0,500", "enum:free,pro,team", "date:2021,2025") or a country field spec ("ke.phone", "de.iban"). Optional per-field "blank" (0–1) makes it null that often.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fields'], 'properties': {'seed': {'type': 'string', 'description': 'Reproducible output.'}, 'count': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'How many rows (default 1).'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'description': 'Column name.'}, 'type': {'type': 'string', 'description': 'Generic type or country field spec, e.g. "uuid", "int:0,500", "ke.phone".'}, 'blank': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Probability (0â\x80\x931) the value is null.'}}, 'additionalProperties': False}, 'description': 'The columns to generate.'}, 'format': {'enum': ['json', 'csv'], 'type': 'string'}}, 'additionalProperties': False}
Añadido
sampuli_schema
17 de September de 2026 a las 12:42
Añadido
sampuli_list_types
17 de September de 2026 a las 12:42
Añadido
sampuli_fetch
17 de September de 2026 a las 12:42
Añadido
sampuli_generate
17 de September de 2026 a las 12:42
Añadido
sampuli_describe_country
17 de September de 2026 a las 12:42
Añadido
sampuli_list_countries
17 de September de 2026 a las 12:42