Koskamo

Japan Qualified Invoice Issuers MCP

An MCP server that relays daily difference files from the National Tax Agency of Japan regarding qualified invoice issuer status for corporations. It allows agents to look up registration status by T-number or corporate number, check for cancellations or expiries, and view change history. It processes NTA data with English labels and records changes since October 2026.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Japan Qualified Invoice Issuers MCP logo, by MK Career PlanningCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by MK Career Planning
MCP endpoint (Streamable HTTP)
https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp
Vendor documentation

What you can do with it

  • Look up if a Japanese corporation is a registered qualified invoice issuer
  • Check registration cancellation or expiry dates for a corporation
  • Retrieve change history for qualified invoice issuer registrations

Source and maintenance

Community listingRegistry 0.1.0

Protocol and capabilities

Server
jp-invoice-registry 0.1.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

4 advertised

catalog — Catalog: tools, prices and limits
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the tools of this server with prices, data sources, licensing, daily limits and data freshness.

catalog input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
catalog output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "server",
    "payment",
    "daily_limits",
    "paused",
    "tools",
    "legal",
    "terms"
  ],
  "properties": {
    "legal": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "price_usd",
          "description"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "price_usd": {
            "type": "number",
            "description": "Price per call in USD (0 = free)."
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "description": "Every tool of this server with its price."
    },
    "paused": {
      "type": "object",
      "description": "Operator pause flags (true = paused).",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "server": {
      "type": "object",
      "required": [
        "name",
        "version",
        "stage"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "stage": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "payment": {
      "type": "object",
      "required": [
        "protocol",
        "network",
        "asset",
        "enabled"
      ],
      "properties": {
        "asset": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "network": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "daily_limits": {
      "type": "object",
      "properties": {},
      "description": "Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice.",
      "additionalProperties": {}
    },
    "fetch_status_values": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "additionalProperties": {}
}
catalog annotations
{
  "readOnlyHint": true
}
invoice_registration_lookup — Look up a qualified invoice issuer registration (corporations)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is this Japanese corporation a registered qualified invoice issuer, since when, and was it cancelled or did it expire? Give number (T1000020109142) or corporate_number (13 digits); the check digit is validated. Returns listed, expired (cancellation or expiry date passed) or unknown, with NTA's published dates, the difference file used, fetched_at and recorded changes. Corporations only. A number not seen in the recorded files is unknown, never 'not registered'.

invoice_registration_lookup input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "number": {
      "type": "string",
      "maxLength": 40,
      "description": "Registration number: T followed by 13 digits, e.g. T1000020109142 (width, spaces and hyphens ignored)"
    },
    "corporate_number": {
      "type": "string",
      "maxLength": 40,
      "description": "Corporate number (houjin bangou), 13 digits, e.g. 1000020109142; looked up as T + the 13 digits"
    }
  }
}
invoice_registration_lookup output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "official_check",
    "query",
    "status",
    "status_note",
    "unknown_reason",
    "registration",
    "recorded_changes",
    "registry_status",
    "data_version",
    "nta_notice",
    "legal_notice",
    "attribution",
    "answered_at",
    "provenance",
    "terms"
  ],
  "properties": {
    "query": {
      "type": "object",
      "required": [
        "registration_number"
      ],
      "properties": {
        "registration_number": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "status": {
      "enum": [
        "listed",
        "expired",
        "unknown"
      ],
      "type": "string",
      "description": "listed = the latest recorded record shows a registration; expired = it shows a cancellation or expiry date that has passed; unknown = not in the changes recorded since tracking_since while the full file is not loaded (not_in_recorded_changes_full_file_not_loaded; never means not registered), or data not loaded, stale, still loading, or a gap."
    },
    "nta_notice": {
      "type": "object",
      "required": [
        "en",
        "ja"
      ],
      "properties": {
        "en": {
          "type": "string"
        },
        "ja": {
          "type": "string"
        }
      },
      "description": "Always pass on: cancellation and expiry are published facts with the dates as published, not an assessment of the business.",
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "answered_at": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "required": [
        "source_ja",
        "processed_ja",
        "source_en",
        "terms_url",
        "license_url",
        "license_note"
      ],
      "properties": {
        "source_en": {
          "type": "string"
        },
        "source_ja": {
          "type": "string"
        },
        "terms_url": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "license_note": {
          "type": "string"
        },
        "processed_ja": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "status_note": {
      "type": "string"
    },
    "data_version": {
      "type": "object",
      "required": [
        "tracking_since",
        "full_file_loaded",
        "gaps"
      ],
      "properties": {
        "gaps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          }
        },
        "tracking_since": {
          "type": [
            "string",
            "null"
          ]
        },
        "full_file_loaded": {
          "type": "boolean"
        }
      },
      "additionalProperties": {}
    },
    "legal_notice": {
      "type": "string"
    },
    "registration": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "registration_number",
            "corporate_number",
            "name",
            "head_office_address",
            "registration_date",
            "cancellation_date",
            "expiry_date",
            "registration_status",
            "registration_status_date",
            "status_statement",
            "first_seen_file_date",
            "last_change_file_date",
            "source"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name as published by NTA."
            },
            "source": {
              "type": "object",
              "required": [
                "file_date",
                "file_url",
                "fetched_at",
                "list_url"
              ],
              "properties": {
                "file_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "list_url": {
                  "type": "string"
                },
                "file_date": {
                  "type": "string"
                },
                "fetched_at": {
                  "type": "string"
                }
              },
              "additionalProperties": {}
            },
            "expiry_date": {
              "type": [
                "string",
                "null"
              ],
              "description": "Expiry date (shikko) as published, YYYY-MM-DD."
            },
            "corporate_number": {
              "type": [
                "string",
                "null"
              ],
              "description": "The 13 digits for a corporation (combine with jp-entity-evidence or jp-gbizinfo)."
            },
            "status_statement": {
              "type": "string"
            },
            "cancellation_date": {
              "type": [
                "string",
                "null"
              ],
              "description": "Cancellation date (torikeshi) as published, YYYY-MM-DD."
            },
            "registration_date": {
              "type": [
                "string",
                "null"
              ]
            },
            "head_office_address": {
              "type": [
                "string",
                "null"
              ]
            },
            "registration_number": {
              "type": "string",
              "description": "T followed by 13 digits, as published."
            },
            "registration_status": {
              "enum": [
                "registered",
                "registration_scheduled",
                "cancellation_scheduled",
                "expiry_scheduled",
                "cancelled",
                "expired"
              ],
              "type": "string",
              "description": "Computed from the published dates against today (Japan time)."
            },
            "first_seen_file_date": {
              "type": "string"
            },
            "last_change_file_date": {
              "type": "string"
            },
            "registration_status_date": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "official_check": {
      "type": "object",
      "required": [
        "message",
        "urls"
      ],
      "properties": {
        "urls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        }
      },
      "description": "Read first: as published by NTA; check the official site listed here before relying on this answer.",
      "additionalProperties": {}
    },
    "unknown_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "registry_status": {
      "type": "object",
      "required": [
        "registry",
        "registry_name_en",
        "registry_name_ja",
        "authority",
        "status",
        "unknown_reason",
        "status_since",
        "status_as_of",
        "last_observed_at",
        "tracking_since",
        "source_url",
        "matched_records",
        "match_basis",
        "limitations"
      ],
      "properties": {
        "status": {
          "enum": [
            "listed",
            "not_found_in_checked_records",
            "no_longer_listed_since",
            "expired",
            "unknown"
          ],
          "type": "string",
          "description": "listed: A record matching the query by identifier or exact name is in the version of the official record checked (status_as_of). not_found_in_checked_records: No matching record in the version checked. It says nothing about other registries, other names or periods before tracking_since. no_longer_listed_since: A matching record was seen by this service earlier and is not in the current version since the date given. The reason is not published here and is not inferred. expired: The official record itself states an end or expiry date that has passed. The reason is not inferred. unknown: Could not be determined: not checked, data unavailable or stale, or only similar-name candidates were found (see unknown_reason)."
        },
        "registry": {
          "type": "string"
        },
        "authority": {
          "type": "string"
        },
        "source_url": {
          "type": "string"
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "match_basis": {
          "enum": [
            "exact_id",
            "exact_name",
            "fuzzy_candidate",
            "none"
          ],
          "type": "string"
        },
        "status_as_of": {
          "type": [
            "string",
            "null"
          ]
        },
        "status_since": {
          "type": [
            "string",
            "null"
          ]
        },
        "tracking_since": {
          "type": [
            "string",
            "null"
          ]
        },
        "unknown_reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "matched_records": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          }
        },
        "last_observed_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "registry_name_en": {
          "type": "string"
        },
        "registry_name_ja": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "recorded_changes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "file_date",
          "file_key",
          "observed_at",
          "registration_number",
          "event_type",
          "statement",
          "process",
          "registration_date",
          "cancellation_date",
          "expiry_date",
          "record"
        ],
        "properties": {
          "record": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "registration_number",
                  "corporate_number",
                  "name",
                  "head_office_address",
                  "registration_date",
                  "cancellation_date",
                  "expiry_date"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name as published by NTA."
                  },
                  "expiry_date": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Expiry date (shikko) as published, YYYY-MM-DD."
                  },
                  "corporate_number": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The 13 digits for a corporation (combine with jp-entity-evidence or jp-gbizinfo)."
                  },
                  "cancellation_date": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Cancellation date (torikeshi) as published, YYYY-MM-DD."
                  },
                  "registration_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "head_office_address": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "registration_number": {
                    "type": "string",
                    "description": "T followed by 13 digits, as published."
                  }
                },
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "process": {
            "type": "string"
          },
          "file_key": {
            "type": "string"
          },
          "file_date": {
            "type": "string",
            "description": "Creation date of the NTA difference file."
          },
          "statement": {
            "type": "string"
          },
          "event_type": {
            "enum": [
              "registered",
              "details_changed",
              "expired",
              "cancelled",
              "record_deleted",
              "past_record"
            ],
            "type": "string"
          },
          "expiry_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "observed_at": {
            "type": "string",
            "description": "When this service read the file."
          },
          "cancellation_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "registration_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "registration_number": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": {}
}
invoice_registration_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
invoice_registration_changes — Qualified invoice issuer changes (corporations)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Which Japanese corporations were newly registered as qualified invoice issuers, had their published details changed, or had their registration cancelled or expired, in NTA's daily difference files since a date? From this service's own record of the files it read (NTA keeps them 40 business days). Each change has the file date, observed_at, the event type and the dates as published. Corporations only. Free window: last 30 days; page with next_cursor.

