MCP 服务器

Insurers Global

global.insurers/directory

此 MCP 可以做什么

Provides a source-linked directory of licensed insurers, regulators, insurance groups, ownership relationships, historical names and country-level market coverage.

fetch
Fetch one directory record as citable text
Fetch one record by an id returned from search ("insurer:<slug>", "group:<slug>", "country:<slug>", "former:<slug>"), e.g. "insurer:micronesia-century-insurance-company-ltd". Returns the record as text with its regulator, class, verification level and register source, the page URL to cite, and the dataset version and licence in metadata. Absence from the directory does not establish absence of a licence. Provided for ChatGPT deep research and company knowledge; for ordinary questions prefer get_insurer, get_group or get_country_summary.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'An id from search, in the form "<type>:<slug>".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['id', 'title', 'text', 'url', 'metadata'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Canonical insurers.global page.'}, 'text': {'type': 'string', 'description': 'A labelled summary, the verification note and the full record as JSON.'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'description': 'dataset, version, verified, licence, verificationNote, type, slug, api, and the record’s country and verification level where it has them.'}}}, {'type': 'object', 'required': ['error', 'code', 'retryable'], 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'retryable': {'type': 'boolean'}}}], 'description': 'One directory record as citable text, with its provenance in metadata; failures carry error, code and retryable.'}
get_country
Get one market with its full insurer list
Get one country in Africa, Europe, Asia-Pacific, South America or North America: regulator (name, acronym, website, notes), currency, counts by class and ownership, verification status against the regulator register, market notes, and its licensed insurers with register identifiers and source caveats. Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match. Most markets return every insurer in one call; a large market returns a first page, and insurersPage gives the total and the nextOffset to pass as offset. Prefer get_country_summary for market facts alone.
只读 幂等
输入模式
{'type': 'object', 'required': ['country'], 'properties': {'limit': {'type': 'integer', 'default': 200, 'maximum': 200, 'minimum': 1, 'description': 'Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Entity rows to skip, for paging.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns the full record for any slug.'}, 'country': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Country slug (e.g. "micronesia") or ISO alpha-2 code (e.g. "FM").'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
get_country_summary
Get one market’s facts without insurer rows
Get compact market facts for one country: regulator, currency, counts, verification and market notes, without its insurer rows. Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match. Accepts a country slug or ISO alpha-2 code. Use list_insurers with country for paged entity records.
只读 幂等
输入模式
{'type': 'object', 'required': ['country'], 'properties': {'country': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Country slug (e.g. "micronesia") or ISO alpha-2 code (e.g. "FM").'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
get_directory_info
Get dataset coverage, version and vocabularies
Get this edition’s dataset version, source dates, licence, coverage counts, endpoint URLs and filter vocabularies, plus compact country metadata. Use this to discover supported country, class, ownership, region and continent slugs before querying.
只读 幂等
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
get_footprint
Get a group’s licensed footprint by country
Licensed footprint: which legal entity of an insurance group is licensed in which country, with collected branches, EEA freedom-of-services passporting and GLEIF parents. Pass exactly one group slug (from list_groups, e.g. "allianz") for the country × entity matrix, or an insurer slug for that entity alone. A large group returns its whole matrix with a first page of entity records; entitiesPage gives the nextOffset to pass as offset. Licence rows come from the directory registers; relationship enrichment comes from GLEIF and EIOPA. Null or empty enrichment means it has not been collected, not that no relationships exist.
只读 幂等
输入模式
{'type': 'object', 'oneOf': [{'required': ['group']}, {'required': ['insurer']}], 'properties': {'group': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Group slug, e.g. "allianz".'}, 'limit': {'type': 'integer', 'default': 200, 'maximum': 200, 'minimum': 1, 'description': 'Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset. Group footprints only.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Entity rows to skip, for paging. Group footprints only.'}, 'insurer': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Insurer slug, when asking about one entity.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
get_group
Get one insurance group
Get one insurance group by slug: home market, type, continents and countries covered, the slug of every licensed entity in the directory, and their records in insurersDetail. A large group returns a first page of records; insurersDetailPage gives the total and the nextOffset to pass as offset.
只读 幂等
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Group slug, e.g. "allianz".'}, 'limit': {'type': 'integer', 'default': 200, 'maximum': 200, 'minimum': 1, 'description': 'Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Entity rows to skip, for paging.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns the full record for any slug.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
get_insurer
Get one insurer’s record
Get one insurer by slug, including its parent group, class, regulator, source basis, register identifiers (LEI, national ID) where available, notes, sibling entities in the same group, and the reviewed profile (website, social links, founding year, stock-exchange listings with tickers, and Wikidata id) where one has been collected.
只读 幂等
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Insurer slug, e.g. "micronesia-century-insurance-company-ltd".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
list_groups
List multi-country insurance groups
List insurance groups with licensed entities in two or more countries across Africa, Europe, Asia-Pacific, South America and North America, with their footprint.
只读 幂等
输入模式
{'type': 'object', 'properties': {'iaig': {'type': 'boolean', 'description': 'true: only groups controlled by an Internationally Active Insurance Group (IAIS register); false: only groups that are not.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}, 'continent': {'enum': ['africa', 'europe', 'asia-pacific', 'south-america', 'north-america'], 'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Only groups with entities on this continent.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
list_iaigs
List Internationally Active Insurance Groups
List the Internationally Active Insurance Groups (IAIGs) in the IAIS public register with their group-wide supervisor and jurisdiction, and for each the directory groups, entities and countries it controls across Africa, Europe, Asia-Pacific, South America and North America.
只读 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}, 'in_directory': {'type': 'boolean', 'description': 'true: only IAIGs with at least one licensed entity in this directory; false: only those without.'}, 'jurisdiction': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Jurisdiction of the group-wide supervisor, e.g. "France" or "United States".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
list_insurers
List licensed insurers with filters
List licensed insurers with optional filters and bounded pages (25 by default, at most 200; a page of large records stops early to keep the response small and reports nextOffset). Filter by continent ("africa", "europe", "asia-pacific", "south-america", "north-america"), country slug (e.g. "micronesia"), class slug (e.g. "captive-risk-retention-group", "composite", "funeral-assistance", "general-non-life", "health-medical"), group type slug (e.g. "corporate-parent-captive", "domestic-private", "foreign-multinational", "mutual-cooperative"), parent group slug or verification level. Country filtering fetches only that market's full insurer records; compact returns lean rows instead.
只读 幂等
输入模式
{'type': 'object', 'properties': {'class': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Class of business slug.'}, 'group': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Parent group slug, e.g. "allianz"; list_groups returns them all.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns the full record for any slug.'}, 'country': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Country slug (e.g. "micronesia") or ISO alpha-2 code (e.g. "FM").'}, 'continent': {'enum': ['africa', 'europe', 'asia-pacific', 'south-america', 'north-america'], 'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Continent slug.'}, 'group_type': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Ownership group type slug.'}, 'verification': {'enum': ['verified', 'partial', 'unverified'], 'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Verification level against the source register.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
list_regulators
List insurance regulators
List the insurance supervisory authority for every covered country: name, acronym, website, currency, notes and the register source used for verification. Returns every match unless limit or offset is supplied (when paging, limit defaults to 25 and is capped at 200); a long result stops early to keep the response small and reports nextOffset.
只读 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}, 'region': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1, 'description': 'Optional region slug, e.g. "north-africa", "west-africa", "central-africa".'}, 'continent': {'enum': ['africa', 'europe', 'asia-pacific', 'south-america', 'north-america'], 'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Continent slug.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
resolve_former_name
Resolve a former insurer name to today’s entity
Resolve a company name that is no longer in use to the insurer listed today. Use this when a policy, certificate or older document names an insurer that does not appear in search_insurers — the company may have been renamed, merged or delisted. Returns what happened, when, and the current entity where one exists. A renamed, acquired, merged or transferred insurer keeps its licence, so its policies continue with the successor; only "failed" means the company failed.
只读 幂等
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'The former company name, or part of it, as printed on the document.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
search
Search the directory for citable records
Search licensed insurers, insurance groups, countries and former company names across Africa, Europe, Asia-Pacific, South America and North America. Returns up to 20 results, each with an id to pass to fetch and the insurers.global page URL to cite. Provided for ChatGPT deep research and company knowledge; for ordinary questions prefer search_insurers, which returns slugs, record types and paging.
只读 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Company, group or country name, or part of one.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Pass to fetch.'}, 'url': {'type': 'string', 'description': 'Canonical insurers.global page.'}, 'title': {'type': 'string'}}}}}}, {'type': 'object', 'required': ['error', 'code', 'retryable'], 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'retryable': {'type': 'boolean'}}}], 'description': 'Search results with ids for fetch and canonical page URLs for citation; failures carry error, code and retryable.'}
search_insurers
Search insurers, groups and countries by name
Search licensed insurance companies, reinsurers, takaful operators and insurance groups across Africa, Europe, Asia-Pacific, South America and North America by name. Returns matching insurers, countries and groups with their slugs and links.
只读 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of results to return.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Company, group or country name, or part of one.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Results to skip, for paging.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'dataset': {'type': 'string'}, 'licence': {'type': 'string'}, 'version': {'type': 'string', 'description': 'Dataset version the result was read from.'}, 'verified': {'type': 'string', 'description': 'Date the dataset snapshot was verified.'}, 'retryable': {'type': 'boolean'}, 'verificationNote': {'type': 'string'}}, 'description': 'A JSON envelope. Successful results carry dataset, version, verified and licence plus the tool’s data; failures carry error, code and retryable.', 'additionalProperties': True}
已更改
fetch
2026年9月29日 02:51
已更改
get_insurer
2026年9月29日 02:51
已更改
get_country_summary
2026年9月29日 02:51
已更改
get_country
2026年9月29日 02:51
已更改
list_insurers
2026年9月29日 02:51
已添加
fetch
2026年9月25日 02:50
已添加
search
2026年9月25日 02:50
已更改
resolve_former_name
2026年9月25日 02:50
已更改
list_regulators
2026年9月25日 02:50
已更改
get_footprint
2026年9月25日 02:50
已更改
get_group
2026年9月25日 02:50
已更改
get_insurer
2026年9月25日 02:50
已更改
get_country_summary
2026年9月25日 02:50
已更改
get_country
2026年9月25日 02:50
已更改
list_insurers
2026年9月25日 02:50
已更改
list_regulators
2026年9月19日 02:40
已更改
get_footprint
2026年9月19日 02:40
已更改
get_group
2026年9月19日 02:40
已更改
get_insurer
2026年9月19日 02:40
已更改
get_country_summary
2026年9月19日 02:40
已更改
get_country
2026年9月19日 02:40
已更改
list_insurers
2026年9月19日 02:40
已添加
resolve_former_name
2026年9月17日 12:39
已添加
list_regulators
2026年9月17日 12:39
已添加
get_footprint
2026年9月17日 12:39
已添加
get_group
2026年9月17日 12:39
已添加
list_iaigs
2026年9月17日 12:39
已添加
list_groups
2026年9月17日 12:39
已添加
get_insurer
2026年9月17日 12:39
已添加
get_directory_info
2026年9月17日 12:39