MCP Hub
Back to servers

symbolics-mcp

An MCP server that enables LLMs to evaluate Lisp expressions on a Symbolics Genera machine over TCP. It bridges JSON-RPC requests to the Genera environment to return evaluation results, stdout, and stderr.

glama
Stars
2
Updated
Mar 17, 2026
Validated
Mar 19, 2026

symbolics-mcp

An MCP (Model Context Protocol) server that lets LLMs evaluate Lisp expressions on a Symbolics Genera machine over TCP.

The system has two parts:

  1. eval-server.lisp -- a TCP evaluation server that runs on the Genera machine
  2. genera-mcp.lisp -- an MCP stdio server that runs on the host (SBCL) and bridges JSON-RPC requests to Genera over TCP

Prerequisites

  • A Symbolics Genera virtual machine (e.g. via Open Genera on a Linux/Alpha host or the VLM)
  • SBCL on the host machine running the virtual Genera
  • Quicklisp installed in SBCL (the MCP server loads usocket and yason via Quicklisp)

Setting up the Genera side

First, copy eval-server.lisp to the Genera SYS:SITE; directory on the host filesystem:

cp eval-server.lisp /opt/symbolics/lib/sys.sct/site/eval-server.lisp

Then load it from the Genera Lisp Listener:

Load File SYS:SITE;eval-server.lisp

The file must be loaded once per boot. It does two things:

  • Defines a TCP server (:mcp-server) that accepts connections, reads length-prefixed Lisp expressions, evaluates them, and returns the result, stdout, and stderr as length-prefixed fields.
  • Registers the server on TCP port 8888 via tcp:add-tcp-port-for-protocol.

After loading, the server starts automatically -- there is no separate start command. It listens on port 8888 and handles each connection in its own process.

To verify it is running, you can send a test expression from the host:

echo -n '11 (+ 1 2 3 4)' | nc -w 2 192.168.11.2 8888 | cat -v

The number before the space is the byte length of the expression ((+ 1 2 3 4) = 11 bytes). If the server is working, you should see a response containing 10 (the result of the expression).

MCP configuration

Add the following to your .mcp.json (or the MCP configuration of your client), adjusting the path and IP address for your setup:

{
    "mcpServers": {
        "symbolics-genera": {
            "command": "/path/to/genera-mcp.sh",
            "env": {
                "GENERA_HOST": "192.168.11.2",
                "GENERA_PORT": "8888"
            }
        }
    }
}

Environment variables

VariableDefaultDescription
GENERA_HOSTgeneraHostname or IP of the Genera machine
GENERA_PORT8888TCP port of the eval server
GENERA_TIMEOUT30Timeout in seconds for each evaluation

Exposed tool

The MCP server exposes a single tool:

  • eval_lisp -- Evaluate a Common Lisp / Zetalisp expression on the Genera machine and return the result. The response includes the return value, stdout, and stderr (if any).

Reviews

No reviews yet

Sign in to write a review