lisp_evalLABSCO 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
codeand an optionalpackage, 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/<YOUR_USERNAME>/projects,dst=/projects mcp/filesystem /projects
USE CASES
Building a parametric model interactively
Create the object with named dimensions, read them back, then change one and verify the result in the same session.
Checking the backend before you debug the client
Ping first — if it answers, the problem is your configuration, not the connection.
Reaching an endpoint the tools do not cover
Call the backend's own HTTP route directly with the path and method you need.
Running two Lisp implementations side by side
Configure one server entry per backend with distinct names and ports, and the prefixed tool names keep them apart.
3 tools
Listed in project docs. Your client may show a different list.
http_requestping_lispBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
wsl on PATH
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
wsl docker run -i --rm -u 1000:1000 --mount type=bind,src=/home/<YOUR_USERNAME>/projects,dst=/projects mcp/filesystem /projectsMCP Clients
Claude Desktop
{
"mcpServers": {
"gendl-ccl": {
"command": "node",
"args": [
"<YOUR_PATH_TO_CLONED>/lisply-mcp/scripts/mcp-wrapper.js",
"--server-name",
"gendl-ccl",
"--http-port",
"9080"
]
}
}
}Claude Desktop — WSL
{
"mcpServers": {
"gendl-ccl": {
"command": "wsl",
"args": [
"node <YOUR_PATH_TO_CLONED>/lisply-mcp/scripts/mcp-wrapper.js",
"--server-name",
"gendl-ccl",
"--http-port",
"9080"
]
}
}
}