Easily pickle/serialize/freeze/store and re-hydrate complex JavaScript objects (including Functions)
Cryo MCP server exists for a simple reason — assistants are far more useful when they can act on Cryo directly instead of describing what you should do. Easily pickle/serialize/freeze/store and re-hydrate complex JavaScript objects (including Functions).
Built for node.js and browsers. Cryo is inspired by Python's pickle and works similarly to JSON.stringify() and JSON.parse(). Cryo.stringify() and Cryo.parse() improve on JSON in these circumstances:
Installation goes through your MCP client rather than a global install: point it at cryo on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Once Cryo is connected, these are the calls the assistant has available:
browser — Add the latest minified build to your project as a script:Undefined — Cryo takes a verbatim snapshot of all your properties, including those that are undefined - which JSON ignoresDate — Cryo successfully works with Date objects, which JSON.stringify() mangles into stringsReferences — JSON.stringify() makes multiple copies of single objects, losing object relationships. When several references to the same object are stringifiedInfinity — Cryo successfully stringifies and parses Infinity, which JSON mangles into nullProperties — Objects, Arrays, Dates, and Functions can all hold properties, but JSON will only stringify properties on Objects. Cryo will recover properties fromFunctions — try { var withJSON = JSON.parse(JSON.stringify(fn)); withJSON(); } catch(e) { console.log('error'); // error }Among the browser automation options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Cryo's toolset — browser, Undefined, Date and 4 more — is a fair guide to whether it matches your workflow. It is maintained by hunterloftis; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| browser | Add the [latest minified build](https://github.com/hunterloftis/cryo/tree/master/build) to your project as a script: |
| Undefined | Cryo takes a verbatim snapshot of all your properties, including those that are undefined - which JSON ignores. |
| Date | Cryo successfully works with Date objects, which JSON.stringify() mangles into strings. |
| References | JSON.stringify() makes multiple copies of single objects, losing object relationships. When several references to the same object are stringified with JSON, those references are turned into clones of each other. Cryo mai |
| Infinity | Cryo successfully stringifies and parses Infinity, which JSON mangles into null. |
| Properties | Objects, Arrays, Dates, and Functions can all hold properties, but JSON will only stringify properties on Objects. Cryo will recover properties from all containers: |
| Functions | try { var withJSON = JSON.parse(JSON.stringify(fn)); withJSON(); } catch(e) { console.log('error'); // error } |
{
"mcpServers": {
"cryo": {
"command": "npx",
"args": ["-y", "cryo"]
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
Industrial-strength web extraction — render, scrape, crawl and search entire sites into clean markdown.
The original Chromium automation reference server — simple, screenshot-driven browser control.
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Puppeteer-powered browser control that drives pages from the accessibility tree instead of pixels.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.