invoice_registration_changes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "since"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "description": "Maximum number of changes, 1-500 (default 100)"
    },
    "since": {
      "type": "string",
      "maxLength": 40,
      "description": "ISO 8601 date or date-time with time zone, e.g. 2026-10-01; changes in difference files created on or after that date"
    },
    "cursor": {
      "type": "string",
      "maxLength": 40,
      "description": "next_cursor from a previous answer, to read the next page"
    },
    "event_type": {
      "enum": [
        "registered",
        "details_changed",
        "expired",
        "cancelled",
        "record_deleted",
        "past_record"
      ],
      "type": "string",
      "description": "Optional filter: registered, details_changed, expired, cancelled, record_deleted or past_record"
    }
  }
}
invoice_registration_changes output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "official_check",
    "query",
    "tracking_since",
    "history_window",
    "coverage",
    "files_observed",
    "changes",
    "truncated",
    "next_cursor",
    "nta_notice",
    "legal_notice",
    "history_note",
    "attribution",
    "answered_at",
    "provenance",
    "terms"
  ],
  "properties": {
    "query": {
      "type": "object",
      "required": [
        "since",
        "since_file_date"
      ],
      "properties": {
        "since": {
          "type": "string"
        },
        "since_file_date": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "file_date",
          "file_key",
          "observed_at",
          "registration_number",
          "event_type",
          "statement",
          "process",
          "registration_date",
          "cancellation_date",
          "expiry_date",
          "record"
        ],
        "properties": {
          "record": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "registration_number",
                  "corporate_number",
                  "name",
                  "head_office_address",
                  "registration_date",
                  "cancellation_date",
                  "expiry_date"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name as published by NTA."
                  },
                  "expiry_date": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Expiry date (shikko) as published, YYYY-MM-DD."
                  },
                  "corporate_number": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The 13 digits for a corporation (combine with jp-entity-evidence or jp-gbizinfo)."
                  },
                  "cancellation_date": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Cancellation date (torikeshi) as published, YYYY-MM-DD."
                  },
                  "registration_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "head_office_address": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "registration_number": {
                    "type": "string",
                    "description": "T followed by 13 digits, as published."
                  }
                },
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "process": {
            "type": "string"
          },
          "file_key": {
            "type": "string"
          },
          "file_date": {
            "type": "string",
            "description": "Creation date of the NTA difference file."
          },
          "statement": {
            "type": "string"
          },
          "event_type": {
            "enum": [
              "registered",
              "details_changed",
              "expired",
              "cancelled",
              "record_deleted",
              "past_record"
            ],
            "type": "string"
          },
          "expiry_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "observed_at": {
            "type": "string",
            "description": "When this service read the file."
          },
          "cancellation_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "registration_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "registration_number": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "description": "Corporate rows of the NTA difference files read by this service, oldest first."
    },
    "coverage": {
      "type": "object",
      "required": [
        "since_before_tracking",
        "note"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "since_before_tracking": {
          "type": "boolean"
        }
      },
      "additionalProperties": {}
    },
    "truncated": {
      "type": "boolean"
    },
    "nta_notice": {
      "type": "object",
      "required": [
        "en",
        "ja"
      ],
      "properties": {
        "en": {
          "type": "string"
        },
        "ja": {
          "type": "string"
        }
      },
      "description": "Always pass on: cancellation and expiry are published facts with the dates as published, not an assessment of the business.",
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "answered_at": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "required": [
        "source_ja",
        "processed_ja",
        "source_en",
        "terms_url",
        "license_url",
        "license_note"
      ],
      "properties": {
        "source_en": {
          "type": "string"
        },
        "source_ja": {
          "type": "string"
        },
        "terms_url": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "license_note": {
          "type": "string"
        },
        "processed_ja": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "history_note": {
      "type": "string"
    },
    "legal_notice": {
      "type": "string"
    },
    "files_observed": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "file_date",
          "status"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "file_date": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    },
    "history_window": {
      "type": "object",
      "required": [
        "free_days",
        "requested_since",
        "served_since",
        "clamped",
        "older_history"
      ],
      "properties": {
        "clamped": {
          "type": "boolean",
          "description": "true when requested_since was earlier than the free window and the answer covers only the window."
        },
        "free_days": {
          "type": "number",
          "description": "Days of recorded history served free of charge."
        },
        "served_since": {
          "type": "string",
          "description": "The since actually applied: requested_since, or the start of the free window if requested_since was earlier."
        },
        "older_history": {
          "type": "string",
          "description": "Status of recorded history older than the free window."
        },
        "requested_since": {
          "type": "string",
          "description": "The since you asked for (normalized to ISO 8601)."
        }
      },
      "description": "Free history window applied to this answer.",
      "additionalProperties": {}
    },
    "official_check": {
      "type": "object",
      "required": [
        "message",
        "urls"
      ],
      "properties": {
        "urls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        }
      },
      "description": "Read first: as published by NTA; check the official site listed here before relying on this answer.",
      "additionalProperties": {}
    },
    "tracking_since": {
      "type": [
        "string",
        "null"
      ],
      "description": "Date of the first NTA difference file this service read. Nothing before it was observed."
    }
  },
  "additionalProperties": {}
}
invoice_registration_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
get_receipt — Get receipt of a paid call
Advertised by the server during the last successful anonymous check.
Advertised read-only

Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 30 days after settlement.

