
Security News
Open VSX Unblocks Extension IDs Used in Malware Campaign
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.
flatland-client
Advanced tools
Flatland client — the durable client for the hosted Flatland engine. Your model is a file you own (~/.flatland/models/*.flatland.json), versioned in your own git; the server is a pure function that holds nothing at rest. Includes a local MCP stdio bridge
flatland-client — your model is a file you own.
The durable client for the hosted Flatland engine, and a local MCP bridge for Claude Code / Cursor.
Your model lives at ~/.flatland/models/<name>.flatland.json on your
machine — versioned in your own git, diffable, re-runnable anywhere. The hosted
server is a pure function (/api/v2/*): the client ships the model IR in, the
server computes/transforms and returns, and retains nothing at rest.
flatland-client mcp runs a local MCP stdio server. It holds the model IR on
your machine (durable across sessions) and routes compute to the hosted engine
(metered). The usual way to wire it is:
npx flatland-setup fl_live_YOUR_KEY # configures `flatland-client mcp` by default
Or by hand, in your MCP client config:
{ "mcpServers": { "flatland": { "command": "npx", "args": ["-y", "flatland-client", "mcp"] } } }
The key is read from ~/.flatland/config.json (written by flatland-setup) or
the FLATLAND_API_KEY env var — it is never embedded in the MCP config.
import { create, load, httpTransport } from "flatland-client";
const t = httpTransport({ apiKey: "fl_live_..." });
const h = await create("acme_plan", t); // writes ~/.flatland/models/acme_plan.flatland.json
await h.bulkAdd([
{ name: "revenue", type: "Currency", value: 1000 },
{ name: "cost", type: "Currency", value: 400 },
{ name: "profit", type: "Currency", formula: "revenue - cost" },
]);
console.log((await h.compile()).values.profit.value); // metered compute, nothing stored server-side
// new session / a machine that has the file:
const h2 = await load("acme_plan", t); // durable across restart
flatland-client mcp # run the local MCP stdio server
flatland-client list # list durable models on this machine
flatland-client create <name> # create a model, persisted locally
flatland-client compile <name> # compile a local model via the hosted engine
5xx, or a rejected 4xx) raises and
leaves the local file untouched; a failure is never a silent stale-file
"success".load() of a missing file raises; the server never
held your model.{ "flatland_ir_version": 1, "ir": {...} }; a
too-new envelope is refused before it is persisted.X-API-Key
header — never logged.Get a key at https://flatlandfi.com/install.
MIT. Covers the client only — the Flatland engine and API are a separate, proprietary service accessed with a paid API key.
FAQs
Flatland client — the durable client for the hosted Flatland engine. Your model is a file you own (~/.flatland/models/*.flatland.json), versioned in your own git; the server is a pure function that holds nothing at rest. Includes a local MCP stdio bridge
The npm package flatland-client receives a total of 38 weekly downloads. As such, flatland-client popularity was classified as not popular.
We found that flatland-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.