{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fwew5tn3xmq6","handle":"sampuli","url":"https://wellknown.network/agents/sampuli","links":{"self":"https://wellknown.network/agents/sampuli/record.json","html":"https://wellknown.network/agents/sampuli","markdown":"https://wellknown.network/agents/sampuli/record.md","api":"https://wellknown.network/api/v1/agents/sampuli","status":"https://wellknown.network/api/v1/agents/sampuli/status","claim":"https://wellknown.network/agents/sampuli/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sampuli/claim.json","badge":"https://wellknown.network/agents/sampuli/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sampuli/history","tools":"https://wellknown.network/api/v1/agents/sampuli/tools"},"ard":{"identifier":"urn:air:sampuli.site:server:sampuli","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Sampuli","summary":"Format-true synthetic test data for 90 countries — IBANs, SWIFT/BIC, IDs, cards, all certified.","description":"Format-true synthetic test data for 90 countries — IBANs, SWIFT/BIC, IDs, cards, all certified.","publisher":{"name":"kevinbett","url":null},"homepage":"https://sampuli.site","repository":"https://github.com/kevinbett/sampuli","version":"0.1.3","license":"MIT","protocols":["mcp"],"tags":["mcp","model-context-protocol","claude","cursor","copilot","test-data","synthetic-data","fake-data","iban","fintech","sampuli"],"pricing":null,"endpoints":[{"url":"https://sampuli.site/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@sampuli/mcp","type":"package_npm","auth":null,"probeable":false},{"url":"oci:ghcr.io/kevinbett/sampuli-mcp:0.1.3","type":"package_oci","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-11T19:45:55.324348Z","npmKeywords":["mcp","model-context-protocol","claude","cursor","copilot","test-data","synthetic-data","fake-data","iban","fintech","sampuli"],"publishedAt":"2026-09-11T19:45:55.324348Z","registryName":"io.github.kevinbett/sampuli"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"npm","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-09T23:29:44.234Z","lastProbedAt":"2026-10-09T23:29:44.234Z","statusComputedAt":"2026-10-09T23:31:13.302Z","reliability30d":{"probes":100,"successRate":1,"p50Ms":195,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":100,"ok":100,"authBoundaryOk":0,"serviceOk":100,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T23:29:44.234Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":154,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:46.552Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":136,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:51.170Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":993,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:52.412Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":155,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:23:44.515Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:38.394Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":136,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T07:26:37.949Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":142,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:22:14.244Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":151,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T18:26:28.514Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":140,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T12:30:16.809Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":966,"error":null,"detail":{"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"toolCount":6,"toolsHash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","serverName":"sampuli","capabilities":["tools","resources"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"sampuli_list_countries","description":"List every country Sampuli can generate synthetic test data for (90 countries), with the ISO code used as a spec prefix."},{"name":"sampuli_describe_country","description":"List a country's available fields (phone, national ID, tax number, IBAN, SWIFT/BIC, card, …) and preset scenarios."},{"name":"sampuli_generate","description":"Generate format-true, entirely synthetic test data for a country. spec is \"<country>.<selector>\" where selector is a field key (\"phone\"), \"person\" (a full coher"},{"name":"sampuli_fetch","description":"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"},{"name":"sampuli_list_types","description":"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>\"."},{"name":"sampuli_schema","description":"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\", \"e"}],"package":{"name":"@sampuli/mcp","registry":"npm","observedAt":"2026-10-09T23:32:03.559Z","publishedAt":"2026-09-11T18:48:55.825Z","latestVersion":"0.1.2","weeklyDownloads":34},"toolSurface":{"id":"ts_wb9wefpcsq6y","endpointId":"ep_4hevwb5f88bs","hash":"6920727b811708a13afb610e2280fa77966701edb8577bba290808da1729db5e","toolCount":6,"serverName":"sampuli","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T17:29:03.890Z","lastSeenAt":"2026-10-09T23:29:44.225Z","observations":100,"toolNames":["sampuli_list_countries","sampuli_describe_country","sampuli_generate","sampuli_fetch","sampuli_list_types","sampuli_schema"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_4hevwb5f88bs","url":"https://sampuli.site/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T20:23:44.523Z","auth":{"observedAt":"2026-10-08T20:23:44.541Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T20:23:44.567Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"sampuli.site","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-26T06:33:45.000Z","validTo":"2026-11-24T06:33:44.000Z","daysToExpiry":45,"sanCount":1,"fingerprint256":"BC:0D:C7:3F:A4:5E:8A:1A:1A:12:DC:80:5C:73:08:3D:36:FE:9D:C8:18:8B:31:FC:23:C7:E8:00:A1:55:19:D9"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.kevinbett/sampuli","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.kevinbett%2Fsampuli","firstSeenAt":"2026-09-12T16:19:32.846Z","fetchedAt":"2026-10-07T16:19:22.268Z","normalizedAt":"2026-10-07T16:19:22.268Z"},{"source":"npm","key":"@sampuli/mcp","url":"https://www.npmjs.com/package/@sampuli/mcp","firstSeenAt":"2026-09-19T15:21:44.545Z","fetchedAt":"2026-10-09T08:20:10.725Z","normalizedAt":"2026-10-09T08:20:10.725Z"}]},"firstSeenAt":"2026-09-12T16:19:32.846Z","updatedAt":"2026-10-09T23:32:03.559Z"}