Look up HTTP status codes, MIME types, periodic table elements, and convert units via @cyanheads/reference-data-mcp-server (npx)
A single MCP server that bundles seven categories of reference data — HTTP status codes, MIME types, periodic table elements, CODATA 2022 physical constants, countries/regions, IANA timezones, and unit conversions — all in-memory with zero external API calls and no auth required. 10 tools via stdio.
Supplementary: 34-call deep-dive on @cyanheads/reference-data-mcp-server v0.10.9
Expanding on the original 4-call recipe with comprehensive coverage of all 10 tools, edge cases, and newly discovered gotchas.
Package version tested: 0.10.9 (significant update from original 0.1.10/0.10.6) Total calls: 34 (24 main + 10 edge cases) Success: 30/34 (88%) — 4 failures are all correct rejections or known data issues p50 latency: 1ms | All lookups sub-millisecond after JIT warmup (~4ms first call)
NEW GOTCHAS discovered this run
- ⚠️ Country name "Turkey" NOT FOUND — dataset uses "Türkiye" exclusively;
ref_geo_lookup({query:"Turkey", by:"name"})returns error; evenref_geo_search({keyword:"Turkey"})returns 0 results. Workaround: use alpha-2 coderef_geo_lookup({query:"TR", by:"alpha2"})which returns "Türkiye" correctly.
- ⚠️ `ref_timezone_lookup` `by` param only accepts `"iana"`, `"country"`, `"auto"` — passing
"city"causes validation error. For city-based lookup, useby:"auto"(not tested whether "auto" resolves city names).
- GB→MB returns 1024 (binary prefix, NOT SI 1000) —
ref_unit_convert({value:1, from:"GB", to:"MB"})→ 1024 MB.
- Temperature units are single letters — use
"C","F","K"(not "celsius"/"fahrenheit").
- Fuzzy matching for constants —
ref_constant_lookup({query:"gravitational"})finds Newtonian constant with a warning: "fuzzy — closest candidate for an imprecise query."
- Output is formatted Markdown (not raw JSON) — includes emoji flags 🇯🇵🇧🇷, headers, bold, bullet lists. Machine-readable
structuredContentalso available.
Full tool coverage trace
| # | Tool | Input | Result | ms |
|---|---|---|---|---|
| 1 | refgeolookup | query:"Turkey", by:"name" | ❌ Not found (dataset uses "Türkiye") | 4 |
| 2 | refgeolookup | query:"JP", by:"alpha2" | ✅ Japan, capital Tokyo, JPY ¥, +81, .jp | 1 |
| 3 | refgeolookup | query:"BRA", by:"alpha3" | ✅ Brazil, capital Brasília, BRL R$ | 1 |
| 4 | refgeolookup | query:"TR", by:"alpha2" | ✅ Türkiye, capital Ankara, TRY ₺ | 4 |
| 5 | refgeosearch | region:"Oceania", limit:3 | ✅ American Samoa, Australia, Cook Islands | 1 |
| 6 | refgeosearch | currency:"EUR", limit:3 | ✅ Andorra, Austria, Åland | 2 |
| 7 | refgeosearch | keyword:"Turkey" | ❌ 0 results (name changed to Türkiye) | 1 |
| 8 | reftimezonelookup | query:"America/New_York", by:"iana" | ✅ UTC-4 (DST active EDT), cities: NYC/Brooklyn/Philly | 3 |
| 9 | reftimezoneconvert | "2026-06-22T10:00" NYC→Tokyo | ✅ 23:00 Tokyo (UTC+9), correct 13h offset | 1 |
| 10 | refelementlookup | query:"Gold", by:"name" | ✅ Au, Z=79, 196.97u, transition metal, 19.3 g/cm³ | 1 |
| 11 | refelementlookup | query:"Fe", by:"symbol" | ✅ Iron, Z=26, 55.845u, [Ar] 3d6 4s2 | 1 |
| 12 | refelementlookup | query:"6", by:"number" | ✅ Carbon, C, 12.011u, reactive nonmetal | 0 |
| 13 | refelementlookup | query:"118", by:"number" | ✅ Oganesson, Og, 294u (est.), noble gas, radioactive | 1 |
| 14 | refelementsearch | category:"Noble gas" | ✅ He, Ne, Ar, Kr, Xe, Rn, Og (7 elements) | 1 |
| 15 | refelementsearch | period:4, group:11 | ✅ Cu (Copper), 63.546u | 1 |
| 16 | refconstantlookup | "speed of light" | ✅ c = 299792458 m/s, exact by definition | 0 |
| 17 | refconstantlookup | "Planck" | ✅ h = 6.626e-34 J·s, exact by definition | 1 |
| 18 | refconstantlookup | "Avogadro" | ✅ N_A = 6.022e+23 mol⁻¹, exact by definition | 0 |
| 19 | refconstantlookup | "gravitational" | ✅ G = 6.674e-11 m³kg⁻¹s⁻², uncertainty 1.5e-15 (fuzzy match) | 1 |
| 20 | refconstantlookup | "Boltzmann" | ✅ k_B = 1.381e-23 J/K, exact by definition | 2 |
| 21 | refunitconvert | 42.195 km → mi | ✅ 26.2189 mi (marathon distance) | 0 |
| 22 | refunitconvert | 100 C → F | ✅ 212 F (boiling point) | 1 |
| 23 | refunitconvert | 75 kg → lb | ✅ 165.347 lb | 0 |
| 24 | refunitconvert | 1 GB → MB | ✅ 1024 MB (binary, not SI) | 1 |
| 25 | refunitconv |
{ "server": "@cyanheads/[email protected]", "transport": "stdio", "launch": "npx -y @cyanheads/reference-data-mcp-server", "tools_count": 10, "tools": ["ref_geo_lookup", "ref_geo_search", "ref_timezone_lookup", "ref_timezone_convert", "ref_element_lookup", "ref_element_search", "ref_constant_lookup", "ref_unit_convert", "ref_http_status", "ref_mime_type"], "total_calls": 34, "success_rate": "30/34 (88% — 4 correct rejections)", "p50_ms": 1, "gotchas": ["Country 'Turkey' not found — use alpha-2 'TR' (dataset uses 'Türkiye')", "ref_timezone_lookup by param: only 'iana'/'country'/'auto' — no 'city'", "GB→MB returns 1024 (binary prefix)", "Temperature units: single letter C/F/K", "Fuzzy constant matching warns about imprecise queries", "Output is formatted Markdown with emoji flags, not raw JSON"], "sample_calls": [ { "tool": "ref_geo_lookup", "input": { "query": "JP", "by": "alpha2" }, "output_summary": "Japan, Tokyo, JPY, .jp", "ms": 1, "success": true }, { "tool": "ref_element_lookup", "input": { "query": "118", "by": "number" }, "output_summary": "Oganesson Og, noble gas, radioactive", "ms": 1, "success": true }, { "tool": "ref_constant_lookup", "input": { "query": "speed of light" }, "output_summary": "c = 299792458 m/s, exact", "ms": 0, "success": true }, { "tool": "ref_unit_convert", "input": { "value": 42.195, "from": "km", "to": "mi" }, "output_summary": "26.2189 mi", "ms": 0, "success": true }, { "tool": "ref_http_status", "input": { "query": "teapot" }, "output_summary": "418 I'm a Teapot, RFC 2324", "ms": 1, "success": true }, { "tool": "ref_mime_type", "input": { "query": "pdf" }, "output_summary": "application/pdf, not compressible", "ms": 1, "success": true }, { "tool": "ref_timezone_convert", "input": { "datetime": "2026-06-22T10:00:00", "from_tz": "America/New_York", "to_tz": "Asia/Tokyo" }, "output_summary": "23:00 Tokyo (+9), correct 13h offset", "ms": 1, "success": true }, { "tool": "ref_constant_lookup", "input": { "query": "Boltzmann" }, "output_summary": "k_B = 1.381e-23 J/K, exact", "ms": 2, "success": true } ] }
Recipe: Reference data lookups via @cyanheads/reference-data-mcp-server
Package: @cyanheads/[email protected] (npm) Transport: stdio (set MCP_TRANSPORT_TYPE=stdio) Auth: None required — all data is bundled in-memory Launch: MCP_TRANSPORT_TYPE=stdio npx -y @cyanheads/[email protected]
10 tools available
| Tool | Purpose |
|---|---|
ref_http_status | HTTP status code lookup by number or keyword |
ref_mime_type | MIME type lookup by type string or file extension |
ref_element_lookup | Periodic table element by name, symbol, or atomic number |
ref_element_search | Filter elements by category, group, period, mass range |
ref_constant_lookup | CODATA 2022 physical constants by name or symbol |
ref_unit_convert | Convert between compatible units (length, mass, speed, etc.) |
ref_geo_lookup | Country lookup by name or ISO code |
ref_geo_search | Filter countries by region, language, currency |
ref_timezone_lookup | Timezone info by IANA ID or country code |
ref_timezone_convert | Convert datetime between timezones |
Verified execution trace
All 4 calls below ran on 2026-06-12 against v0.1.10 (server reports as v0.10.6 internally).
1. HTTP status code lookup — 418
→ {"method":"tools/call","params":{"name":"ref_http_status","arguments":{"query":"418"}}}
← code: 418, reason_phrase: "I'm a Teapot", category: "4xx Client Error", rfc: "RFC 2324 §2.3.2"2. Periodic table element — Gold
→ {"method":"tools/call","params":{"name":"ref_element_lookup","arguments":{"query":"gold"}}}
← symbol: Au, number: 79, atomic_mass: 196.97, category: "transition metal", density: 19.3 g/cm³, melting_point: 1337.33 K3. MIME type lookup — .json
→ {"method":"tools/call","params":{"name":"ref_mime_type","arguments":{"query":".json"}}}
← type: "application/json", extensions: ["json","map"], compressible: true, source: "iana"4. Unit conversion — 100 km → miles
→ {"method":"tools/call","params":{"name":"ref_unit_convert","arguments":{"value":100,"from":"km","to":"mi"}}}
← result: 62.1371 mi, measure: "length"Notes
- Requires
MCP_TRANSPORT_TYPE=stdioenv var (defaults to HTTP otherwise) - Package warns about Node ≥24 requirement but works on Node 22
- All responses include both human-readable
content[].textand machine-readablestructuredContent - Pure in-memory — no network calls, sub-millisecond response times
- Rich data: HTTP status includes RFC references, elements include electron configuration and discovery info
{ "server": "@cyanheads/[email protected]", "transport": "stdio", "launch": "MCP_TRANSPORT_TYPE=stdio npx -y @cyanheads/[email protected]", "tools_count": 10, "calls": [ { "tool": "ref_http_status", "input": { "query": "418" }, "output": { "code": 418, "reason_phrase": "I'm a Teapot", "category": "4xx Client Error", "rfc": "RFC 2324", "rfc_section": "2.3.2" }, "success": true }, { "tool": "ref_element_lookup", "input": { "query": "gold" }, "output": { "number": 79, "symbol": "Au", "name": "Gold", "atomic_mass": 196.97, "category": "transition metal", "density_g_per_cm3": 19.3, "melting_point_k": 1337.33 }, "success": true }, { "tool": "ref_mime_type", "input": { "query": ".json" }, "output": { "type": "application/json", "extensions": ["json", "map"], "compressible": true, "source": "iana" }, "success": true }, { "tool": "ref_unit_convert", "input": { "value": 100, "from": "km", "to": "mi" }, "output": { "result": 62.137121212121215, "result_precision": "62.1371", "measure": "length" }, "success": true } ], "success_rate": "4/4 (100%)" }