MCPサーバー

reference-data-mcp-server

io.github.cyanheads/reference-data-mcp-server
開発者向けツール 科学・工学 公開・接続可能 MCP 2025-11-25

このMCPでできること

Provides reference lookups for countries, time zones, physical constants, chemical elements, HTTP status codes, MIME types, and unit conversions.

ref_constant_lookup
Physical Constant Lookup
Look up a fundamental physical constant by name, symbol, or common alias. Returns the CODATA 2022 value, SI unit expression, relative standard uncertainty, and a short description. Recognizes common names and symbols — "speed of light", "c", "Avogadro's number", "N_A", "Planck", "h", "Boltzmann", "k_B" all resolve correctly. Fuzzy matching returns the closest match plus alternatives.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Constant name, symbol, or common alias (e.g., "speed of light", "c", "Avogadro", "N_A", "Planck constant", "h").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['name', 'symbol', 'value', 'unit', 'uncertainty', 'uncertainty_relative', 'description', 'codata_id', 'exact', 'match_strategy', 'dataset_version', 'related']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Full CODATA constant name.'}, 'unit': {'type': 'string', 'description': 'SI unit expression (e.g., "m sâ\x81»Â¹", "J Kâ\x81»Â¹", "dimensionless").'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: No constant matched the query. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'exact': {'type': 'boolean', 'description': 'True when the constant has an exact defined value (no experimental uncertainty).'}, 'value': {'type': 'number', 'description': 'Numeric value in SI units.'}, 'symbol': {'type': 'string', 'description': 'Standard mathematical symbol.'}, 'related': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'symbol'], 'properties': {'name': {'type': 'string', 'description': 'Related constant name.'}, 'symbol': {'type': 'string', 'description': 'Related constant symbol.'}}, 'description': 'A related constant that also matched the query.', 'additionalProperties': False}, 'description': 'Related constants that also matched the query.'}, 'codata_id': {'type': ['string', 'null'], 'description': 'CODATA identifier string, or null if not in CODATA registry.'}, 'description': {'type': 'string', 'description': 'Short description of the constant and its significance.'}, 'uncertainty': {'type': ['number', 'null'], 'description': 'Absolute standard uncertainty in SI units. Null for exactly-defined constants.'}, 'match_strategy': {'enum': ['exact_symbol', 'exact_name', 'fuzzy'], 'type': 'string', 'description': 'How this constant was matched: exact_symbol = case-sensitive symbol hit (e.g. "G"), exact_name = exact alias/name match, fuzzy = partial or contains match. fuzzy signals the query was imprecise and the result is the closest candidate.'}, 'dataset_version': {'type': 'string', 'description': 'Data source version (CODATA year).'}, 'uncertainty_relative': {'type': ['string', 'null'], 'description': 'Relative standard uncertainty or "exact (defined)" for exact values.'}}, 'additionalProperties': False}
ref_element_lookup
Element Lookup
Look up a periodic table element by name, chemical symbol, or atomic number. Returns the full data record: atomic number, symbol, name, atomic mass (in unified atomic mass units), electron configuration, group, period, block, category (e.g., "noble gas", "transition metal"), Pauling electronegativity, density (g/cm³), melting and boiling points in kelvin, and discovery year. Properties unavailable for synthetic or insufficiently studied elements are returned as null.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'by': {'enum': ['auto', 'name', 'symbol', 'number'], 'type': 'string', 'default': 'auto', 'description': 'Lookup mode: auto tries atomic number, then symbol, then name.'}, 'query': {'type': 'string', 'description': 'Element name (e.g., "tungsten"), chemical symbol (e.g., "W"), or atomic number as a string (e.g., "74").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['number', 'symbol', 'name', 'atomic_mass', 'atomic_mass_estimated', 'electron_configuration', 'group', 'period', 'block', 'category', 'electronegativity_pauling', 'density_g_per_cm3', 'melting_point_k', 'boiling_point_k', 'discovery_year', 'discovery_scientists', 'appearance', 'phase_at_stp', 'radioactive', 'natural', 'dataset_version']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'IUPAC element name.'}, 'block': {'type': 'string', 'description': 'Electron block: s, p, d, or f.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: No element matched the query. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'group': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Periodic table group number (1â\x80\x9318). Null for lanthanides and actinides.'}, 'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Atomic number (proton count).'}, 'period': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Periodic table period number (1â\x80\x937).'}, 'symbol': {'type': 'string', 'description': 'Chemical symbol (e.g., "Fe").'}, 'natural': {'type': 'boolean', 'description': 'True if the element occurs naturally on Earth.'}, 'category': {'type': 'string', 'description': 'Element category (e.g., "transition metal", "noble gas", "lanthanide").'}, 'appearance': {'type': ['string', 'null'], 'description': 'Physical appearance description. Null for synthetic elements not macroscopically observed.'}, 'atomic_mass': {'type': ['number', 'null'], 'description': 'Standard atomic mass in unified atomic mass units (u). Null for unstable elements with no standard mass.'}, 'radioactive': {'type': 'boolean', 'description': 'True if all isotopes are radioactive (no stable isotopes).'}, 'phase_at_stp': {'type': 'string', 'description': 'Phase at standard temperature and pressure: Solid, Liquid, or Gas.'}, 'discovery_year': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Year of discovery. Null for elements known since antiquity.'}, 'boiling_point_k': {'type': ['number', 'null'], 'description': 'Boiling point in kelvin at standard pressure. Null for unstable or synthetic elements.'}, 'dataset_version': {'type': 'string', 'description': 'Data source version identifier.'}, 'melting_point_k': {'type': ['number', 'null'], 'description': 'Melting point in kelvin at standard pressure. Null for unstable or synthetic elements.'}, 'density_g_per_cm3': {'type': ['number', 'null'], 'description': 'Density in grams per cubic centimeter at STP. Null for synthetic or poorly studied elements.'}, 'discovery_scientists': {'type': ['string', 'null'], 'description': 'Scientist(s) credited with discovery. Null for elements known since antiquity.'}, 'atomic_mass_estimated': {'type': 'boolean', 'description': 'True when the atomic mass is estimated or based on the most stable isotope rather than a natural abundance average.'}, 'electron_configuration': {'type': 'string', 'description': 'Electron configuration using noble gas shorthand (e.g., "[Ar] 3d6 4s2").'}, 'electronegativity_pauling': {'type': ['number', 'null'], 'description': 'Pauling electronegativity scale value. Null for noble gases and heavy synthetic elements.'}}, 'additionalProperties': False}
ref_element_search
Element Search
Filter periodic table elements by category, group, period, atomic number range, or atomic mass range. At least one filter is required. Returns matching elements as a summary list. Use ref_element_lookup for the full record on a specific element. Valid categories: alkali metal, alkaline earth metal, transition metal, post-transition metal, metalloid, reactive nonmetal, noble gas, lanthanide, actinide.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'group': {'type': 'integer', 'maximum': 18, 'minimum': 1, 'description': 'Periodic table group number (1â\x80\x9318). Lanthanides and actinides have no group.'}, 'period': {'type': 'integer', 'maximum': 7, 'minimum': 1, 'description': 'Periodic table period (1â\x80\x937).'}, 'category': {'type': 'string', 'description': 'Element category (partial match): alkali metal, alkaline earth metal, transition metal, post-transition metal, metalloid, reactive nonmetal, noble gas, lanthanide, actinide.'}, 'atomic_mass_range': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number', 'description': 'Maximum value (inclusive).'}, 'min': {'type': 'number', 'description': 'Minimum value (inclusive).'}}, 'description': 'Inclusive range of atomic mass in unified atomic mass units.'}, 'atomic_number_range': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number', 'description': 'Maximum value (inclusive).'}, 'min': {'type': 'number', 'description': 'Minimum value (inclusive).'}}, 'description': 'Inclusive range of atomic numbers to include.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['results', 'totalMatches', 'appliedFilters']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_filters'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_filters`: No filter was provided. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Recovery hint when no elements matched â\x80\x94 echoes active filters and suggests how to broaden.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'symbol', 'name', 'atomic_mass', 'atomic_mass_estimated', 'category'], 'properties': {'name': {'type': 'string', 'description': 'IUPAC element name.'}, 'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Atomic number.'}, 'symbol': {'type': 'string', 'description': 'Chemical symbol.'}, 'category': {'type': 'string', 'description': 'Element category.'}, 'atomic_mass': {'type': ['number', 'null'], 'description': 'Atomic mass in unified atomic mass units. Null for unstable elements.'}, 'atomic_mass_estimated': {'type': 'boolean', 'description': 'True when the atomic mass is estimated.'}}, 'description': 'Summary for a matching element.', 'additionalProperties': False}, 'description': 'Matching element summaries.'}, 'totalMatches': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of elements matching all filters.'}, 'appliedFilters': {'type': 'object', 'properties': {'group': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Group filter applied.'}, 'period': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Period filter applied.'}, 'category': {'type': 'string', 'description': 'Category filter applied.'}, 'atomic_mass_range': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number', 'description': 'Maximum value (inclusive).'}, 'min': {'type': 'number', 'description': 'Minimum value (inclusive).'}}, 'description': 'Atomic mass range applied.', 'additionalProperties': False}, 'atomic_number_range': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number', 'description': 'Maximum value (inclusive).'}, 'min': {'type': 'number', 'description': 'Minimum value (inclusive).'}}, 'description': 'Atomic number range applied.', 'additionalProperties': False}}, 'description': 'Active filters applied to the search.', 'additionalProperties': False}}, 'additionalProperties': False}
ref_geo_lookup
Country Lookup
Look up a country by name, ISO alpha-2 code (2 letters), or ISO alpha-3 code (3 letters). Returns the full record: capital, region, official languages, currencies, calling codes, TLD, flag emoji, and IANA timezone IDs. Accepts fuzzy name matching — "Brasil" and "Brazil" both resolve.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'by': {'enum': ['auto', 'name', 'alpha2', 'alpha3'], 'type': 'string', 'default': 'auto', 'description': 'Lookup strategy: auto tries alpha2, alpha3, then name in order.'}, 'query': {'type': 'string', 'description': 'Country name (e.g., "Germany"), ISO alpha-2 code (e.g., "DE"), or ISO alpha-3 code (e.g., "DEU").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['alpha2', 'alpha3', 'name', 'native_name', 'capital', 'region', 'subregion', 'languages', 'currencies', 'calling_codes', 'tld', 'flag', 'timezones']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'tld': {'type': ['string', 'null'], 'description': 'Country-code top-level domain (e.g., ".de"), or null if not applicable.'}, 'flag': {'type': 'string', 'description': 'Flag emoji (e.g., ð\x9f\x87©ð\x9f\x87ª).'}, 'name': {'type': 'string', 'description': 'Official English country name.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: No country matched the query. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'alpha2': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 code (2 letters).'}, 'alpha3': {'type': 'string', 'description': 'ISO 3166-1 alpha-3 code (3 letters).'}, 'notice': {'type': 'string', 'description': 'Present only when the country was resolved via fuzzy name matching (starts-with or contains), not an exact code or name hit. Echoes the query and the resolved country so the caller can normalize follow-up lookups.'}, 'region': {'type': 'string', 'description': 'Continent-level region (Africa, Americas, Asia, Europe, Oceania, Antarctic).'}, 'capital': {'type': ['string', 'null'], 'description': 'Capital city name, or null if not applicable (e.g., Antarctica).'}, 'languages': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string', 'description': 'ISO 639-1 language code (e.g., "en").'}, 'name': {'type': 'string', 'description': 'English name of the language.'}}, 'description': 'Language spoken in the country.', 'additionalProperties': False}, 'description': 'Official or widely spoken languages in the country.'}, 'subregion': {'type': ['string', 'null'], 'description': 'Subregion within the continent (e.g., "Western Europe"), or null if unavailable.'}, 'timezones': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IANA timezone IDs observed in this country (e.g., "America/New_York").'}, 'currencies': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'name', 'symbol'], 'properties': {'code': {'type': 'string', 'description': 'ISO 4217 currency code (e.g., "USD").'}, 'name': {'type': 'string', 'description': 'Full currency name.'}, 'symbol': {'type': ['string', 'null'], 'description': 'Currency symbol (e.g., "$"), or null if unknown.'}}, 'description': 'Currency used in the country.', 'additionalProperties': False}, 'description': 'Currencies used in the country.'}, 'native_name': {'type': 'string', 'description': 'Country name in the primary native language.'}, 'calling_codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'International dialing codes with leading + (e.g., "+1", "+44").'}}, 'additionalProperties': False}
ref_geo_search
Country Search
Search and filter countries by region, subregion, language, currency, or free-text keyword. At least one filter is required. Returns a ranked list of matching country summaries. Use ref_geo_lookup to get the full record for a specific result.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of results to return (1â\x80\x93100).'}, 'region': {'type': 'string', 'description': 'Filter by continent region: Africa, Americas, Asia, Europe, Oceania, or Antarctic.'}, 'keyword': {'type': 'string', 'description': 'Matches against country name, native name, capital city, and subregion.'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code (e.g., "EUR") or currency name (e.g., "Euro").'}, 'language': {'type': 'string', 'description': 'ISO 639-1 language code (e.g., "pt") or language name (e.g., "Portuguese").'}, 'subregion': {'type': 'string', 'description': 'Filter by subregion (e.g., "Western Europe", "Southeast Asia", "South America").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['results', 'totalMatches', 'truncated', 'appliedFilters']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_filters'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_filters`: No filter or keyword was provided. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Recovery hint when no countries matched â\x80\x94 echoes active filters and suggests how to broaden.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['alpha2', 'alpha3', 'name', 'capital', 'region', 'currency_code', 'flag'], 'properties': {'flag': {'type': 'string', 'description': 'Flag emoji.'}, 'name': {'type': 'string', 'description': 'English country name.'}, 'alpha2': {'type': 'string', 'description': 'ISO alpha-2 code.'}, 'alpha3': {'type': 'string', 'description': 'ISO alpha-3 code.'}, 'region': {'type': 'string', 'description': 'Continent-level region.'}, 'capital': {'type': ['string', 'null'], 'description': 'Capital city, or null if not applicable.'}, 'currency_code': {'type': ['string', 'null'], 'description': 'Primary currency ISO 4217 code.'}}, 'description': 'Summary for a matching country.', 'additionalProperties': False}, 'description': 'Matching country summaries, up to limit.'}, 'truncated': {'type': 'boolean', 'description': 'True when totalMatches exceeds the limit and results are cut off.'}, 'totalMatches': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Total countries matching the filters before limit is applied.'}, 'appliedFilters': {'type': 'object', 'required': ['limit'], 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Result limit applied.'}, 'region': {'type': 'string', 'description': 'Region filter applied.'}, 'keyword': {'type': 'string', 'description': 'Keyword filter applied.'}, 'currency': {'type': 'string', 'description': 'Currency filter applied.'}, 'language': {'type': 'string', 'description': 'Language filter applied.'}, 'subregion': {'type': 'string', 'description': 'Subregion filter applied.'}}, 'description': 'Active filters applied to the search.', 'additionalProperties': False}}, 'additionalProperties': False}
ref_http_status
HTTP Status Code Lookup
Look up an HTTP status code by number or keyword. Returns the reason phrase, description, category (1xx Informational, 2xx Success, 3xx Redirection, 4xx Client Error, 5xx Server Error), whether the code is cacheable by default, and the defining RFC with section reference. For keyword queries, returns the closest match plus alternatives.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Numeric status code (e.g., "404" or "422") or descriptive keyword (e.g., "not found", "too many requests", "unprocessable").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['code', 'reason_phrase', 'description', 'category', 'cacheable', 'rfc', 'rfc_section']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'rfc': {'type': 'string', 'description': 'Defining RFC (e.g., "RFC 9110").'}, 'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'HTTP status code number.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: No HTTP status code matched the query. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'category': {'type': 'string', 'description': 'Status code category (1xx Informational, 2xx Success, 3xx Redirection, 4xx Client Error, 5xx Server Error).'}, 'cacheable': {'type': 'boolean', 'description': 'Whether this status code is cacheable by default per RFC 9110.'}, 'description': {'type': 'string', 'description': 'Human-readable description of when and why this status is used.'}, 'rfc_section': {'type': ['string', 'null'], 'description': 'RFC section number (e.g., "15.5.5"), or null if not applicable.'}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'reason_phrase', 'category'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'HTTP status code.'}, 'category': {'type': 'string', 'description': 'Status code category.'}, 'reason_phrase': {'type': 'string', 'description': 'Reason phrase.'}}, 'description': 'An alternative HTTP status code that also matched.', 'additionalProperties': False}, 'description': 'Other status codes that matched the keyword query. Present only for keyword searches with multiple matches.'}, 'reason_phrase': {'type': 'string', 'description': 'IANA reason phrase (e.g., "Not Found").'}}, 'additionalProperties': False}
ref_mime_type
MIME Type Lookup
Look up a MIME type by type string or file extension. Accepts "image/webp", ".webp", or "webp". Returns the canonical MIME type, known file extensions, whether the type is compressible (relevant for Content-Encoding decisions), and the data source (iana, apache, nginx). For extension lookups, returns the canonical MIME type — e.g., ".jpg" resolves to "image/jpeg". When multiple types map to an extension, the canonical type is returned first with alternatives listed.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'MIME type string (e.g., "application/json", "image/webp") or file extension with or without leading dot (e.g., ".webp", "webp", "js", ".html").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['type', 'extensions', 'compressible', 'source']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'type': {'type': 'string', 'description': 'Canonical MIME type string (e.g., "image/jpeg").'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: The MIME type or file extension is not recognized. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'source': {'type': ['string', 'null'], 'description': 'Data source: "iana" (IANA registry), "apache", "nginx", or null.'}, 'extensions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Known file extensions for this MIME type, without leading dots.'}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'source'], 'properties': {'type': {'type': 'string', 'description': 'Alternative MIME type.'}, 'source': {'type': ['string', 'null'], 'description': 'Data source for this type (e.g., "iana", "apache").'}}, 'description': 'An alternative MIME type mapping to the same extension.', 'additionalProperties': False}, 'description': 'Other MIME types that also map to the queried extension, when multiple types share the extension.'}, 'compressible': {'type': ['boolean', 'null'], 'description': 'True when this type is compressible (e.g., text and JSON types); false when not; null when unknown.'}}, 'additionalProperties': False}
ref_timezone_convert
Timezone Conversion
Convert a local datetime from one timezone to another. Takes a local time string (no UTC offset, e.g., "2026-05-24T15:30:00") interpreted as local time in the source timezone, returns the equivalent local time in the target timezone. Shows both UTC offsets so DST transitions are visible. Accepts full IANA IDs (e.g., "Asia/Tokyo") or unambiguous city names (e.g., "Tokyo").
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['datetime', 'from_tz', 'to_tz'], 'properties': {'to_tz': {'type': 'string', 'description': 'Target IANA timezone ID or unambiguous city name (e.g., "America/New_York" or "New York").'}, 'from_tz': {'type': 'string', 'description': 'Source IANA timezone ID or unambiguous city name (e.g., "Asia/Tokyo" or "Tokyo").'}, 'datetime': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$', 'description': 'Local datetime in ISO 8601 format without timezone offset (e.g., "2026-05-24T15:30:00"). Do not include "Z" or an offset suffix.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['source', 'target', 'utc_equivalent']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['invalid_timezone', 'invalid_datetime'], 'description': 'Machine-readable failure mode. Declared by this tool: `invalid_timezone`: Source or target timezone ID is unrecognized. `invalid_datetime`: Datetime has out-of-range calendar components (e.g. month 13, February 30) or falls in a daylight-saving spring-forward gap that never occurs in the source timezone. (Malformed format is rejected by the input schema.). Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'source': {'type': 'object', 'required': ['datetime', 'tz', 'offset'], 'properties': {'tz': {'type': 'string', 'description': 'Resolved source IANA timezone ID.'}, 'offset': {'type': 'string', 'description': 'UTC offset at the source datetime (e.g., "+09:00").'}, 'datetime': {'type': 'string', 'description': 'Input local datetime echoed back (e.g., "2026-05-24T15:30:00").'}}, 'description': 'Source datetime details.', 'additionalProperties': False}, 'target': {'type': 'object', 'required': ['datetime', 'tz', 'offset'], 'properties': {'tz': {'type': 'string', 'description': 'Resolved target IANA timezone ID.'}, 'offset': {'type': 'string', 'description': 'UTC offset in the target timezone at the converted moment.'}, 'datetime': {'type': 'string', 'description': 'Equivalent local datetime in the target timezone.'}}, 'description': 'Target datetime details.', 'additionalProperties': False}, 'utc_equivalent': {'type': 'string', 'description': 'The UTC equivalent of the input datetime (ISO 8601 with Z suffix).'}}, 'additionalProperties': False}
ref_timezone_lookup
Timezone Lookup
Get timezone info by IANA ID, country code, or partial city/region name. Returns current UTC offset, standard offset, whether DST is currently active, and major cities in the timezone. When querying by country code (ISO alpha-2), returns all timezones observed in that country. Accepts partial matches — "Tokyo" resolves to "Asia/Tokyo", "NY" resolves to "America/New_York".
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'at': {'type': 'string', 'description': 'ISO 8601 datetime to evaluate timezone state at a specific moment (e.g., "2026-01-15T12:00:00"). Defaults to current time.'}, 'by': {'enum': ['iana', 'country', 'auto'], 'type': 'string', 'default': 'auto', 'description': 'Lookup mode: iana for exact IANA ID, country for ISO alpha-2 code, auto tries all strategies.'}, 'query': {'type': 'string', 'description': 'IANA timezone ID (e.g., "America/New_York"), ISO alpha-2 country code (e.g., "US"), or partial city/region name (e.g., "Tokyo", "London").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['timezones', 'evaluated_at']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['no_match', 'invalid_at'], 'description': 'Machine-readable failure mode. Declared by this tool: `no_match`: No timezone matched the query. `invalid_at`: The at parameter is not a valid ISO 8601 datetime string. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'timezones': {'type': 'array', 'items': {'type': 'object', 'required': ['iana_id', 'current_offset_hours', 'standard_offset_hours', 'dst_active', 'dst_abbreviation', 'standard_abbreviation', 'major_cities', 'countries'], 'properties': {'iana_id': {'type': 'string', 'description': 'IANA timezone identifier (e.g., "America/New_York").'}, 'countries': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ISO alpha-2 country codes observing this timezone.'}, 'dst_active': {'type': 'boolean', 'description': 'Whether daylight saving time is currently active.'}, 'major_cities': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Major cities in this timezone.'}, 'dst_abbreviation': {'type': ['string', 'null'], 'description': 'DST timezone abbreviation (e.g., "EDT"), or null when DST not active or timezone has no DST.'}, 'current_offset_hours': {'type': 'number', 'description': 'Current UTC offset in hours (e.g., -5.0 for UTC-05:00).'}, 'standard_abbreviation': {'type': ['string', 'null'], 'description': 'Standard timezone abbreviation (e.g., "EST").'}, 'standard_offset_hours': {'type': 'number', 'description': 'Standard (non-DST) UTC offset in hours.'}}, 'description': 'Timezone record with offset and DST info.', 'additionalProperties': False}, 'description': 'Matching timezone records. Multiple records when querying by country.'}, 'evaluated_at': {'type': 'string', 'description': 'ISO 8601 UTC datetime at which timezone state was evaluated.'}}, 'additionalProperties': False}
ref_unit_convert
Unit Conversion
Convert a numeric value between compatible units of measure. Supports: length (mm, cm, m, km, in, ft, yd, mi), mass (mcg, mg, g, kg, oz, lb, mt = metric tonne / 1000 kg, t = US short ton / 907.18 kg), volume (ml, cl, dl, l, kl, tsp, Tbs, fl-oz, cup, pnt, qt, gal, m3), temperature (C, F, K, R — non-linear conversions handled), speed (m/s, km/h, knot, ft/s), pressure (Pa, kPa, MPa, hPa, bar, torr, psi), energy (J, kJ, Wh, kWh, MWh), power (W, mW, kW, MW, GW), frequency (Hz, kHz, MHz, GHz), digital storage (b, Kb, Mb, Gb, Tb, B, KB, MB, GB, TB), and angle (deg, rad, grad). Incompatible units (e.g., km to kg) return an error identifying the quantity mismatch.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['value', 'from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'Target unit abbreviation (e.g., "mi", "F", "m/s", "kJ", "lb").'}, 'from': {'type': 'string', 'description': 'Source unit abbreviation (e.g., "km", "C", "m/h", "kWh", "kg").'}, 'value': {'type': 'number', 'description': 'Numeric quantity to convert.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['value', 'from_unit', 'to_unit', 'result', 'result_precision', 'measure']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['incompatible_units', 'unknown_unit', 'below_absolute_zero'], 'description': 'Machine-readable failure mode. Declared by this tool: `incompatible_units`: The source and target units measure different physical quantities. `unknown_unit`: One or both units are not recognized by the underlying library. `below_absolute_zero`: The input temperature is below absolute zero (0 K = -273.15 °C = -459.67 °F). Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'value': {'type': 'number', 'description': 'Input value as provided.'}, 'result': {'type': 'number', 'description': 'Converted value (full precision float).'}, 'measure': {'type': 'string', 'description': 'Physical quantity being measured (e.g., "length", "mass", "temperature").'}, 'to_unit': {'type': 'string', 'description': 'Target unit as recognized.'}, 'from_unit': {'type': 'string', 'description': 'Source unit as recognized.'}, 'result_precision': {'type': 'string', 'description': 'Human-readable rounded form of the result.'}}, 'additionalProperties': False}
追加
ref_mime_type
2026年9月22日2:40
追加
ref_http_status
2026年9月22日2:40
追加
ref_unit_convert
2026年9月22日2:40
追加
ref_constant_lookup
2026年9月22日2:40
追加
ref_element_search
2026年9月22日2:40
追加
ref_element_lookup
2026年9月22日2:40
追加
ref_timezone_convert
2026年9月22日2:40
追加
ref_timezone_lookup
2026年9月22日2:40
追加
ref_geo_search
2026年9月22日2:40
追加
ref_geo_lookup
2026年9月22日2:40