reference-data-mcp-server
Qué hace este MCP
Provides reference lookups for countries, time zones, physical constants, chemical elements, HTTP status codes, MIME types, and unit conversions.
Herramientas
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
kernelcad
Authors, evaluates, reviews, simulates, edits, and exports parametric CAD assemblies and geometry from editable TypeScript-based …
Affine.Earth Math Court
Performs exact integer and rational mathematical verification across algebra, geometry, physics, quantum-computing witnesses, rob…
RQM Studio Jobs
Provides bounded quantum-circuit parsing, validation, compilation, optimization, equivalence checks, repair, simulation, provider…
Bioregistry
Looks up biomedical identifier prefixes and metadata, including URI patterns, aliases, homepages, and cross-registry mappings.
RQM Jobs MCP
Runs bounded robotics and control-system analyses such as trajectory validation, controller comparison, calibration assessment, c…
Mathjs
Evaluates mathematical expressions and performs unit conversions through the Math.js API.
DOI Shape
Checks the structural format of a DOI.
Cords to cubic meters, number discarded
Provides cord-to-cubic-meter conversion along with small URL, parsing, time, weather, and validation utilities.