Sampuli

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
75%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,095トークン数(ツール定義)
~1.2 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.86%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

実行可能なパッケージ

npm@sampuli/mcp0.1.2stdio

リモートエンドポイント

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

できること

ツール一覧

ツール(6)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢sampuli_list_countries

List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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".

入力スキーマ

{
  "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>".

入力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 6 件
検証済みバージョンは記録されていませんツール 6 件