ClaudeSmalltalk MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "SMALLTALK_MCP_CONFIG=${SMALLTALK_MCP_CONFIG}" claude-smalltalk -- uv run /path/to/ClaudeSmalltalk/smalltalk_agent_mcp.py
Required:SMALLTALK_MCP_CONFIG
README.md

Connect Claude Desktop to a live Smalltalk programming environment.

ClaudeSmalltalk

Connect Claude Desktop to a live Smalltalk programming environment. Browse classes, evaluate expressions, define methods, and run autonomous code review — all against a running Squeak or Cuis image.

Developed by John M McIntosh, Corporate Smalltalk Consulting Ltd. 2026

What It Does

The Squeak VM provides 14 MCP tools — evaluate code, browse classes, read/write methods, navigate hierarchies, and save the image. Claude Desktop accesses them via smalltalk_task, which delegates all Smalltalk interaction to a locally-configured LLM (Ollama for free/local, or Anthropic/OpenAI/xAI) — no source code leaves your machine.

You → Claude Desktop → smalltalk_task → Your LLM → Live Smalltalk Image (TCP)
                        (MCP server)     (Ollama)    (Squeak or Cuis)

The agent isolates Smalltalk reasoning from your chat model. Claude Desktop triggers the work, but a separate model (which can be local and free) does the actual Smalltalk coding.

Quick Start

1. Get a Smalltalk VM and Image

Squeak (recommended):

  • Download Squeak 6.0 — the All-in-One package includes VM and image
  • Follow SQUEAK-SETUP.md to install the MCP server into the image

Cuis Smalltalk:

macOS note: Place the VM and image files in /Applications/ or your home directory. Files in ~/Documents/ or ~/Desktop/ may be blocked by macOS privacy restrictions (TCC). See macOS Permissions below.

2. Create a Configuration File and Install

Follow CLAUDE-README-MCPB.md — it covers creating your smalltalk-mcp.json config and installing the desktop extension.

Copy a starter config from examples/ and set your VM paths:

cp examples/smalltalk-mcp-ollama.json smalltalk-mcp.json
# Edit vm.binary and vm.image to match your install

The VM auto-starts on first use — no manual launch needed. Token auth is handled automatically.

See examples/ for Anthropic, OpenAI, xAI, and MQTT variants.

3. Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "smalltalkAgent": {
      "command": "uv",
      "args": ["run", "/path/to/ClaudeSmalltalk/smalltalk_agent_mcp.py"],
      "env": {
        "SMALLTALK_MCP_CONFIG": "/path/to/smalltalk-mcp.json"
      }
    }
  }
}

Requires Python 3.10+. Dependencies (httpx) are resolved automatically by uv. Install uv if you don't have it by following the official installation instructions there (for example via your package manager where available). If you choose to use an install script, review it first and follow any checksum or signature verification steps described in the uv documentation.

Alternatively, if you prefer not to use uv, you can use python3 as the command — but you'll need to install httpx yourself (pip install httpx or pip3 install httpx). For MQTT transport, also: pip install paho-mqtt.

4. Verify It Works

Open Claude Desktop and ask:

"List all Smalltalk classes that start with String"

Available Tools

Claude Desktop (1 tool)

Tool Description
smalltalk_task Delegate any Smalltalk task to a locally-configured LLM. No source code leaves your machine.

VM Tools (14, available to the agent)

Tool Description
smalltalk_evaluate Execute Smalltalk code and return result
smalltalk_browse Get class metadata (superclass, ivars, methods)
smalltalk_method_source View source code of a method
smalltalk_define_class Create or modify a class definition
smalltalk_define_method Add or update a method
smalltalk_delete_method Remove a method from a class
smalltalk_delete_class Remove a class from the system
smalltalk_list_classes List classes matching a prefix
smalltalk_hierarchy Get superclass chain
smalltalk_subclasses Get immediate subclasses
smalltalk_list_categories List all system categories
smalltalk_classes_in_category List classes in a category
smalltalk_save_image Save the current image in place
smalltalk_save_as_new_version Save image/changes as next version number

All 14 tools are also available directly via the st CLI (openclaw/smalltalk.py).

Configuration Reference

Supported LLM Providers

Provider API Cost Config key
Ollama /v1/chat/completions Free (local) "provider": "ollama"
Anthropic /v1/messages (httpx) Paid "provider": "anthropic"
OpenAI /v1/chat/completions Paid "provider": "openai"
xAI /v1/chat/completions Paid "provider": "xai"

All prov

Tools (15)

smalltalk_taskDelegate any Smalltalk task to a locally-configured LLM.
smalltalk_evaluateExecute Smalltalk code and return result
smalltalk_browseGet class metadata (superclass, ivars, methods)
smalltalk_method_sourceView source code of a method
smalltalk_define_classCreate or modify a class definition
smalltalk_define_methodAdd or update a method
smalltalk_delete_methodRemove a method from a class
smalltalk_delete_classRemove a class from the system
smalltalk_list_classesList classes matching a prefix
smalltalk_hierarchyGet superclass chain
smalltalk_subclassesGet immediate subclasses
smalltalk_list_categoriesList all system categories
smalltalk_classes_in_categoryList classes in a category
smalltalk_save_imageSave the current image in place
smalltalk_save_as_new_versionSave image/changes as next version number

Environment Variables

SMALLTALK_MCP_CONFIGrequiredPath to the smalltalk-mcp.json configuration file

Configuration

claude_desktop_config.json
{"mcpServers": {"smalltalkAgent": {"command": "uv", "args": ["run", "/path/to/ClaudeSmalltalk/smalltalk_agent_mcp.py"], "env": {"SMALLTALK_MCP_CONFIG": "/path/to/smalltalk-mcp.json"}}}}

Try it

List all Smalltalk classes that start with String
Browse the class hierarchy for the Collection class
Define a new method in the String class that returns the reverse of the string
Save the current Smalltalk image
List all classes in the Kernel category

Frequently Asked Questions

What are the key features of ClaudeSmalltalk?

Connects Claude Desktop to live Squeak or Cuis Smalltalk images. Delegates Smalltalk coding tasks to local or cloud-based LLMs. Provides 14 tools for class, method, and hierarchy management. Supports autonomous code review within the Smalltalk environment. Maintains secure connection with no source code leaving the machine.

What can I use ClaudeSmalltalk for?

Automating Smalltalk class refactoring and method updates. Exploring complex Smalltalk class hierarchies using natural language. Performing autonomous code reviews on live Smalltalk images. Rapid prototyping by defining new classes and methods via LLM assistance.

How do I install ClaudeSmalltalk?

Install ClaudeSmalltalk by running: uv run /path/to/ClaudeSmalltalk/smalltalk_agent_mcp.py

What MCP clients work with ClaudeSmalltalk?

ClaudeSmalltalk works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep ClaudeSmalltalk docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare