Labsco
MCP SERVER

MCP TypeScript Implementation

by hungryrobot1

A lambda-calculus runtime the model programs itself: define a tool as a JSON expression, run it, read its source back as data.

Sandboxed Code Execution
Summary
The model writes its own tools, inside a box it cannot break out of.

evolve turns a JSON expression into a callable tool, run executes it, and code_of hands a tool's source back so one tool can analyse another. Every evaluation is pure and fuel-bounded — no file access, no network, no runaway recursion — and an evolved tool cannot create new tools, which is the line that keeps the self-modification from going anywhere unbounded.

What it is

A JSON-native lambda calculus exposed over MCP. Instead of a fixed set of functions or an open shell, the model composes tools from a small vocabulary of primitives and registers them, and every evaluation is pure and bounded.

What you get
  • evolve — create a new tool from a JSON lambda expression and store it in the registry
  • run — execute a registered tool, or an inline lambda, against an input
  • list — show every tool currently registered
  • help — documentation for the primitives and the system tools, by category
  • A primitive vocabulary covering lambda abstraction and application, arithmetic, comparison, logic, conditionals, lists, pairs and folds
  • Metaprogramming primitives: quote holds code as data, eval executes quoted code, code_of returns another tool's source for analysis
  • Continuation-style recursion for work too deep for direct recursion, with each step handed back to the client
  • Inputs are normalised on the way in — quoted numbers, quoted booleans and JSON strings are coerced before evaluation
Requirements

Built from source with a Haskell toolchain and run as a local process over stdio. No account, no key, no network call. The metaprogramming stops at the server boundary: the primitives, the parser and the evaluation strategy are fixed at runtime, and a tool created through evolve cannot itself create further tools.