Torify — Japan Locale APIs for AI Agents
Server Details
39 Japanese locale APIs — wareki, NTA invoice, 法人番号, postal, romanization, kanji-kana (Workers AI).
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- torify-dev/torify-examples
- GitHub Stars
- 0
- Server Listing
- Torify — Japanese Locale APIs for AI Agents
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 24 of 24 tools scored. Lowest: 3.6/5.
Every tool is duplicated with and without a 'torify_' prefix, creating 12 pairs of identical tools. This forces agents to arbitrarily choose between them, causing significant ambiguity.
Tools without prefix use a consistent namespace.subtool pattern (e.g., company.fullProfile), while the prefixed set uses torify_namespace.subtool (e.g., torify_company.fullProfile). The two conventions coexist, which is inconsistent, but each group internally follows its own pattern.
24 tools is high but justified by broad Japan locale coverage. However, half are duplicates, so the effective count is 12. Still reasonable for the domain, but slightly inflated.
Covers corporate, invoice, geocoding, postal, law, name, kanji, and wareki conversions. Missing address normalization or station lookup, but core Japan API needs are well addressed.
Available Tools
24 toolscompany.fullProfileCompany Full Profile (Corporate + Invoice)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | 法人番号(13桁の数字、例: 1180301018771) | |
| verify_invoice | No | true のとき対応するT番号(T+法人番号)のインボイス登録状態も確認する(デフォルト: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | 法人種別 |
| name | Yes | 法人名 |
| nameEn | No | 法人名(英語) |
| status | Yes | 法人状態 |
| address | Yes | 住所 |
| sources | Yes | データソース一覧 |
| nameKana | No | 法人名(フリガナ) |
| confidence | Yes | 信頼度スコア(0〜0.99) |
| verified_at | Yes | 確認日時(ISO 8601) |
| houjinBangou | Yes | 法人番号(13桁) |
| invoiceStatus | No | インボイス登録状態(verify_invoice=true のときのみ) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint, openWorldHint, idempotentHint. Description adds useful context: government agencies return invoiceStatus.registered=false correctly. However, does not mention rate limits, authentication, or error handling beyond what is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise at 4 sentences. Front-loaded with purpose. Each sentence adds value. Minor room for improvement by separating sections, but no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (composite), rich annotations, and presence of output schema, the description is complete. It covers purpose, usage guidance, parameter context, and a behavioral nuance about government agency results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description adds context about the composite nature and optional invoice check but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it is a composite tool combining corporate identity (NTA 法人番号 API) and optional invoice registration check (NTA 適格請求書 API). It specifies the input (13-digit corporate number) and output (name, address, kind, status). Distinguishes from siblings like houjin.lookup and invoice.verify by highlighting efficiency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states: '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.' Provides clear when-to-use and references alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geo.geocodeJapan Address GeocoderARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Japanese address string in address format (e.g. 東京都千代田区丸の内一丁目). Landmark/station names (e.g. 東京駅) are not supported. / 住所形式(例: 東京都千代田区丸の内一丁目)。ランドマーク名・駅名は非対応 |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | Yes | 緯度 |
| lng | Yes | 経度 |
| title | Yes | 正規化住所 |
| source | Yes | データソース |
| addressCode | Yes | 住所コード |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint. The description adds that no authentication is required and it calls the GSI AddressSearch API, which goes beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and a bold note. The inclusion of Japanese translation adds some redundancy but does not harm conciseness significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter), existence of output schema, and comprehensive annotations, the description covers all essential aspects: purpose, constraints, API source, and a usage note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the only parameter 'q'. The description reinforces the address format constraint and adds explanatory text in both English and Japanese, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Geocode', the resource 'Japanese address string', and the output 'latitude/longitude'. It distinguishes itself from sibling tools like geo.reverseGeocode by specifying it is for address formatting only and not landmarks/station names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use ('for real coordinates of a Japanese address') and when not to use ('do not estimate from memory', 'landmark names not supported'). It lacks explicit mention of alternatives but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geo.reverseGeocodeJapan Reverse GeocoderARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | 緯度(日本領域: 20-46) | |
| lon | Yes | 経度(日本領域: 122-154) |
Output Schema
| Name | Required | Description |
|---|---|---|
| town | Yes | 町名 |
| source | Yes | データソース |
| muniCode | Yes | 市区町村コード |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds the specific API source (GSI) and output types (municipality code and town name), providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences and a bolded note. Every sentence adds value, and the key information is front-loaded in the first line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the output schema, provides sufficient information about the tool's return value (municipality code and town name) and data source. It lacks details on error handling or edge cases but is generally complete for a reverse geocoding tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions of the lat and lon parameters including valid ranges. The description does not add significant meaning beyond the schema, as it only mentions the parameters implicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: reverse geocoding lat/lng to municipality code and town name using the GSI API. It specifies the geographic scope (Japan) and provides both English and Japanese descriptions, leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a guideline to use the tool for real coordinates and not to infer from memory, but it does not explicitly state when not to use it or compare it with sibling tools like geo.geocode or torify_geo.reverseGeocode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
houjin.lookupJapanese Corporate Number LookupARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | 法人番号(13桁の数字、例: 7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | 法人種別 |
| name | Yes | 法人名 |
| nameEn | No | 法人名(英語) |
| source | Yes | データソース |
| status | Yes | 法人状態 |
| address | Yes | 住所 |
| nameKana | No | 法人名(フリガナ) |
| lastUpdated | No | 最終更新日 |
| houjinBangou | Yes | 法人番号(13桁) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly, openWorld, idempotent hints. Description adds API source (NTA official), data scope (corporate registry), and importantly warns about model recall limitations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences in English and one in Japanese, front-loaded with action and output. No filler, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity of tool (1 param, read-only, official source), description fully covers purpose, usage context, and output fields. Output schema exists externally, so not needed inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the parameter with description in Japanese and example. Description adds English explanation and example but does not significantly enhance understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Verb+resource clearly stated: 'Look up Japanese corporate number' with specific output fields (name, address, kind, status). Distinct from siblings by emphasizing authoritative NTA API data and warning against relying on model weights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use: for authoritative company info, noting model weights are unreliable. Does not explicitly contrast with other sibling tools like company.fullProfile, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice.companyProfileInvoice T-number → Company Profile (Invoice + Corporate)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(T + 13桁、例: T1180301018771) |
Output Schema
| Name | Required | Description |
|---|---|---|
| houjin | No | 法人詳細(registered=true のときに取得) |
| sources | Yes | データソース一覧 |
| cancelDate | No | 取消日(null の場合は未取消) |
| confidence | Yes | 信頼度スコア(0〜0.99) |
| registered | Yes | 適格請求書発行事業者として登録されているか |
| invoiceNumber | Yes | T番号(T + 13桁) |
| registrantName | No | 登録事業者名 |
| registrantNameEn | No | 登録事業者名(ローマ字) |
| registrationDate | No | 登録日 |
| registrantAddress | No | 登録事業者住所 |
| registrantAddressEn | No | 登録事業者住所(英語) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint true, idempotentHint true, openWorldHint true), the description discloses an important behavioral trait: government agencies may return registered=false, which is expected per Japanese tax law. This prepares the agent for false negatives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences including a Japanese equivalent and a usage note. Every sentence adds value, and the main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity as a composite of two APIs and the presence of an output schema, the description adequately explains the source APIs and an edge case. It is complete enough for an agent to use correctly, though it could mention the return format briefly (but output schema covers that).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a description for the single parameter 'number' with format and example. The description reinforces the T-number format but adds little new meaning beyond the schema. Since schema coverage is 100%, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool is a composite that retrieves both invoice registration status and corporate details from a single T-number. It distinguishes itself from siblings like invoice.validate and houjin.lookup by explicitly calling out its composite nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit usage guideline: 'Use when an AI agent receives a T-number and needs to validate both invoice compliance and company identity in one step.' This tells the agent exactly when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice.validateInvoice Number Format ValidatorARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(例: T7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | 番号種別 |
| input | Yes | 入力値 |
| valid | Yes | フォーマットおよびチェックデジットが正しいか |
| format | Yes | バリデーション結果コード |
| checkDigit | No | チェックデジット詳細 |
| houjinBangou | No | T を除いた13桁の法人番号部分 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true. The description adds critical behavioral context: the tool operates offline and does not check registry existence, which sets accurate expectations beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a bolded key limitation and alternative. Every sentence is essential, front-loaded with purpose then limitation, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, clear purpose, and sibling differentiation, the description fully covers what the tool does, its limitations, and where to go for complementary functionality. Output schema presence reduces need for return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for the single parameter. The description adds format rule 'T + 13 digits' which clarifies the required pattern beyond the example given in the schema, adding meaningful guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates Japanese qualified invoice number format and check digit, specifying the format (T + 13 digits). It explicitly distinguishes itself from sibling tool invoice.verify by stating it does not confirm registry existence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use ('offline format/check-digit validation only') and when not to use ('does NOT confirm the number exists in the NTA registry'), and provides a direct alternative: 'To verify real registration, use invoice.verify.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice.verifyInvoice Number NTA VerificationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(例: T7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | 入力値 |
| source | Yes | データソース |
| cancelDate | No | 取消日(nullの場合は未取消) |
| disclaimer | No | 国税庁利用規約に基づく免責表示 |
| registered | Yes | 登録されているか |
| registrantName | No | 登録事業者名 |
| registrationDate | No | 登録日 |
| registrantAddress | No | 登録事業者住所 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds valuable context: it calls an external API, returns specific data, requires an app ID, and notes that registration status changes daily and cannot be inferred from model weights.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured. Front-loaded with main purpose, followed by returns, requirements, Japanese translation, and usage advice. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completely adequate given one parameter, clear annotations, and existing output schema. Covers purpose, return values, prerequisites, usage context, and sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'number' with 100% schema coverage. The description adds no new semantic details about the parameter beyond what the schema already provides (e.g., example format). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies invoice number registration against NTA API, lists returned data (registrant name, address, registration date), and distinguishes from invoice.validate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use ('Always call this before trusting any Japanese invoice number') and when not ('For offline format checks only, use invoice.validate'). Also mentions the prerequisite INVOICE_APP_ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kanji.toKanaKanji to Kana ConverterARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 変換するテキスト(最大500文字) | |
| output | No | 出力形式(既定: hiragana) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kana | Yes | ひらがな/カタカナ変換結果 |
| input | Yes | 入力テキスト |
| output | Yes | 出力形式(hiragana または katakana) |
| source | Yes | 変換エンジン |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: it reveals the underlying AI model (Cloudflare Workers AI, Qwen 1.5 14B), notes optimization for Japanese/Chinese, and warns about potential inaccuracies. This aligns with annotations (readOnlyHint, idempotentHint) and provides honest behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with two effective sentences, plus a Japanese translation that may be redundant for English agents. It front-loads the main purpose and key usage guidance. Minor reduction of the Japanese line could improve efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations covering read-only and idempotency, the description adequately fills remaining gaps: it explains the AI model, input length (max 500 chars), and special use case for proper nouns. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description mentions output options (hiragana, katakana) which are already in the schema enum. It adds no additional semantic detail for individual parameters beyond what the schema provides, but the overall context of AI conversion is useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('convert kanji-containing Japanese text to hiragana or katakana') and the specific resource (Japanese text with kanji). It distinguishes itself from siblings like name.romanize (romanization) and wareki.convert (date conversion) by focusing on kana conversion and AI-based readings for proper nouns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using the tool for obtaining readings of proper nouns, names, and place names, and warns that models frequently guess kanji readings wrong. It provides clear context for use but does not specify when not to use or suggest alternatives, which would strengthen the guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
law.searchJapan Law SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 取得件数(1-50、既定: 10) | |
| title | Yes | 法令タイトル(部分一致、例: 労働基準法) |
Output Schema
| Name | Required | Description |
|---|---|---|
| laws | Yes | 法令一覧 |
| count | Yes | 取得件数 |
| total | Yes | 総ヒット件数 |
| source | Yes | データソース |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds behavioral context beyond annotations: it reveals the API source (e-Gov v2), stresses the authoritative nature, and includes a non-trivial usage warning. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (three sentences plus a Japanese line) and front-loaded with the core action. Every sentence adds value: purpose, source, return fields, authoritative warning. Minor improvement could be restructuring for agent readability, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (not shown), the description need not detail return values. It provides sufficient context: the API source, required parameter, behavioral note, and bilingual support. The tool's role among siblings (law search vs. other lookups) is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with both 'title' and 'limit' described in Japanese. The description does not add further parameter meaning beyond the schema (e.g., it doesn't explain 'title' supports partial matching in English). With complete schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's purpose: searching Japanese laws by title via the e-Gov Hourei API v2. It lists the returned fields (law ID, number, title, promulgation date) and includes a bilingual note. This distinguishes it from siblings like 'houjin.lookup' and provides a specific verb-resource pairing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('call this for the authoritative current law record') and what to avoid ('do not cite Japanese law IDs from memory'). This provides clear context for selecting this tool over alternatives, and also mentions 'no auth required', guiding the agent on prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
name.romanizeJapanese Name RomanizerARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Japanese name in katakana or hiragana. Kanji input is returned as-is (not converted). Add space between family and given name to split parts. / カタカナ必須・漢字入力時は変換されません。姓名の間にスペースを入れると姓/名を分離して変換 | |
| order | No | family-first: family name first / 姓名順(既定), given-first: given name first / 名姓順 |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | 入力値 |
| order | No | 適用した名前順序 |
| parts | No | 姓名に分離できた場合の各パーツ |
| romaji | Yes | ローマ字変換結果(例: SUZUKI ICHIRO) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and idempotentHint. Description adds important context: katakana/hiragana only, kanji behavior, space splitting for family/given name, and order support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key information. The Japanese translation adds length but does not hinder clarity for multilingual agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers input constraints, edge cases (kanji), order options, and usage recommendation. Output schema exists, so return values need not be described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. Description adds practical details like space splitting and order meaning beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool Romanizes Japanese names in Hepburn passport style. It specifies input types (kana) and warns about kanji, distinguishing it from siblings like kanji.toKana.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says input must be katakana/hiragana, kanji returned as-is, and suggests calling kanji.toKana first for kanji names. Also explains the order parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
postal.lookupJapanese Postal Code LookupARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| zipcode | Yes | 郵便番号(7桁、ハイフン任意。例: 1000005 または 100-0005) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kana1 | Yes | Prefecture name in katakana / 都道府県名(カタカナ) |
| kana2 | Yes | City/ward/town name in katakana / 市区町村名(カタカナ) |
| kana3 | Yes | District name in katakana / 町域名(カタカナ) |
| cityEn | No | City/ward name in English (romanized) / 市区町村名(英語・ローマ字) |
| townEn | No | District name in English (romanized) / 町域名(英語・ローマ字) |
| zipcode | Yes | Postal code (7 digits) / 郵便番号(7桁) |
| address1 | Yes | Prefecture name / 都道府県名 |
| address2 | Yes | City/ward/town name / 市区町村名 |
| address3 | Yes | District/neighborhood name / 町域名 |
| prefcode | Yes | Prefecture code / 都道府県コード |
| prefectureEn | No | Prefecture name in English (e.g. Tokyo) / 都道府県名(英語) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations: it states the external service ('via zipcloud') and that 'no auth required'. The annotations already provide readOnlyHint, openWorldHint, and idempotentHint, so the description complements them. It does not contradict any annotation. Rate limits or other constraints are not mentioned, but given the safety annotations, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two lines plus a bold directive. It front-loads the core transformation, includes Japanese for clarity, and ends with a strong usage instruction. Every sentence serves a purpose with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter lookup tool with an output schema and comprehensive annotations, the description covers the input format, transformation, external service, and usage guidance. It is fully adequate for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter 'zipcode', including format and examples. The description does not add additional parameter semantics beyond what the schema provides. It mentions '7 digits' in the description, which is already in the schema. Baseline score of 3 is appropriate since the schema already explains the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the mapping: 'Japanese postal code (7 digits) → prefecture, city, and town name'. It specifies the data source (zipcloud) and that no auth is required. The bold directive 'Use to resolve any Japanese postal code to its real address — do not guess from memory' reinforces the specific use case. This distinguishes it from siblings like geo.geocode or houjin.lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to resolve any Japanese postal code to its real address — do not guess from memory', providing clear guidance on when to use this tool. It implies that guessing is discouraged in favor of this lookup. However, it does not name alternative tools for other lookups or explicitly state when not to use this tool, such as for non-Japanese postal codes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_company.fullProfileCompany Full Profile (Corporate + Invoice) [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | 法人番号(13桁の数字、例: 1180301018771) | |
| verify_invoice | No | true のとき対応するT番号(T+法人番号)のインボイス登録状態も確認する(デフォルト: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | 法人種別 |
| name | Yes | 法人名 |
| nameEn | No | 法人名(英語) |
| status | Yes | 法人状態 |
| address | Yes | 住所 |
| sources | Yes | データソース一覧 |
| nameKana | No | 法人名(フリガナ) |
| confidence | Yes | 信頼度スコア(0〜0.99) |
| verified_at | Yes | 確認日時(ISO 8601) |
| houjinBangou | Yes | 法人番号(13桁) |
| invoiceStatus | No | インボイス登録状態(verify_invoice=true のときのみ) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, and idempotentHint. The description adds valuable behavioral context about government agencies returning invoiceStatus.registered=false and explains it is correct per Japanese tax law, which aids correct interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three sentences, front-loaded with the main purpose. It includes a Japanese translation and usage note, but the repeated '[Torify namespace — official]' tag could be trimmed. Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set (2 params, 1 required), full schema coverage, existing output schema, and annotations covering safety/idempotency, the description is complete: it covers what the tool does, when to use it, and an important edge case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully defined. The description does not add new semantic detail beyond what the schema provides, but it contextualizes the optional verify_invoice parameter within the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'one-call composite' that retrieves both corporate identity and invoice registration status from a 13-digit corporate number. It distinguishes itself from siblings like houjin.lookup and invoice.verify by noting it saves an extra API call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'when you need both corporate identity and invoice status in one step' and mentions the alternative of making separate calls to houjin.lookup and invoice.verify.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_geo.geocodeJapan Address Geocoder [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Japanese address string in address format (e.g. 東京都千代田区丸の内一丁目). Landmark/station names (e.g. 東京駅) are not supported. / 住所形式(例: 東京都千代田区丸の内一丁目)。ランドマーク名・駅名は非対応 |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | Yes | 緯度 |
| lng | Yes | 経度 |
| title | Yes | 正規化住所 |
| source | Yes | データソース |
| addressCode | Yes | 住所コード |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses no auth required and specific API source (GSI AddressSearch API). Annotations already indicate readOnly and idempotent. Description adds context beyond annotations by emphasizing address format constraint and real coordinates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences covering purpose, source, limitation, and a clear instruction. Front-loaded with key info and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only one parameter and presence of output schema, description fully covers purpose, limitations, and behavior. No obvious gap for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for the 'q' parameter. Description adds clarification on valid input format (address vs. landmark) and bilingual example, adding value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it geocodes Japanese addresses to lat/lng via GSI API. Specifies address format only, excluding landmarks/station names. Distinguishes from sibling tools like geo.geocode and torify_geo.reverseGeocode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this for real coordinates of a Japanese address — do not estimate lat/lng from memory.' Also states address format only, providing clear when-to-use and when-not-to-use guidance. Could explicitly name alternatives but still effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_geo.reverseGeocodeJapan Reverse Geocoder [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | 緯度(日本領域: 20-46) | |
| lon | Yes | 経度(日本領域: 122-154) |
Output Schema
| Name | Required | Description |
|---|---|---|
| town | Yes | 町名 |
| source | Yes | データソース |
| muniCode | Yes | 市区町村コード |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, and idempotentHint. The description adds that it uses the GSI API and outputs municipality code and town name, providing behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with a Japanese note, all front-loaded with the core purpose. Every sentence adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema assumed to cover return values, the description sufficiently covers purpose, usage, and source. For a simple reverse geocode tool with 2 params, it is complete and leaves no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description does not add additional parameter details beyond restating 'lat/lng'. Baseline 3 is appropriate as schema handles the semantics well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'reverse geocode', the resource 'lat/lng to municipality code and town name', and identifies the API source (GSI). It distinguishes from siblings by specifying Japan and the official nature, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to map real coordinates to an official municipality — do not infer from memory', providing clear when-to-use and when-not-to-use guidance. This helps the agent avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_houjin.lookupJapanese Corporate Number Lookup [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | 法人番号(13桁の数字、例: 7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | 法人種別 |
| name | Yes | 法人名 |
| nameEn | No | 法人名(英語) |
| source | Yes | データソース |
| status | Yes | 法人状態 |
| address | Yes | 住所 |
| nameKana | No | 法人名(フリガナ) |
| lastUpdated | No | 最終更新日 |
| houjinBangou | Yes | 法人番号(13桁) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, and idempotent hints. Description adds 'via NTA official API' and emphasizes data cannot be recalled from weights, which are useful but not extensive beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus namespace tags. First sentence is clear and front-loaded. Second sentence adds important context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists (not shown), description mentions return fields. Tool is simple and description covers purpose, usage, and source. No gaps noted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'number' is fully described in schema (100% coverage). Description repeats the number format but adds no new semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool looks up Japanese corporate numbers to get company info. Verb 'look up' and resource 'Japanese corporate number' are specific. However, does not differentiate from sibling 'houjin.lookup'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to call for authoritative company info, warning about model hallucination. Provides clear usage context but no exclusion or alternative comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_invoice.companyProfileInvoice T-number → Company Profile [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(T + 13桁、例: T1180301018771) |
Output Schema
| Name | Required | Description |
|---|---|---|
| houjin | No | 法人詳細(registered=true のときに取得) |
| sources | Yes | データソース一覧 |
| cancelDate | No | 取消日(null の場合は未取消) |
| confidence | Yes | 信頼度スコア(0〜0.99) |
| registered | Yes | 適格請求書発行事業者として登録されているか |
| invoiceNumber | Yes | T番号(T + 13桁) |
| registrantName | No | 登録事業者名 |
| registrantNameEn | No | 登録事業者名(ローマ字) |
| registrationDate | No | 登録日 |
| registrantAddress | No | 登録事業者住所 |
| registrantAddressEn | No | 登録事業者住所(英語) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, and idempotentHint. The description adds valuable context that government agencies may return registered=false, which is expected per Japanese tax law, going beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long and well-structured, but includes redundant Japanese text and could be more concise. The key information is front-loaded, but the Japanese repetition adds noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the composite nature (two APIs), one parameter, and the presence of an output schema (not shown), the description is fairly complete. It explains the purpose, data sources, and expected behavior, leaving little ambiguity for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter 'number' with full schema description coverage (100%). The tool description repeats the format (T + 13 digits) and provides an example, adding marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a one-call composite that takes a T-number and returns invoice registration status and corporate details. It specifies the exact format (T + 13 digits) and distinguishes from siblings by naming the data sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when an AI agent receives a T-number and needs to validate both invoice compliance and company identity in one step.' It implies alternatives through sibling tools but does not explicitly list when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_invoice.validateInvoice Number Format Validator [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(例: T7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | 番号種別 |
| input | Yes | 入力値 |
| valid | Yes | フォーマットおよびチェックデジットが正しいか |
| format | Yes | バリデーション結果コード |
| checkDigit | No | チェックデジット詳細 |
| houjinBangou | No | T を除いた13桁の法人番号部分 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds the key limitation that it does not confirm existence in the NTA registry, providing behavioral context beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences in English with a Japanese note, front-loaded with core information. Every sentence is necessary and adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple validation tool with one parameter and output schema present (not shown but implied), the description fully explains its purpose, limitation, and alternative. Annotations cover safety and idempotency, making it completely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'number' described in Japanese. The description adds the format constraint 'T + 13 digits', which is not in the schema's English description, thus adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates Japanese qualified invoice number format and check digit, specifying 'T + 13 digits'. It distinguishes itself from invoice.verify by explicitly noting it does not check the NTA registry, thus differentiating from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use for offline format/check-digit validation only; to verify real registration, use invoice.verify. This clearly communicates when to use and when not to, with an alternative tool named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_invoice.verifyInvoice Number NTA Verification [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | インボイス番号(例: T7000012050002) |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | 入力値 |
| source | Yes | データソース |
| cancelDate | No | 取消日(nullの場合は未取消) |
| disclaimer | No | 国税庁利用規約に基づく免責表示 |
| registered | Yes | 登録されているか |
| registrantName | No | 登録事業者名 |
| registrationDate | No | 登録日 |
| registrantAddress | No | 登録事業者住所 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by disclosing prerequisite (free INVOICE_APP_ID from NTA) and that it hits an external API. Annotations already cover read-only, idempotent, and open-world aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is moderately concise, includes both English and Japanese, and front-loads the core purpose. A bit lengthy but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the description lists return fields (name, address, registration date), plus the annotations cover safety and idempotency, the description is complete for informed tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a full description of the single parameter (number) in Japanese. The description does not add significant extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it verifies invoice number registration against NTA public registry API, returning registrant details. Distinguishes from sibling invoice.validate (offline format check).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call this before trusting any Japanese invoice number, notes that registration status changes daily and cannot be inferred from model weights, and directs to invoice.validate for offline format checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_kanji.toKanaKanji to Kana Converter [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 変換するテキスト(最大500文字) | |
| output | No | 出力形式(既定: hiragana) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kana | Yes | ひらがな/カタカナ変換結果 |
| input | Yes | 入力テキスト |
| output | Yes | 出力形式(hiragana または katakana) |
| source | Yes | 変換エンジン |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint), the description adds that it uses an AI model and that readings may be guessed wrong, providing useful behavioral context about reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences plus a bold warning. It front-loads the action and provides essential context without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the presence of an output schema, the description covers purpose, usage, limitations, and model details. It is complete for an agent to understand and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds no new details about parameter usage beyond mentioning hiragana/katakana options, which is already in the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts kanji-containing Japanese text to hiragana or katakana, specifies the underlying model (Cloudflare Workers AI, Qwen 1.5 14B), and distinguishes itself from sibling tools like romanize by emphasizing readings for proper nouns and names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using the tool to obtain readings for kanji proper nouns, names, and place names, and warns about potential inaccuracies. While it doesn't list alternatives or when not to use, the context implies appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_law.searchJapan Law Search [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 取得件数(1-50、既定: 10) | |
| title | Yes | 法令タイトル(部分一致、例: 労働基準法) |
Output Schema
| Name | Required | Description |
|---|---|---|
| laws | Yes | 法令一覧 |
| count | Yes | 取得件数 |
| total | Yes | 総ヒット件数 |
| source | Yes | データソース |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint. Description adds 'no auth required', API source, and output fields. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a warning and Japanese text. Front-loaded with English purpose. Slight redundancy (Japanese translation) but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema and annotations, description covers API source, auth, return fields, and usage warning. Adequate for a search tool; missing pagination details but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with parameter descriptions. The tool description adds no further parameter details beyond reinforcing 'title' usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches Japanese laws by title using a specific API, lists return fields, and distinguishes itself as the authoritative current law record vs. sibling 'law.search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use: 'Call this for the authoritative current law record' and when not to: 'do not cite Japanese law IDs from memory.' Does not name an alternative tool explicitly but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_name.romanizeJapanese Name Romanizer [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Japanese name in katakana or hiragana. Kanji input is returned as-is (not converted). Add space between family and given name to split parts. / カタカナ必須・漢字入力時は変換されません。姓名の間にスペースを入れると姓/名を分離して変換 | |
| order | No | family-first: family name first / 姓名順(既定), given-first: given name first / 名姓順 |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | 入力値 |
| order | No | 適用した名前順序 |
| parts | No | 姓名に分離できた場合の各パーツ |
| romaji | Yes | ローマ字変換結果(例: SUZUKI ICHIRO) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds behavioral context such as kanji being returned as-is and the effect of spacing in input. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy due to bilingual content, but key information is front-loaded. It could be more concise, but all sentences add value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full parameter descriptions, the description covers input requirements, behavior, and alternatives comprehensively. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions exist. The description adds value by explaining the meaning of the 'name' parameter (space separates parts) and the 'order' parameter (family-first vs given-first), enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs Hepburn romanization of Japanese names in passport style, specifies input formats (katakana/hiragana), and distinguishes from sibling tools by noting that kanji is not converted and directing to kanji.toKana for kanji readings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (romanize katakana/hiragana names) and when not to use (kanji input not converted), and provides an alternative tool (kanji.toKana) for obtaining readings of kanji names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_postal.lookupJapanese Postal Code Lookup [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| zipcode | Yes | 郵便番号(7桁、ハイフン任意。例: 1000005 または 100-0005) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kana1 | Yes | Prefecture name in katakana / 都道府県名(カタカナ) |
| kana2 | Yes | City/ward/town name in katakana / 市区町村名(カタカナ) |
| kana3 | Yes | District name in katakana / 町域名(カタカナ) |
| cityEn | No | City/ward name in English (romanized) / 市区町村名(英語・ローマ字) |
| townEn | No | District name in English (romanized) / 町域名(英語・ローマ字) |
| zipcode | Yes | Postal code (7 digits) / 郵便番号(7桁) |
| address1 | Yes | Prefecture name / 都道府県名 |
| address2 | Yes | City/ward/town name / 市区町村名 |
| address3 | Yes | District/neighborhood name / 町域名 |
| prefcode | Yes | Prefecture code / 都道府県コード |
| prefectureEn | No | Prefecture name in English (e.g. Tokyo) / 都道府県名(英語) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation readOnlyHint, openWorldHint, and idempotentHint already indicate safe, read-only behavior. Description adds that it uses the zipcloud API and requires no authentication, which is useful context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence followed by a usage instruction and a namespace tag. It is front-loaded and efficient, though the trailing '[Torify namespace — official]' could be considered redundant given the tool name includes 'torify'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given high schema coverage (100%), annotations covering safety, and the presence of an output schema (though not displayed), the description provides sufficient context: what the tool does, input format, and no-auth requirement. It does not explain return value structure, but output schema exists to cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter zipcode is fully described in the input schema (type string, format 7 digits with optional hyphen). The description adds no additional semantic detail beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool converts a Japanese postal code to prefecture/city/town using zipcloud. It specifies input format (7 digits, optional hyphen) and output fields. The '[Torify namespace — official]' tag helps distinguish from the non-torify sibling, but no explicit differentiation between similar siblings like postal.lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use to resolve any Japanese postal code to its real address — do not guess from memory.' This provides clear usage context but does not mention when not to use or alternative tools (e.g., non-torify version). No exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
torify_wareki.convertJapanese Era Date Converter [Torify namespace — official]ARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Day 1-31 / 日(1〜31) | |
| era | No | Era name (Reiwa/Heisei/Showa/Taisho/Meiji or 令和/平成/昭和/大正/明治) | |
| date | No | Gregorian date YYYY-MM-DD, required when direction=g2w / 西暦日付(direction=g2w 時必須) | |
| month | No | Month 1-12 / 月(1〜12) | |
| eraYear | No | Era year (1 or greater) / 元号年(1以上) | |
| direction | Yes | g2w: Gregorian to wareki / 西暦→和暦, w2g: wareki to Gregorian / 和暦→西暦 |
Output Schema
| Name | Required | Description |
|---|---|---|
| day | No | 日(w2g 時) |
| era | No | 元号(例: 令和) |
| year | No | 西暦年(w2g 時) |
| month | No | 月(w2g 時) |
| eraYear | No | 元号年 |
| eraRomaji | No | 元号ローマ字(例: Reiwa) |
| formatted | No | フォーマット済み日付文字列 |
| eraYearLabel | No | 元号年ラベル(例: 元年) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating safe, non-destructive behavior. The description adds that it 'handles era boundary dates accurately,' a key behavioral trait not covered by annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, front-loading the key purpose and usage. The Japanese note is included but not excessive. Could be slightly more compact by merging the first two sentences, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown here), the description does not need to explain return values. It covers purpose, usage guidelines, supported eras, and behavioral note. Missing example usage but overall complete for a conversion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds context for the 'direction' parameter (g2w/w2g) and emphasizes accuracy for era boundaries, which goes beyond the schema. This adds meaningful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts between Japanese era dates and Gregorian, lists all supported eras (Meiji/Taisho/Showa/Heisei/Reiwa), and mentions accurate handling of boundary dates. The title 'Japanese Era Date Converter' further reinforces the purpose. It differentiates from siblings by being the only date conversion tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool 'whenever a date must be exact' and warns that 'models get era boundaries wrong.' It instructs not to compute wareki from memory, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wareki.convertJapanese Era Date ConverterARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Day 1-31 / 日(1〜31) | |
| era | No | Era name (Reiwa/Heisei/Showa/Taisho/Meiji or 令和/平成/昭和/大正/明治) | |
| date | No | Gregorian date YYYY-MM-DD, required when direction=g2w / 西暦日付(direction=g2w 時必須) | |
| month | No | Month 1-12 / 月(1〜12) | |
| eraYear | No | Era year (1 or greater) / 元号年(1以上) | |
| direction | Yes | g2w: Gregorian to wareki / 西暦→和暦, w2g: wareki to Gregorian / 和暦→西暦 |
Output Schema
| Name | Required | Description |
|---|---|---|
| day | No | 日(w2g 時) |
| era | No | 元号(例: 令和) |
| year | No | 西暦年(w2g 時) |
| month | No | 月(w2g 時) |
| eraYear | No | 元号年 |
| eraRomaji | No | 元号ローマ字(例: Reiwa) |
| formatted | No | フォーマット済み日付文字列 |
| eraYearLabel | No | 元号年ラベル(例: 元年) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, so the description carries less burden. It adds context about accurate boundary handling and supported eras, which is useful beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two core sentences plus a Japanese translation. Front-loaded with purpose and usage. The Japanese line is redundant for English agents but may help bilingual contexts. Still concise and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description doesn't need return-value details. It fully covers purpose, supported eras, boundary accuracy, and usage context. For a specialized conversion tool, this is complete and addresses the common failure mode (model errors).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions (bilingual, min/max). The description adds no parameter-specific meaning beyond listing eras. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it converts between Japanese era dates (wareki) and Gregorian, lists supported eras (Meiji/Taisho/Showa/Heisei/Reiwa), and emphasizes accurate boundary handling. This distinguishes it from siblings like geo.geocode or kanji.toKana, which are unrelated tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use whenever a date must be exact' and warns against relying on model memory for era boundaries. Provides a concrete example (Showa 64). This gives clear when-to-use and when-not-to-use guidance, with no alternative tools for wareki conversion among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.