Labsco
MCP SERVER

Lisply-MCP

by gornskew

Give an agent a live Lisp REPL — evaluate code, call HTTP endpoints, and check the backend is alive.

Sandboxed Code Execution
Summary
The interesting part is that the image stays live between calls.

An agent defines an object, inspects it, changes a slot and re-reads it — the same interactive loop a Lisp developer works in, rather than a compile-run-print cycle. Be clear about the split of responsibilities: this wrapper is only an HTTP client, so if it reports it cannot reach the backend, the fix is on the backend side — check that something answers on the ping endpoint before touching the client config.

What it is

A Node middleware that connects an MCP client to a running Lisp-based environment over a lightweight protocol. It is a pure HTTP client: you run the backend yourself, and the wrapper talks to it.

What you get
  • A Lisp evaluation tool taking `code` and an optional `package`, so the agent works in a live image rather than writing files
  • An HTTP request tool for any endpoint the backend exposes, with path, method and headers
  • A ping tool for confirming the backend is up before anything else is attempted
  • Tool names prefixed by the server name you configure, so several backends can be connected at once — one for each Lisp implementation, for example
  • Sandbox trust metadata advertised in the tool descriptions, with a note you can override
Requirements

Node.js 18 or newer, a clone of the repository your client can reach, and a running Lisply backend — the Docker Compose stack from the companion project, or your own. The wrapper does not start or manage containers. Defaults are `--backend-host` 127.0.0.1 and HTTP port 9081 on the host; `--eval-timeout` is 30000 ms and the request timeout is 10000 ms.

Setup effort

One command — wsl docker run -i --rm -u 1000:1000 --mount type=bind,src=/home/user/projects,dst=/projects mcp/filesystem /projects