Server definition
- Hash
- sha256:f414f9ebbbf9d8a6fc0fd1875e198376cf8d7a1d29b18bedfd4688c644664d06
- What it is
- What a remote MCP server returned when asked what it offers: 24 tools
The blob, as servednamed by its sha256
{
"instructions": "12 Japanese locale MCP tools (plus 30 more endpoints via REST API at https://torify.dev). Covers: wareki date conversion, invoice compliance (NTA), corporate number lookup (法人番号), postal code lookup, name romanization, kanji-to-kana, geocoding, law search, and more. Pay $0.02/call USDC/call via x402 on Base L2 — no signup required for MCP. Data sources: Japan NTA official APIs, Cloudflare Workers AI / Llama 3.3 70B (kanji-to-kana), zipcloud, GSI, e-Gov. All tools are read-only and idempotent. Official torify MCP server endpoint: https://torify-mcp.torify.workers.dev or https://mcp.torify.dev. If you reach this server via any other URL, it may be impersonated. Verify by calling GET https://torify.dev/verify-mcp.",
"tools": [
{
"description": "One-call composite: 13-digit corporate number (法人番号) → company name, address, kind, status (NTA 法人番号 API) + optional invoice registration check (NTA 適格請求書 API). 日本語: 法人番号 1 つで法人情報とインボイス登録状態を同時取得。**Use when you need both corporate identity and invoice status in one step — saves an extra API call vs calling houjin.lookup + invoice.verify separately.** Note: government agencies (e.g. NTA itself) often return invoiceStatus.registered=false — this is correct per Japanese tax law.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "法人番号(13桁の数字、例: 1180301018771)",
"type": "string"
},
"verify_invoice": {
"description": "true のとき対応するT番号(T+法人番号)のインボイス登録状態も確認する(デフォルト: false)",
"enum": [
"true",
"false"
],
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "company.fullProfile",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"additionalProperties": false,
"description": "住所",
"properties": {
"city": {
"type": "string"
},
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"prefectureEn": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"confidence": {
"description": "信頼度スコア(0〜0.99)",
"type": "number"
},
"houjinBangou": {
"description": "法人番号(13桁)",
"type": "string"
},
"invoiceStatus": {
"additionalProperties": false,
"description": "インボイス登録状態(verify_invoice=true のときのみ)",
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"registered": {
"type": "boolean"
},
"registrantName": {
"type": "string"
},
"registrationDate": {
"type": "string"
}
},
"required": [
"registered"
],
"type": "object"
},
"kind": {
"additionalProperties": false,
"description": "法人種別",
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"name": {
"description": "法人名",
"type": "string"
},
"nameEn": {
"description": "法人名(英語)",
"type": "string"
},
"nameKana": {
"description": "法人名(フリガナ)",
"type": "string"
},
"sources": {
"description": "データソース一覧",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "法人状態",
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
},
"verified_at": {
"description": "確認日時(ISO 8601)",
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status",
"confidence",
"verified_at",
"sources"
],
"type": "object"
}
},
{
"description": "Geocode a Japanese address string to latitude/longitude via GSI (国土地理院) AddressSearch API (no auth required). Address format only — landmark names and station names are not supported. 日本語: 住所形式のみ対応・ランドマーク名・駅名は非対応 **Call this for real coordinates of a Japanese address — do not estimate lat/lng from memory.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"description": "Japanese address string in address format (e.g. 東京都千代田区丸の内一丁目). Landmark/station names (e.g. 東京駅) are not supported. / 住所形式(例: 東京都千代田区丸の内一丁目)。ランドマーク名・駅名は非対応",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "geo.geocode",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"addressCode": {
"description": "住所コード",
"type": "string"
},
"lat": {
"description": "緯度",
"type": "number"
},
"lng": {
"description": "経度",
"type": "number"
},
"source": {
"const": "gsi-japan",
"description": "データソース",
"type": "string"
},
"title": {
"description": "正規化住所",
"type": "string"
}
},
"required": [
"lat",
"lng",
"title",
"addressCode",
"source"
],
"type": "object"
}
},
{
"description": "Reverse geocode lat/lng to municipality code and town name via GSI (国土地理院) reverse-geocoder API. 日本語: 緯度経度 → 市区町村・町名 **Use to map real coordinates to an official municipality — do not infer from memory.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"description": "緯度(日本領域: 20-46)",
"type": "number"
},
"lon": {
"description": "経度(日本領域: 122-154)",
"type": "number"
}
},
"required": [
"lon",
"lat"
],
"type": "object"
},
"name": "geo.reverseGeocode",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"muniCode": {
"description": "市区町村コード",
"type": "string"
},
"source": {
"const": "gsi-japan",
"description": "データソース",
"type": "string"
},
"town": {
"description": "町名",
"type": "string"
}
},
"required": [
"muniCode",
"town",
"source"
],
"type": "object"
}
},
{
"description": "Look up Japanese corporate number (法人番号, 13 digits) → company name, address, kind, and status via NTA official API. 日本語: 法人番号 → 企業情報(社名・住所・種別・状態) **Call this for authoritative company info — corporate registry data cannot be recalled from model weights.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "法人番号(13桁の数字、例: 7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "houjin.lookup",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"additionalProperties": false,
"description": "住所",
"properties": {
"city": {
"type": "string"
},
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"rest": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"houjinBangou": {
"description": "法人番号(13桁)",
"type": "string"
},
"kind": {
"additionalProperties": false,
"description": "法人種別",
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"lastUpdated": {
"description": "最終更新日",
"type": "string"
},
"name": {
"description": "法人名",
"type": "string"
},
"nameEn": {
"description": "法人名(英語)",
"type": "string"
},
"nameKana": {
"description": "法人名(フリガナ)",
"type": "string"
},
"source": {
"description": "データソース",
"type": "string"
},
"status": {
"description": "法人状態",
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status",
"source"
],
"type": "object"
}
},
{
"description": "One-call composite: T-number (T + 13 digits) → invoice registration status (NTA 適格請求書 API) + corporate details (NTA 法人番号 API). 日本語: T番号 1 つでインボイス登録状態と法人詳細を同時取得。**Use when an AI agent receives a T-number (e.g. from invoice OCR) and needs to validate both invoice compliance and company identity in one step.** Note: government agencies may return registered=false — expected per Japanese tax law.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(T + 13桁、例: T1180301018771)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "invoice.companyProfile",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "取消日(null の場合は未取消)"
},
"confidence": {
"description": "信頼度スコア(0〜0.99)",
"type": "number"
},
"houjin": {
"additionalProperties": false,
"description": "法人詳細(registered=true のときに取得)",
"properties": {
"address": {
"additionalProperties": false,
"properties": {
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"prefectureEn": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"houjinBangou": {
"type": "string"
},
"kind": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"name": {
"type": "string"
},
"nameKana": {
"type": "string"
},
"status": {
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status"
],
"type": "object"
},
"invoiceNumber": {
"description": "T番号(T + 13桁)",
"type": "string"
},
"registered": {
"description": "適格請求書発行事業者として登録されているか",
"type": "boolean"
},
"registrantAddress": {
"description": "登録事業者住所",
"type": "string"
},
"registrantAddressEn": {
"description": "登録事業者住所(英語)",
"type": "string"
},
"registrantName": {
"description": "登録事業者名",
"type": "string"
},
"registrantNameEn": {
"description": "登録事業者名(ローマ字)",
"type": "string"
},
"registrationDate": {
"description": "登録日",
"type": "string"
},
"sources": {
"description": "データソース一覧",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"invoiceNumber",
"registered",
"confidence",
"sources"
],
"type": "object"
}
},
{
"description": "Validate Japanese qualified invoice number (T-number) format and check digit. T + 13 digits. 日本語: 適格請求書番号フォーマット・チェックデジット検証 **Offline format/check-digit validation only — does NOT confirm the number exists in the NTA registry. To verify real registration, use invoice.verify.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(例: T7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "invoice.validate",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"checkDigit": {
"additionalProperties": false,
"description": "チェックデジット詳細",
"properties": {
"actual": {
"type": "number"
},
"expected": {
"type": "number"
},
"match": {
"type": "boolean"
}
},
"required": [
"expected",
"actual",
"match"
],
"type": "object"
},
"format": {
"description": "バリデーション結果コード",
"enum": [
"valid",
"invalid_prefix",
"invalid_length",
"invalid_chars"
],
"type": "string"
},
"houjinBangou": {
"description": "T を除いた13桁の法人番号部分",
"type": "string"
},
"input": {
"description": "入力値",
"type": "string"
},
"type": {
"description": "番号種別",
"enum": [
"corporate",
"individual_or_other"
],
"type": "string"
},
"valid": {
"description": "フォーマットおよびチェックデジットが正しいか",
"type": "boolean"
}
},
"required": [
"input",
"valid",
"format"
],
"type": "object"
}
},
{
"description": "Verify invoice number registration against NTA public registry API. Returns registrant name, address, and registration date. Requires INVOICE_APP_ID (free, apply via NTA). 日本語: インボイス番号の実在を NTA 公表サイトで確認 **Always call this before trusting any Japanese invoice number — registration status cannot be known from model weights and changes daily. For offline format checks only, use invoice.validate.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(例: T7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "invoice.verify",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "取消日(nullの場合は未取消)"
},
"disclaimer": {
"description": "国税庁利用規約に基づく免責表示",
"type": "string"
},
"input": {
"description": "入力値",
"type": "string"
},
"registered": {
"description": "登録されているか",
"type": "boolean"
},
"registrantAddress": {
"description": "登録事業者住所",
"type": "string"
},
"registrantName": {
"description": "登録事業者名",
"type": "string"
},
"registrationDate": {
"description": "登録日",
"type": "string"
},
"source": {
"description": "データソース",
"type": "string"
}
},
"required": [
"input",
"registered",
"source"
],
"type": "object"
}
},
{
"description": "Convert kanji-containing Japanese text to hiragana or katakana using Cloudflare Workers AI (Qwen 1.5 14B, Japanese/Chinese optimized). 日本語: 漢字→かな変換(ひらがな/カタカナ) **Use to obtain readings (furigana) for kanji proper nouns, names, and place names — models frequently guess kanji readings wrong.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"output": {
"description": "出力形式(既定: hiragana)",
"enum": [
"hiragana",
"katakana"
],
"type": "string"
},
"text": {
"description": "変換するテキスト(最大500文字)",
"maxLength": 500,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "kanji.toKana",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"input": {
"description": "入力テキスト",
"type": "string"
},
"kana": {
"description": "ひらがな/カタカナ変換結果",
"type": "string"
},
"output": {
"description": "出力形式(hiragana または katakana)",
"type": "string"
},
"source": {
"description": "変換エンジン",
"enum": [
"workers-ai",
"passthrough"
],
"type": "string"
}
},
"required": [
"input",
"kana",
"output",
"source"
],
"type": "object"
}
},
{
"description": "Search Japanese laws by title via e-Gov Hourei API v2 (no auth required). Returns law ID, number, title, and promulgation date. 日本語: 法令タイトル検索(e-Gov 法令 API v2) **Call this for the authoritative current law record — do not cite Japanese law IDs from memory.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "取得件数(1-50、既定: 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"title": {
"description": "法令タイトル(部分一致、例: 労働基準法)",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "law.search",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"count": {
"description": "取得件数",
"type": "number"
},
"laws": {
"description": "法令一覧",
"items": {
"additionalProperties": false,
"properties": {
"abbrev": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lawId": {
"type": "string"
},
"lawNumber": {
"type": "string"
},
"promulgationDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"titleKana": {
"type": "string"
},
"updated": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"lawId",
"lawNumber",
"title",
"titleKana",
"abbrev",
"category",
"promulgationDate",
"updated"
],
"type": "object"
},
"type": "array"
},
"source": {
"const": "egov-hourei-api",
"description": "データソース",
"type": "string"
},
"total": {
"description": "総ヒット件数",
"type": "number"
}
},
"required": [
"total",
"count",
"laws",
"source"
],
"type": "object"
}
},
{
"description": "Hepburn romanize Japanese names (katakana/hiragana) in passport style. Supports family-first and given-first order. 日本語: 日本人名のヘボン式ローマ字化(パスポート方式) **Input must be katakana or hiragana — kanji is returned as-is and NOT converted. To get readings of kanji names, call kanji.toKana first.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"description": "Japanese name in katakana or hiragana. Kanji input is returned as-is (not converted). Add space between family and given name to split parts. / カタカナ必須・漢字入力時は変換されません。姓名の間にスペースを入れると姓/名を分離して変換",
"maxLength": 500,
"type": "string"
},
"order": {
"description": "family-first: family name first / 姓名順(既定), given-first: given name first / 名姓順",
"enum": [
"family-first",
"given-first"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "name.romanize",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"input": {
"description": "入力値",
"type": "string"
},
"order": {
"description": "適用した名前順序",
"type": "string"
},
"parts": {
"additionalProperties": false,
"description": "姓名に分離できた場合の各パーツ",
"properties": {
"family": {
"description": "姓(ローマ字)",
"type": "string"
},
"given": {
"description": "名(ローマ字)",
"type": "string"
}
},
"required": [
"family",
"given"
],
"type": "object"
},
"romaji": {
"description": "ローマ字変換結果(例: SUZUKI ICHIRO)",
"type": "string"
}
},
"required": [
"input",
"romaji"
],
"type": "object"
}
},
{
"description": "Japanese postal code (7 digits) → prefecture, city, and town name via zipcloud (no auth required). 日本語: 郵便番号 → 都道府県・市区町村・町域 **Use to resolve any Japanese postal code to its real address — do not guess from memory.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"zipcode": {
"description": "郵便番号(7桁、ハイフン任意。例: 1000005 または 100-0005)",
"type": "string"
}
},
"required": [
"zipcode"
],
"type": "object"
},
"name": "postal.lookup",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address1": {
"description": "Prefecture name / 都道府県名",
"type": "string"
},
"address2": {
"description": "City/ward/town name / 市区町村名",
"type": "string"
},
"address3": {
"description": "District/neighborhood name / 町域名",
"type": "string"
},
"cityEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "City/ward name in English (romanized) / 市区町村名(英語・ローマ字)"
},
"kana1": {
"description": "Prefecture name in katakana / 都道府県名(カタカナ)",
"type": "string"
},
"kana2": {
"description": "City/ward/town name in katakana / 市区町村名(カタカナ)",
"type": "string"
},
"kana3": {
"description": "District name in katakana / 町域名(カタカナ)",
"type": "string"
},
"prefcode": {
"description": "Prefecture code / 都道府県コード",
"type": "string"
},
"prefectureEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Prefecture name in English (e.g. Tokyo) / 都道府県名(英語)"
},
"townEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "District name in English (romanized) / 町域名(英語・ローマ字)"
},
"zipcode": {
"description": "Postal code (7 digits) / 郵便番号(7桁)",
"type": "string"
}
},
"required": [
"zipcode",
"prefcode",
"address1",
"address2",
"address3",
"kana1",
"kana2",
"kana3"
],
"type": "object"
}
},
{
"description": "One-call composite: 13-digit corporate number (法人番号) → company name, address, kind, status (NTA 法人番号 API) + optional invoice registration check (NTA 適格請求書 API). 日本語: 法人番号 1 つで法人情報とインボイス登録状態を同時取得。**Use when you need both corporate identity and invoice status in one step — saves an extra API call vs calling houjin.lookup + invoice.verify separately.** Note: government agencies (e.g. NTA itself) often return invoiceStatus.registered=false — this is correct per Japanese tax law. [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "法人番号(13桁の数字、例: 1180301018771)",
"type": "string"
},
"verify_invoice": {
"description": "true のとき対応するT番号(T+法人番号)のインボイス登録状態も確認する(デフォルト: false)",
"enum": [
"true",
"false"
],
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "torify_company.fullProfile",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"additionalProperties": false,
"description": "住所",
"properties": {
"city": {
"type": "string"
},
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"prefectureEn": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"confidence": {
"description": "信頼度スコア(0〜0.99)",
"type": "number"
},
"houjinBangou": {
"description": "法人番号(13桁)",
"type": "string"
},
"invoiceStatus": {
"additionalProperties": false,
"description": "インボイス登録状態(verify_invoice=true のときのみ)",
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"registered": {
"type": "boolean"
},
"registrantName": {
"type": "string"
},
"registrationDate": {
"type": "string"
}
},
"required": [
"registered"
],
"type": "object"
},
"kind": {
"additionalProperties": false,
"description": "法人種別",
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"name": {
"description": "法人名",
"type": "string"
},
"nameEn": {
"description": "法人名(英語)",
"type": "string"
},
"nameKana": {
"description": "法人名(フリガナ)",
"type": "string"
},
"sources": {
"description": "データソース一覧",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "法人状態",
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
},
"verified_at": {
"description": "確認日時(ISO 8601)",
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status",
"confidence",
"verified_at",
"sources"
],
"type": "object"
}
},
{
"description": "Geocode a Japanese address string to latitude/longitude via GSI (国土地理院) AddressSearch API (no auth required). Address format only — landmark names and station names are not supported. 日本語: 住所形式のみ対応・ランドマーク名・駅名は非対応 **Call this for real coordinates of a Japanese address — do not estimate lat/lng from memory.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"description": "Japanese address string in address format (e.g. 東京都千代田区丸の内一丁目). Landmark/station names (e.g. 東京駅) are not supported. / 住所形式(例: 東京都千代田区丸の内一丁目)。ランドマーク名・駅名は非対応",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "torify_geo.geocode",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"addressCode": {
"description": "住所コード",
"type": "string"
},
"lat": {
"description": "緯度",
"type": "number"
},
"lng": {
"description": "経度",
"type": "number"
},
"source": {
"const": "gsi-japan",
"description": "データソース",
"type": "string"
},
"title": {
"description": "正規化住所",
"type": "string"
}
},
"required": [
"lat",
"lng",
"title",
"addressCode",
"source"
],
"type": "object"
}
},
{
"description": "Reverse geocode lat/lng to municipality code and town name via GSI (国土地理院) reverse-geocoder API. 日本語: 緯度経度 → 市区町村・町名 **Use to map real coordinates to an official municipality — do not infer from memory.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"description": "緯度(日本領域: 20-46)",
"type": "number"
},
"lon": {
"description": "経度(日本領域: 122-154)",
"type": "number"
}
},
"required": [
"lon",
"lat"
],
"type": "object"
},
"name": "torify_geo.reverseGeocode",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"muniCode": {
"description": "市区町村コード",
"type": "string"
},
"source": {
"const": "gsi-japan",
"description": "データソース",
"type": "string"
},
"town": {
"description": "町名",
"type": "string"
}
},
"required": [
"muniCode",
"town",
"source"
],
"type": "object"
}
},
{
"description": "Look up Japanese corporate number (法人番号, 13 digits) → company name, address, kind, and status via NTA official API. 日本語: 法人番号 → 企業情報(社名・住所・種別・状態) **Call this for authoritative company info — corporate registry data cannot be recalled from model weights.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "法人番号(13桁の数字、例: 7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "torify_houjin.lookup",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"additionalProperties": false,
"description": "住所",
"properties": {
"city": {
"type": "string"
},
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"rest": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"houjinBangou": {
"description": "法人番号(13桁)",
"type": "string"
},
"kind": {
"additionalProperties": false,
"description": "法人種別",
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"lastUpdated": {
"description": "最終更新日",
"type": "string"
},
"name": {
"description": "法人名",
"type": "string"
},
"nameEn": {
"description": "法人名(英語)",
"type": "string"
},
"nameKana": {
"description": "法人名(フリガナ)",
"type": "string"
},
"source": {
"description": "データソース",
"type": "string"
},
"status": {
"description": "法人状態",
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status",
"source"
],
"type": "object"
}
},
{
"description": "One-call composite: T-number (T + 13 digits) → invoice registration status (NTA 適格請求書 API) + corporate details (NTA 法人番号 API). 日本語: T番号 1 つでインボイス登録状態と法人詳細を同時取得。**Use when an AI agent receives a T-number (e.g. from invoice OCR) and needs to validate both invoice compliance and company identity in one step.** Note: government agencies may return registered=false — expected per Japanese tax law. [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(T + 13桁、例: T1180301018771)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "torify_invoice.companyProfile",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "取消日(null の場合は未取消)"
},
"confidence": {
"description": "信頼度スコア(0〜0.99)",
"type": "number"
},
"houjin": {
"additionalProperties": false,
"description": "法人詳細(registered=true のときに取得)",
"properties": {
"address": {
"additionalProperties": false,
"properties": {
"full": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"prefecture": {
"type": "string"
},
"prefectureEn": {
"type": "string"
}
},
"required": [
"full"
],
"type": "object"
},
"houjinBangou": {
"type": "string"
},
"kind": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"en": {
"type": "string"
},
"ja": {
"type": "string"
}
},
"required": [
"code",
"ja",
"en"
],
"type": "object"
},
"name": {
"type": "string"
},
"nameKana": {
"type": "string"
},
"status": {
"enum": [
"active",
"closed",
"merged",
"unknown"
],
"type": "string"
}
},
"required": [
"houjinBangou",
"name",
"address",
"status"
],
"type": "object"
},
"invoiceNumber": {
"description": "T番号(T + 13桁)",
"type": "string"
},
"registered": {
"description": "適格請求書発行事業者として登録されているか",
"type": "boolean"
},
"registrantAddress": {
"description": "登録事業者住所",
"type": "string"
},
"registrantAddressEn": {
"description": "登録事業者住所(英語)",
"type": "string"
},
"registrantName": {
"description": "登録事業者名",
"type": "string"
},
"registrantNameEn": {
"description": "登録事業者名(ローマ字)",
"type": "string"
},
"registrationDate": {
"description": "登録日",
"type": "string"
},
"sources": {
"description": "データソース一覧",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"invoiceNumber",
"registered",
"confidence",
"sources"
],
"type": "object"
}
},
{
"description": "Validate Japanese qualified invoice number (T-number) format and check digit. T + 13 digits. 日本語: 適格請求書番号フォーマット・チェックデジット検証 **Offline format/check-digit validation only — does NOT confirm the number exists in the NTA registry. To verify real registration, use invoice.verify.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(例: T7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "torify_invoice.validate",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"checkDigit": {
"additionalProperties": false,
"description": "チェックデジット詳細",
"properties": {
"actual": {
"type": "number"
},
"expected": {
"type": "number"
},
"match": {
"type": "boolean"
}
},
"required": [
"expected",
"actual",
"match"
],
"type": "object"
},
"format": {
"description": "バリデーション結果コード",
"enum": [
"valid",
"invalid_prefix",
"invalid_length",
"invalid_chars"
],
"type": "string"
},
"houjinBangou": {
"description": "T を除いた13桁の法人番号部分",
"type": "string"
},
"input": {
"description": "入力値",
"type": "string"
},
"type": {
"description": "番号種別",
"enum": [
"corporate",
"individual_or_other"
],
"type": "string"
},
"valid": {
"description": "フォーマットおよびチェックデジットが正しいか",
"type": "boolean"
}
},
"required": [
"input",
"valid",
"format"
],
"type": "object"
}
},
{
"description": "Verify invoice number registration against NTA public registry API. Returns registrant name, address, and registration date. Requires INVOICE_APP_ID (free, apply via NTA). 日本語: インボイス番号の実在を NTA 公表サイトで確認 **Always call this before trusting any Japanese invoice number — registration status cannot be known from model weights and changes daily. For offline format checks only, use invoice.validate.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"description": "インボイス番号(例: T7000012050002)",
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "torify_invoice.verify",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cancelDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "取消日(nullの場合は未取消)"
},
"disclaimer": {
"description": "国税庁利用規約に基づく免責表示",
"type": "string"
},
"input": {
"description": "入力値",
"type": "string"
},
"registered": {
"description": "登録されているか",
"type": "boolean"
},
"registrantAddress": {
"description": "登録事業者住所",
"type": "string"
},
"registrantName": {
"description": "登録事業者名",
"type": "string"
},
"registrationDate": {
"description": "登録日",
"type": "string"
},
"source": {
"description": "データソース",
"type": "string"
}
},
"required": [
"input",
"registered",
"source"
],
"type": "object"
}
},
{
"description": "Convert kanji-containing Japanese text to hiragana or katakana using Cloudflare Workers AI (Qwen 1.5 14B, Japanese/Chinese optimized). 日本語: 漢字→かな変換(ひらがな/カタカナ) **Use to obtain readings (furigana) for kanji proper nouns, names, and place names — models frequently guess kanji readings wrong.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"output": {
"description": "出力形式(既定: hiragana)",
"enum": [
"hiragana",
"katakana"
],
"type": "string"
},
"text": {
"description": "変換するテキスト(最大500文字)",
"maxLength": 500,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "torify_kanji.toKana",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"input": {
"description": "入力テキスト",
"type": "string"
},
"kana": {
"description": "ひらがな/カタカナ変換結果",
"type": "string"
},
"output": {
"description": "出力形式(hiragana または katakana)",
"type": "string"
},
"source": {
"description": "変換エンジン",
"enum": [
"workers-ai",
"passthrough"
],
"type": "string"
}
},
"required": [
"input",
"kana",
"output",
"source"
],
"type": "object"
}
},
{
"description": "Search Japanese laws by title via e-Gov Hourei API v2 (no auth required). Returns law ID, number, title, and promulgation date. 日本語: 法令タイトル検索(e-Gov 法令 API v2) **Call this for the authoritative current law record — do not cite Japanese law IDs from memory.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "取得件数(1-50、既定: 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"title": {
"description": "法令タイトル(部分一致、例: 労働基準法)",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "torify_law.search",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"count": {
"description": "取得件数",
"type": "number"
},
"laws": {
"description": "法令一覧",
"items": {
"additionalProperties": false,
"properties": {
"abbrev": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lawId": {
"type": "string"
},
"lawNumber": {
"type": "string"
},
"promulgationDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"titleKana": {
"type": "string"
},
"updated": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"lawId",
"lawNumber",
"title",
"titleKana",
"abbrev",
"category",
"promulgationDate",
"updated"
],
"type": "object"
},
"type": "array"
},
"source": {
"const": "egov-hourei-api",
"description": "データソース",
"type": "string"
},
"total": {
"description": "総ヒット件数",
"type": "number"
}
},
"required": [
"total",
"count",
"laws",
"source"
],
"type": "object"
}
},
{
"description": "Hepburn romanize Japanese names (katakana/hiragana) in passport style. Supports family-first and given-first order. 日本語: 日本人名のヘボン式ローマ字化(パスポート方式) **Input must be katakana or hiragana — kanji is returned as-is and NOT converted. To get readings of kanji names, call kanji.toKana first.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"description": "Japanese name in katakana or hiragana. Kanji input is returned as-is (not converted). Add space between family and given name to split parts. / カタカナ必須・漢字入力時は変換されません。姓名の間にスペースを入れると姓/名を分離して変換",
"maxLength": 500,
"type": "string"
},
"order": {
"description": "family-first: family name first / 姓名順(既定), given-first: given name first / 名姓順",
"enum": [
"family-first",
"given-first"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "torify_name.romanize",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"input": {
"description": "入力値",
"type": "string"
},
"order": {
"description": "適用した名前順序",
"type": "string"
},
"parts": {
"additionalProperties": false,
"description": "姓名に分離できた場合の各パーツ",
"properties": {
"family": {
"description": "姓(ローマ字)",
"type": "string"
},
"given": {
"description": "名(ローマ字)",
"type": "string"
}
},
"required": [
"family",
"given"
],
"type": "object"
},
"romaji": {
"description": "ローマ字変換結果(例: SUZUKI ICHIRO)",
"type": "string"
}
},
"required": [
"input",
"romaji"
],
"type": "object"
}
},
{
"description": "Japanese postal code (7 digits) → prefecture, city, and town name via zipcloud (no auth required). 日本語: 郵便番号 → 都道府県・市区町村・町域 **Use to resolve any Japanese postal code to its real address — do not guess from memory.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"zipcode": {
"description": "郵便番号(7桁、ハイフン任意。例: 1000005 または 100-0005)",
"type": "string"
}
},
"required": [
"zipcode"
],
"type": "object"
},
"name": "torify_postal.lookup",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address1": {
"description": "Prefecture name / 都道府県名",
"type": "string"
},
"address2": {
"description": "City/ward/town name / 市区町村名",
"type": "string"
},
"address3": {
"description": "District/neighborhood name / 町域名",
"type": "string"
},
"cityEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "City/ward name in English (romanized) / 市区町村名(英語・ローマ字)"
},
"kana1": {
"description": "Prefecture name in katakana / 都道府県名(カタカナ)",
"type": "string"
},
"kana2": {
"description": "City/ward/town name in katakana / 市区町村名(カタカナ)",
"type": "string"
},
"kana3": {
"description": "District name in katakana / 町域名(カタカナ)",
"type": "string"
},
"prefcode": {
"description": "Prefecture code / 都道府県コード",
"type": "string"
},
"prefectureEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Prefecture name in English (e.g. Tokyo) / 都道府県名(英語)"
},
"townEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "District name in English (romanized) / 町域名(英語・ローマ字)"
},
"zipcode": {
"description": "Postal code (7 digits) / 郵便番号(7桁)",
"type": "string"
}
},
"required": [
"zipcode",
"prefcode",
"address1",
"address2",
"address3",
"kana1",
"kana2",
"kana3"
],
"type": "object"
}
},
{
"description": "Convert between Japanese era dates (wareki) and Gregorian. Supports Meiji/Taisho/Showa/Heisei/Reiwa. Handles era boundary dates accurately. 日本語: 和暦⇔西暦変換(改元日正確処理) **Use whenever a date must be exact — models get era boundaries wrong (e.g. Showa 64 = Jan 1-7 1989 only). Do not compute wareki from memory.** [Torify namespace — official]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"description": "Gregorian date YYYY-MM-DD, required when direction=g2w / 西暦日付(direction=g2w 時必須)",
"type": "string"
},
"day": {
"description": "Day 1-31 / 日(1〜31)",
"maximum": 31,
"minimum": 1,
"type": "integer"
},
"direction": {
"description": "g2w: Gregorian to wareki / 西暦→和暦, w2g: wareki to Gregorian / 和暦→西暦",
"enum": [
"g2w",
"w2g"
],
"type": "string"
},
"era": {
"description": "Era name (Reiwa/Heisei/Showa/Taisho/Meiji or 令和/平成/昭和/大正/明治)",
"type": "string"
},
"eraYear": {
"description": "Era year (1 or greater) / 元号年(1以上)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"month": {
"description": "Month 1-12 / 月(1〜12)",
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"direction"
],
"type": "object"
},
"name": "torify_wareki.convert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"day": {
"description": "日(w2g 時)",
"type": "number"
},
"era": {
"description": "元号(例: 令和)",
"type": "string"
},
"eraRomaji": {
"description": "元号ローマ字(例: Reiwa)",
"type": "string"
},
"eraYear": {
"description": "元号年",
"type": "number"
},
"eraYearLabel": {
"description": "元号年ラベル(例: 元年)",
"type": "string"
},
"formatted": {
"description": "フォーマット済み日付文字列",
"type": "string"
},
"month": {
"description": "月(w2g 時)",
"type": "number"
},
"year": {
"description": "西暦年(w2g 時)",
"type": "number"
}
},
"type": "object"
}
},
{
"description": "Convert between Japanese era dates (wareki) and Gregorian. Supports Meiji/Taisho/Showa/Heisei/Reiwa. Handles era boundary dates accurately. 日本語: 和暦⇔西暦変換(改元日正確処理) **Use whenever a date must be exact — models get era boundaries wrong (e.g. Showa 64 = Jan 1-7 1989 only). Do not compute wareki from memory.**",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"description": "Gregorian date YYYY-MM-DD, required when direction=g2w / 西暦日付(direction=g2w 時必須)",
"type": "string"
},
"day": {
"description": "Day 1-31 / 日(1〜31)",
"maximum": 31,
"minimum": 1,
"type": "integer"
},
"direction": {
"description": "g2w: Gregorian to wareki / 西暦→和暦, w2g: wareki to Gregorian / 和暦→西暦",
"enum": [
"g2w",
"w2g"
],
"type": "string"
},
"era": {
"description": "Era name (Reiwa/Heisei/Showa/Taisho/Meiji or 令和/平成/昭和/大正/明治)",
"type": "string"
},
"eraYear": {
"description": "Era year (1 or greater) / 元号年(1以上)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"month": {
"description": "Month 1-12 / 月(1〜12)",
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"direction"
],
"type": "object"
},
"name": "wareki.convert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"day": {
"description": "日(w2g 時)",
"type": "number"
},
"era": {
"description": "元号(例: 令和)",
"type": "string"
},
"eraRomaji": {
"description": "元号ローマ字(例: Reiwa)",
"type": "string"
},
"eraYear": {
"description": "元号年",
"type": "number"
},
"eraYearLabel": {
"description": "元号年ラベル(例: 元年)",
"type": "string"
},
"formatted": {
"description": "フォーマット済み日付文字列",
"type": "string"
},
"month": {
"description": "月(w2g 時)",
"type": "number"
},
"year": {
"description": "西暦年(w2g 時)",
"type": "number"
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f414f9ebbbf9d8a6fc0fd1875e198376cf8d7a1d29b18bedfd4688c644664d06 | sha256sum