Koskamo

reference-data-mcp-server

An open-source MCP server providing 10 tools and 4 resources for looking up reference data including countries, timezones, periodic table elements, physical constants, unit conversions, HTTP status codes, and MIME types. It supports STDIO and Streamable HTTP transports and requires no API keys or rate limits.

Endpoint and access

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

reference-data-mcp-server logo, by cyanheadsCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by cyanheads
MCP endpoint (Streamable HTTP)
https://reference-data.caseyjhand.com/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Look up country details by name or ISO code
  • Convert local datetime between timezones
  • Search periodic table elements by category
  • Look up HTTP status codes or MIME types

Source and maintenance

Community listingRegistry 0.2.0
Maintenance checked

Protocol and capabilities

Server
reference-data-mcp-server 0.2.0
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
1 advertised
Resource templates
5 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {},
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "subscribe": true,
    "listChanged": true
  },
  "extensions": {
    "io.modelcontextprotocol/skills": {
      "directoryRead": true
    }
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Pure in-memory reference data server. No external API calls, no auth required. Use ref_geo_lookup/search for country data, ref_timezone_lookup/convert for timezone operations, ref_element_lookup/search for periodic table, ref_constant_lookup for CODATA 2022 physical constants, ref_unit_convert for unit conversion, ref_http_status for HTTP status codes, ref_mime_type for MIME type and file extension lookups.

Tools

10 advertised

ref_geo_lookup — Country Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_geo_lookup input schema
{
  "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
}
ref_geo_lookup output schema
{
  "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., 🇩🇪)."
    },
    "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_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_geo_search — Country Search
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_geo_search input schema
{
  "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–100)."
    },
    "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
}
ref_geo_search output schema
{
  "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 — 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_geo_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_timezone_lookup — Timezone Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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".

ref_timezone_lookup input schema
{
  "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
}
ref_timezone_lookup output schema
{
  "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_timezone_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_timezone_convert — Timezone Conversion
Advertised by the server during the last successful anonymous check.
Advertised read-only

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").

ref_timezone_convert input schema
{
  "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
}
ref_timezone_convert output schema
{
  "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_convert annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_element_lookup — Element Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_element_lookup input schema
{
  "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
}
ref_element_lookup output schema
{
  "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–18). 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–7)."
    },
    "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_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_element_search — Element Search
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_element_search input schema
{
  "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–18). Lanthanides and actinides have no group."
    },
    "period": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1,
      "description": "Periodic table period (1–7)."
    },
    "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
}
ref_element_search output schema
{
  "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 — 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_element_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_constant_lookup — Physical Constant Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_constant_lookup input schema
{
  "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
}
ref_constant_lookup output schema
{
  "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⁻¹\", \"J K⁻¹\", \"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_constant_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_unit_convert — Unit Conversion
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_unit_convert input schema
{
  "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
}
ref_unit_convert output schema
{
  "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_unit_convert annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_http_status — HTTP Status Code Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_http_status input schema
{
  "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
}
ref_http_status output schema
{
  "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_http_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ref_mime_type — MIME Type Lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ref_mime_type input schema
{
  "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
}
ref_mime_type output schema
{
  "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_mime_type annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

1 advertised

reference-data-guide

Advertised by the server during the last successful anonymous check.

Resolve country and timezone identities with ref_* tools before converting meeting times. Use for scheduling across locations, ambiguous timezone names, daylight-saving transitions, and checking country-search coverage.

reference-data-guide URI
skill://reference-data-guide/SKILL.md

MIME type: text/markdown

ref-country — ref-country

Advertised by the server during the last successful anonymous check.

Full country record by ISO alpha-2 code (e.g., ref://countries/DE for Germany). Returns all fields including capital, region, languages, currencies, calling codes, TLD, flag, and timezone IDs.

ref-country URI template
ref://countries/{alpha2}

MIME type: application/json

ref-element — ref-element

Advertised by the server during the last successful anonymous check.

Full periodic table element record by atomic number (e.g., ref://elements/6 for Carbon). Returns all properties: symbol, name, atomic mass, electron configuration, group, period, block, category, electronegativity, density, melting/boiling points, and discovery data.

ref-element URI template
ref://elements/{number}

MIME type: application/json

ref-timezone — ref-timezone

Advertised by the server during the last successful anonymous check.

Timezone info by IANA ID (URL-encode slashes as %2F, e.g., ref://timezones/America%2FNew_York). Returns current offset, standard offset, DST status, major cities, and country codes.

ref-timezone URI template
ref://timezones/{iana_id}

MIME type: application/json

ref-timezone-slash-redirect — ref-timezone-slash-redirect

Advertised by the server during the last successful anonymous check.

Returns an actionable error when an IANA timezone ID is passed with an unencoded slash (e.g., America/New_York). Instructs the caller to use the correctly percent-encoded URI (America%2FNew_York) and retry.

ref-timezone-slash-redirect URI template
ref://timezones/{region}/{city}

MIME type: application/json

io.modelcontextprotocol/skills

Advertised by the server during the last successful anonymous check.

io.modelcontextprotocol/skills URI template
skill://{+path}

30-day availability

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

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

Maintenance history

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

  • · probe · passed · 541 ms · metadata changed · 10 tool(s), 1 resource(s), 5 resource template(s), 0 prompt(s)

Connect from your client

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

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

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http reference-data-mcp-server https://reference-data.caseyjhand.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add reference-data-mcp-server --url https://reference-data.caseyjhand.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable reference-data-mcp-server in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "reference-data-mcp-server": {
      "url": "https://reference-data.caseyjhand.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "reference-data-mcp-server": {
      "type": "streamableHttp",
      "url": "https://reference-data.caseyjhand.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start reference-data-mcp-server and inspect its tools.
VS Code configuration
{
  "servers": {
    "reference-data-mcp-server": {
      "type": "http",
      "url": "https://reference-data.caseyjhand.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http reference-data-mcp-server https://reference-data.caseyjhand.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://reference-data.caseyjhand.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "reference-data-mcp-server": {
      "serverUrl": "https://reference-data.caseyjhand.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like reference-data-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.