reference-data-mcp-server
Countries, timezones, elements, constants, HTTP status codes, unit conversion, and MIME type lookup.
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 ref_http_status 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"reference-data-mcp-server": {
"command": "bun",
"args": [
"@cyanheads/reference-data-mcp-server"
]
}
}
}可執行的套件
0.1.16streamable-http遠端端點
https://reference-data.caseyjhand.com/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟢ref_geo_lookup(query, by)
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",
"properties": {
"query": {
"type": "string",
"description": "Country name (e.g., \"Germany\"), ISO alpha-2 code (e.g., \"DE\"), or ISO alpha-3 code (e.g., \"DEU\")."
},
"by": {
"default": "auto",
"description": "Lookup strategy: auto tries alpha2, alpha3, then name in order.",
"type": "string",
"enum": [
"auto",
"name",
"alpha2",
"alpha3"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"alpha2": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code (2 letters)."
},
"alpha3": {
"type": "string",
"description": "ISO 3166-1 alpha-3 code (3 letters)."
},
"name": {
"type": "string",
"description": "Official English country name."
},
"native_name": {
"type": "string",
"description": "Country name in the primary native language."
},
"capital": {
"description": "Capital city name, or null if not applicable (e.g., Antarctica).",
"type": [
"string",
"null"
]
},
"region": {
"type": "string",
"description": "Continent-level region (Africa, Americas, Asia, Europe, Oceania, Antarctic)."
},
"subregion": {
"description": "Subregion within the continent (e.g., \"Western Europe\"), or null if unavailable.",
"type": [
"string",
"null"
]
},
"languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "ISO 639-1 language code (e.g., \"en\")."
},
"name": {
"type": "string",
"description": "English name of the language."
}
},
"required": [
"code",
"name"
],
"additionalProperties": false,
"description": "Language spoken in the country."
},
"description": "Official or widely spoken languages in the country."
},
"currencies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "ISO 4217 currency code (e.g., \"USD\")."
},
"name": {
"type": "string",
"description": "Full currency name."
},
"symbol": {
"description": "Currency symbol (e.g., \"$\"), or null if unknown.",
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"name",
"symbol"
],
"additionalProperties": false,
"description": "Currency used in the country."
},
"description": "Currencies used in the country."
},
"calling_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "International dialing codes with leading + (e.g., \"+1\", \"+44\")."
},
"tld": {
"description": "Country-code top-level domain (e.g., \".de\"), or null if not applicable.",
"type": [
"string",
"null"
]
},
"flag": {
"type": "string",
"description": "Flag emoji (e.g., 🇩🇪)."
},
"timezones": {
"type": "array",
"items": {
"type": "string"
},
"description": "IANA timezone IDs observed in this country (e.g., \"America/New_York\")."
},
"notice": {
"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.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"alpha2",
"alpha3",
"name",
"native_name",
"capital",
"region",
"subregion",
"languages",
"currencies",
"calling_codes",
"tld",
"flag",
"timezones"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_geo_search(keyword, region, subregion, language, currency, ...)
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",
"properties": {
"keyword": {
"description": "Matches against country name, native name, capital city, and subregion.",
"type": "string"
},
"region": {
"description": "Filter by continent region: Africa, Americas, Asia, Europe, Oceania, or Antarctic.",
"type": "string"
},
"subregion": {
"description": "Filter by subregion (e.g., \"Western Europe\", \"Southeast Asia\", \"South America\").",
"type": "string"
},
"language": {
"description": "ISO 639-1 language code (e.g., \"pt\") or language name (e.g., \"Portuguese\").",
"type": "string"
},
"currency": {
"description": "ISO 4217 currency code (e.g., \"EUR\") or currency name (e.g., \"Euro\").",
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of results to return (1–100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"alpha2": {
"type": "string",
"description": "ISO alpha-2 code."
},
"alpha3": {
"type": "string",
"description": "ISO alpha-3 code."
},
"name": {
"type": "string",
"description": "English country name."
},
"capital": {
"description": "Capital city, or null if not applicable.",
"type": [
"string",
"null"
]
},
"region": {
"type": "string",
"description": "Continent-level region."
},
"currency_code": {
"description": "Primary currency ISO 4217 code.",
"type": [
"string",
"null"
]
},
"flag": {
"type": "string",
"description": "Flag emoji."
}
},
"required": [
"alpha2",
"alpha3",
"name",
"capital",
"region",
"currency_code",
"flag"
],
"additionalProperties": false,
"description": "Summary for a matching country."
},
"description": "Matching country summaries, up to limit."
},
"totalMatches": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Total countries matching the filters before limit is applied."
},
"truncated": {
"type": "boolean",
"description": "True when totalMatches exceeds the limit and results are cut off."
},
"appliedFilters": {
"type": "object",
"properties": {
"keyword": {
"description": "Keyword filter applied.",
"type": "string"
},
"region": {
"description": "Region filter applied.",
"type": "string"
},
"subregion": {
"description": "Subregion filter applied.",
"type": "string"
},
"language": {
"description": "Language filter applied.",
"type": "string"
},
"currency": {
"description": "Currency filter applied.",
"type": "string"
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Result limit applied."
}
},
"required": [
"limit"
],
"additionalProperties": false,
"description": "Active filters applied to the search."
},
"notice": {
"description": "Recovery hint when no countries matched — echoes active filters and suggests how to broaden.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_filters"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"results",
"totalMatches",
"truncated",
"appliedFilters"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_timezone_lookup(query, by, at)
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",
"properties": {
"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\")."
},
"by": {
"default": "auto",
"description": "Lookup mode: iana for exact IANA ID, country for ISO alpha-2 code, auto tries all strategies.",
"type": "string",
"enum": [
"iana",
"country",
"auto"
]
},
"at": {
"description": "ISO 8601 datetime to evaluate timezone state at a specific moment (e.g., \"2026-01-15T12:00:00\"). Defaults to current time.",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"timezones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"iana_id": {
"type": "string",
"description": "IANA timezone identifier (e.g., \"America/New_York\")."
},
"current_offset_hours": {
"type": "number",
"description": "Current UTC offset in hours (e.g., -5.0 for UTC-05:00)."
},
"standard_offset_hours": {
"type": "number",
"description": "Standard (non-DST) UTC offset in hours."
},
"dst_active": {
"type": "boolean",
"description": "Whether daylight saving time is currently active."
},
"dst_abbreviation": {
"description": "DST timezone abbreviation (e.g., \"EDT\"), or null when DST not active or timezone has no DST.",
"type": [
"string",
"null"
]
},
"standard_abbreviation": {
"description": "Standard timezone abbreviation (e.g., \"EST\").",
"type": [
"string",
"null"
]
},
"major_cities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Major cities in this timezone."
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO alpha-2 country codes observing this timezone."
}
},
"required": [
"iana_id",
"current_offset_hours",
"standard_offset_hours",
"dst_active",
"dst_abbreviation",
"standard_abbreviation",
"major_cities",
"countries"
],
"additionalProperties": false,
"description": "Timezone record with offset and DST info."
},
"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."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match",
"invalid_at"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"timezones",
"evaluated_at"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_timezone_convert(datetime, from_tz, to_tz)
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",
"properties": {
"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."
},
"from_tz": {
"type": "string",
"description": "Source IANA timezone ID or unambiguous city name (e.g., \"Asia/Tokyo\" or \"Tokyo\")."
},
"to_tz": {
"type": "string",
"description": "Target IANA timezone ID or unambiguous city name (e.g., \"America/New_York\" or \"New York\")."
}
},
"required": [
"datetime",
"from_tz",
"to_tz"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"datetime": {
"type": "string",
"description": "Input local datetime echoed back (e.g., \"2026-05-24T15:30:00\")."
},
"tz": {
"type": "string",
"description": "Resolved source IANA timezone ID."
},
"offset": {
"type": "string",
"description": "UTC offset at the source datetime (e.g., \"+09:00\")."
}
},
"required": [
"datetime",
"tz",
"offset"
],
"additionalProperties": false,
"description": "Source datetime details."
},
"target": {
"type": "object",
"properties": {
"datetime": {
"type": "string",
"description": "Equivalent local datetime in the target timezone."
},
"tz": {
"type": "string",
"description": "Resolved target IANA timezone ID."
},
"offset": {
"type": "string",
"description": "UTC offset in the target timezone at the converted moment."
}
},
"required": [
"datetime",
"tz",
"offset"
],
"additionalProperties": false,
"description": "Target datetime details."
},
"utc_equivalent": {
"type": "string",
"description": "The UTC equivalent of the input datetime (ISO 8601 with Z suffix)."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"invalid_timezone",
"invalid_datetime"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"target",
"utc_equivalent"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_element_lookup(query, by)
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",
"properties": {
"query": {
"type": "string",
"description": "Element name (e.g., \"tungsten\"), chemical symbol (e.g., \"W\"), or atomic number as a string (e.g., \"74\")."
},
"by": {
"default": "auto",
"description": "Lookup mode: auto tries atomic number, then symbol, then name.",
"type": "string",
"enum": [
"auto",
"name",
"symbol",
"number"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Atomic number (proton count)."
},
"symbol": {
"type": "string",
"description": "Chemical symbol (e.g., \"Fe\")."
},
"name": {
"type": "string",
"description": "IUPAC element name."
},
"atomic_mass": {
"description": "Standard atomic mass in unified atomic mass units (u). Null for unstable elements with no standard mass.",
"type": [
"number",
"null"
]
},
"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\")."
},
"group": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Periodic table group number (1–18). Null for lanthanides and actinides."
},
"period": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Periodic table period number (1–7)."
},
"block": {
"type": "string",
"description": "Electron block: s, p, d, or f."
},
"category": {
"type": "string",
"description": "Element category (e.g., \"transition metal\", \"noble gas\", \"lanthanide\")."
},
"electronegativity_pauling": {
"description": "Pauling electronegativity scale value. Null for noble gases and heavy synthetic elements.",
"type": [
"number",
"null"
]
},
"density_g_per_cm3": {
"description": "Density in grams per cubic centimeter at STP. Null for synthetic or poorly studied elements.",
"type": [
"number",
"null"
]
},
"melting_point_k": {
"description": "Melting point in kelvin at standard pressure. Null for unstable or synthetic elements.",
"type": [
"number",
"null"
]
},
"boiling_point_k": {
"description": "Boiling point in kelvin at standard pressure. Null for unstable or synthetic elements.",
"type": [
"number",
"null"
]
},
"discovery_year": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Year of discovery. Null for elements known since antiquity."
},
"discovery_scientists": {
"description": "Scientist(s) credited with discovery. Null for elements known since antiquity.",
"type": [
"string",
"null"
]
},
"appearance": {
"description": "Physical appearance description. Null for synthetic elements not macroscopically observed.",
"type": [
"string",
"null"
]
},
"phase_at_stp": {
"type": "string",
"description": "Phase at standard temperature and pressure: Solid, Liquid, or Gas."
},
"radioactive": {
"type": "boolean",
"description": "True if all isotopes are radioactive (no stable isotopes)."
},
"natural": {
"type": "boolean",
"description": "True if the element occurs naturally on Earth."
},
"dataset_version": {
"type": "string",
"description": "Data source version identifier."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"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"
]
}
]
}🟢ref_element_search(category, group, period, atomic_number_range, atomic_mass_range)
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",
"properties": {
"category": {
"description": "Element category (partial match): alkali metal, alkaline earth metal, transition metal, post-transition metal, metalloid, reactive nonmetal, noble gas, lanthanide, actinide.",
"type": "string"
},
"group": {
"description": "Periodic table group number (1–18). Lanthanides and actinides have no group.",
"type": "integer",
"minimum": 1,
"maximum": 18
},
"period": {
"description": "Periodic table period (1–7).",
"type": "integer",
"minimum": 1,
"maximum": 7
},
"atomic_number_range": {
"description": "Inclusive range of atomic numbers to include.",
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "Minimum value (inclusive)."
},
"max": {
"type": "number",
"description": "Maximum value (inclusive)."
}
},
"required": [
"min",
"max"
]
},
"atomic_mass_range": {
"description": "Inclusive range of atomic mass in unified atomic mass units.",
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "Minimum value (inclusive)."
},
"max": {
"type": "number",
"description": "Maximum value (inclusive)."
}
},
"required": [
"min",
"max"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Atomic number."
},
"symbol": {
"type": "string",
"description": "Chemical symbol."
},
"name": {
"type": "string",
"description": "IUPAC element name."
},
"atomic_mass": {
"description": "Atomic mass in unified atomic mass units. Null for unstable elements.",
"type": [
"number",
"null"
]
},
"atomic_mass_estimated": {
"type": "boolean",
"description": "True when the atomic mass is estimated."
},
"category": {
"type": "string",
"description": "Element category."
}
},
"required": [
"number",
"symbol",
"name",
"atomic_mass",
"atomic_mass_estimated",
"category"
],
"additionalProperties": false,
"description": "Summary for a matching element."
},
"description": "Matching element summaries."
},
"totalMatches": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Number of elements matching all filters."
},
"appliedFilters": {
"type": "object",
"properties": {
"category": {
"description": "Category filter applied.",
"type": "string"
},
"group": {
"description": "Group filter applied.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"period": {
"description": "Period filter applied.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"atomic_number_range": {
"description": "Atomic number range applied.",
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "Minimum value (inclusive)."
},
"max": {
"type": "number",
"description": "Maximum value (inclusive)."
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"atomic_mass_range": {
"description": "Atomic mass range applied.",
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "Minimum value (inclusive)."
},
"max": {
"type": "number",
"description": "Maximum value (inclusive)."
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
}
},
"additionalProperties": false,
"description": "Active filters applied to the search."
},
"notice": {
"description": "Recovery hint when no elements matched — echoes active filters and suggests how to broaden.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_filters"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"results",
"totalMatches",
"appliedFilters"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_constant_lookup(query)
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",
"properties": {
"query": {
"type": "string",
"description": "Constant name, symbol, or common alias (e.g., \"speed of light\", \"c\", \"Avogadro\", \"N_A\", \"Planck constant\", \"h\")."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Full CODATA constant name."
},
"symbol": {
"type": "string",
"description": "Standard mathematical symbol."
},
"value": {
"type": "number",
"description": "Numeric value in SI units."
},
"unit": {
"type": "string",
"description": "SI unit expression (e.g., \"m s⁻¹\", \"J K⁻¹\", \"dimensionless\")."
},
"uncertainty": {
"description": "Absolute standard uncertainty in SI units. Null for exactly-defined constants.",
"type": [
"number",
"null"
]
},
"uncertainty_relative": {
"description": "Relative standard uncertainty or \"exact (defined)\" for exact values.",
"type": [
"string",
"null"
]
},
"description": {
"type": "string",
"description": "Short description of the constant and its significance."
},
"codata_id": {
"description": "CODATA identifier string, or null if not in CODATA registry.",
"type": [
"string",
"null"
]
},
"exact": {
"type": "boolean",
"description": "True when the constant has an exact defined value (no experimental uncertainty)."
},
"match_strategy": {
"type": "string",
"enum": [
"exact_symbol",
"exact_name",
"fuzzy"
],
"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)."
},
"related": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Related constant name."
},
"symbol": {
"type": "string",
"description": "Related constant symbol."
}
},
"required": [
"name",
"symbol"
],
"additionalProperties": false,
"description": "A related constant that also matched the query."
},
"description": "Related constants that also matched the query."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"name",
"symbol",
"value",
"unit",
"uncertainty",
"uncertainty_relative",
"description",
"codata_id",
"exact",
"match_strategy",
"dataset_version",
"related"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_unit_convert(value, from, to)
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",
"properties": {
"value": {
"type": "number",
"description": "Numeric quantity to convert."
},
"from": {
"type": "string",
"description": "Source unit abbreviation (e.g., \"km\", \"C\", \"m/h\", \"kWh\", \"kg\")."
},
"to": {
"type": "string",
"description": "Target unit abbreviation (e.g., \"mi\", \"F\", \"m/s\", \"kJ\", \"lb\")."
}
},
"required": [
"value",
"from",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"value": {
"type": "number",
"description": "Input value as provided."
},
"from_unit": {
"type": "string",
"description": "Source unit as recognized."
},
"to_unit": {
"type": "string",
"description": "Target unit as recognized."
},
"result": {
"type": "number",
"description": "Converted value (full precision float)."
},
"result_precision": {
"type": "string",
"description": "Human-readable rounded form of the result."
},
"measure": {
"type": "string",
"description": "Physical quantity being measured (e.g., \"length\", \"mass\", \"temperature\")."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"incompatible_units",
"unknown_unit",
"below_absolute_zero"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"value",
"from_unit",
"to_unit",
"result",
"result_precision",
"measure"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_http_status(query)
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",
"properties": {
"query": {
"type": "string",
"description": "Numeric status code (e.g., \"404\" or \"422\") or descriptive keyword (e.g., \"not found\", \"too many requests\", \"unprocessable\")."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "HTTP status code number."
},
"reason_phrase": {
"type": "string",
"description": "IANA reason phrase (e.g., \"Not Found\")."
},
"description": {
"type": "string",
"description": "Human-readable description of when and why this status is used."
},
"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."
},
"rfc": {
"type": "string",
"description": "Defining RFC (e.g., \"RFC 9110\")."
},
"rfc_section": {
"description": "RFC section number (e.g., \"15.5.5\"), or null if not applicable.",
"type": [
"string",
"null"
]
},
"alternatives": {
"description": "Other status codes that matched the keyword query. Present only for keyword searches with multiple matches.",
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "HTTP status code."
},
"reason_phrase": {
"type": "string",
"description": "Reason phrase."
},
"category": {
"type": "string",
"description": "Status code category."
}
},
"required": [
"code",
"reason_phrase",
"category"
],
"additionalProperties": false,
"description": "An alternative HTTP status code that also matched."
}
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"code",
"reason_phrase",
"description",
"category",
"cacheable",
"rfc",
"rfc_section"
]
},
{
"required": [
"error"
]
}
]
}🟢ref_mime_type(query)
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",
"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\")."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Canonical MIME type string (e.g., \"image/jpeg\")."
},
"extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Known file extensions for this MIME type, without leading dots."
},
"compressible": {
"description": "True when this type is compressible (e.g., text and JSON types); false when not; null when unknown.",
"type": [
"boolean",
"null"
]
},
"source": {
"description": "Data source: \"iana\" (IANA registry), \"apache\", \"nginx\", or null.",
"type": [
"string",
"null"
]
},
"alternatives": {
"description": "Other MIME types that also map to the queried extension, when multiple types share the extension.",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Alternative MIME type."
},
"source": {
"description": "Data source for this type (e.g., \"iana\", \"apache\").",
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"source"
],
"additionalProperties": false,
"description": "An alternative MIME type mapping to the same extension."
}
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"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.",
"examples": [
"no_match"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"type",
"extensions",
"compressible",
"source"
]
},
{
"required": [
"error"
]
}
]
}建議的提示詞
ref_geo_searchref_geo_search社群
證據