Sampuli

Format-true synthetic test data for 90 countries — IBANs, SWIFT/BIC, IDs, cards, all certified.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
75%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,095Tokens (definiciones de herramientas)
~1.2 KBTamaño de respuesta típico
Impacto moderado en la atención (0.86% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "sampuli": {
      "command": "npx",
      "args": [
        "@sampuli/mcp"
      ]
    }
  }
}

Paquetes ejecutables

npm@sampuli/mcp0.1.2stdio

Puntos de conexión remotos

https://sampuli.site/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢sampuli_list_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",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sampuli_describe_country(country)

List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "ISO code, e.g. \"ke\", \"de\", \"us\", \"ng\"."
    }
  },
  "required": [
    "country"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪sampuli_generate(spec, count, fields, seed, format)

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",
  "properties": {
    "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",
      "minimum": 1,
      "maximum": 10000,
      "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\"."
    },
    "seed": {
      "type": "string",
      "description": "Reproducible output — same seed, same data."
    },
    "format": {
      "type": "string",
      "enum": [
        "json",
        "csv"
      ],
      "description": "Output format (default json)."
    }
  },
  "required": [
    "spec"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sampuli_fetch(query, count, format, seed)

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",
  "properties": {
    "query": {
      "type": "string",
      "description": "Plain-language request, e.g. \"a SWIFT code for China\", \"UK IBAN\", \"India GSTIN\"."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "How many (omit for one)."
    },
    "format": {
      "type": "string",
      "enum": [
        "json",
        "csv"
      ],
      "description": "Output format (default json)."
    },
    "seed": {
      "type": "string",
      "description": "Reproducible output."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sampuli_list_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",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪sampuli_schema(fields, count, seed, format)

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",
  "properties": {
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "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",
            "minimum": 0,
            "maximum": 1,
            "description": "Probability (0–1) the value is null."
          }
        },
        "required": [
          "name",
          "type"
        ],
        "additionalProperties": false
      },
      "description": "The columns to generate."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "How many rows (default 1)."
    },
    "seed": {
      "type": "string",
      "description": "Reproducible output."
    },
    "format": {
      "type": "string",
      "enum": [
        "json",
        "csv"
      ]
    }
  },
  "required": [
    "fields"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas