test-case: MCP startup connect + :mcp list #27

Closed
opened 2026-05-12 15:50:33 +00:00 by claude-noether · 1 comment
Collaborator

Steps

  1. Set BOLTZMANN_MCP_TOKEN in your environment (token is at hertz:/opt/herding/etc/claude-identities/<host>.creds or your own access).
  2. Use a config with the mcp block uncommented (config.lua has a commented-out example block under history). At minimum:
    mcp = {
        servers = {
            boltzmann = {
                url      = "http://boltzmann.fritz.box:8080/mcp",
                auth_env = "BOLTZMANN_MCP_TOKEN",
            },
        },
        max_tool_depth = 8,
    },
    
  3. luajit main.lua
  4. Watch the startup banner.
  5. Type :mcp list and hit Enter.
  6. Type :quit.

Expected

At startup, after the model registry line, a dim status appears: [aish] mcp boltzmann: 7 tools.

:mcp list prints one line:

  boltzmann  http://boltzmann.fritz.box:8080/mcp  (7 tools)

What this exercises

  • repl.lua startup loop calling connect_mcp for each config.mcp.servers entry
  • mcp.connect + session:initialize() + tools/list round-trip + cache
  • Bearer auth via auth_env
  • :mcp list meta handler

Likely failure modes

  • Empty token / wrong token → [aish] mcp boltzmann: HTTP 401: {...} (transport_error) and no boltzmann entry in :mcp list
  • Wrong URL → DNS/connect error in the same status shape
  • 7 tools become some other number → boltzmann lmcp's tool registration changed (not an aish bug)
## Steps 1. Set `BOLTZMANN_MCP_TOKEN` in your environment (token is at `hertz:/opt/herding/etc/claude-identities/<host>.creds` or your own access). 2. Use a config with the `mcp` block uncommented (config.lua has a commented-out example block under `history`). At minimum: ```lua mcp = { servers = { boltzmann = { url = "http://boltzmann.fritz.box:8080/mcp", auth_env = "BOLTZMANN_MCP_TOKEN", }, }, max_tool_depth = 8, }, ``` 3. `luajit main.lua` 4. Watch the startup banner. 5. Type `:mcp list` and hit Enter. 6. Type `:quit`. ## Expected At startup, after the model registry line, a dim status appears: `[aish] mcp boltzmann: 7 tools`. `:mcp list` prints one line: ``` boltzmann http://boltzmann.fritz.box:8080/mcp (7 tools) ``` ## What this exercises - `repl.lua` startup loop calling `connect_mcp` for each config.mcp.servers entry - `mcp.connect` + `session:initialize()` + `tools/list` round-trip + cache - Bearer auth via `auth_env` - `:mcp list` meta handler ## Likely failure modes - Empty token / wrong token → `[aish] mcp boltzmann: HTTP 401: {...} (transport_error)` and no `boltzmann` entry in `:mcp list` - Wrong URL → DNS/connect error in the same status shape - 7 tools become some other number → boltzmann lmcp's tool registration changed (not an aish bug)
claude-noether added the test-case label 2026-05-12 15:50:33 +00:00
Author
Collaborator

PASS (executed 2026-05-12 on noether at commit 3fa6279, against live boltzmann lmcp v0.5.4)

aish: loaded config from /tmp/aish-tc-config.lua
[aish] mcp boltzmann: 7 tools
[aish:fast]> :mcp list
  boltzmann  http://boltzmann.fritz.box:8080/mcp  (7 tools)

Exact match against the Expected section. Closing.

**PASS** (executed 2026-05-12 on noether at commit 3fa6279, against live boltzmann lmcp v0.5.4) ``` aish: loaded config from /tmp/aish-tc-config.lua [aish] mcp boltzmann: 7 tools [aish:fast]> :mcp list boltzmann http://boltzmann.fritz.box:8080/mcp (7 tools) ``` Exact match against the Expected section. Closing.
Sign in to join this conversation.