get_receipt input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "receipt_id"
  ],
  "properties": {
    "receipt_id": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "The receipt_id returned with a paid result (\"rcpt_\" + 64 hex characters)."
    }
  }
}
get_receipt output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "receipt_id",
    "tool",
    "settled_at",
    "payment",
    "result",
    "provenance",
    "terms"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "description": "Name of the paid tool that produced the result."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "result": {
      "description": "The stored result, exactly as returned by the paid call."
    },
    "payment": {
      "type": "object",
      "required": [
        "network",
        "transaction"
      ],
      "properties": {
        "network": {
          "type": [
            "string",
            "null"
          ]
        },
        "transaction": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "receipt_id": {
      "type": "string",
      "description": "Receipt id of the settled paid call (\"rcpt_\" + 64 hex). Use with get_receipt."
    },
    "settled_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": {}
}
get_receipt annotations
{
  "readOnlyHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1096 ms
95th percentile latency
1096 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1096 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http japan-qualified-invoice-issuers-mcp https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add japan-qualified-invoice-issuers-mcp --url https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable japan-qualified-invoice-issuers-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "japan-qualified-invoice-issuers-mcp": {
      "url": "https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "japan-qualified-invoice-issuers-mcp": {
      "type": "streamableHttp",
      "url": "https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start japan-qualified-invoice-issuers-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "japan-qualified-invoice-issuers-mcp": {
      "type": "http",
      "url": "https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http japan-qualified-invoice-issuers-mcp https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "japan-qualified-invoice-issuers-mcp": {
      "url": "https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "japan-qualified-invoice-issuers-mcp": {
      "serverUrl": "https://jp-invoice-registry-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Japan Qualified Invoice Issuers MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.