# ClaudeSmalltalk

An MCP server that hands your coding agent a live Squeak or Cuis image to browse, edit and save.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 18
- Author: CorporateSmalltalkConsultingLtd
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/CorporateSmalltalkConsultingLtd/ClaudeSmalltalk
- Updated: 2026-07-14
- HTML: https://affpapa.org/en/nevibecode/mcp/claudesmalltalk

## What it does

The server speaks TCP to a running Smalltalk image and gives your agent 14 tools: run an expression, inspect a class, read or replace a method, follow superclasses, save the image. Your agent only calls `smalltalk_task`. That tool forwards the work to a second model — Ollama on your own hardware, or Anthropic, OpenAI, xAI over the network.

Point the server at a config by setting `SMALLTALK_MCP_CONFIG`; a starter `smalltalk-mcp.json` is in `examples/`. TCP is the default transport, and the VM comes up on first use with a UUID token on each request. Choose `mqtt` when the image sits behind a broker, or when Cuis runs its MQTT handler.

You need Python 3.10+ and `uv`, which pulls `httpx` by itself. A plain `python3` setup means installing `httpx` yourself, plus `paho-mqtt` if you go with MQTT. On macOS put the VM and the image under `/Applications/` or in your home folder: the privacy layer blocks `~/Documents/`, `~/Desktop/` and `~/Downloads/`, and those paths fail.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add claudesmalltalk -- uvx claude-smalltalk
```
uvx runs the command named after the package; if the README names another one, use uvx --from claude-smalltalk <command>

### Codex

**Platform CLI**
```bash
codex mcp add claudesmalltalk -- uvx claude-smalltalk
```
uvx runs the command named after the package; if the README names another one, use uvx --from claude-smalltalk <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "claudesmalltalk": {
            "command": "uvx",
            "args": [
                "claude-smalltalk"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from claude-smalltalk <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "claudesmalltalk": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "claude-smalltalk"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from claude-smalltalk <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add claudesmalltalk uvx claude-smalltalk
```
uvx runs the command named after the package; if the README names another one, use uvx --from claude-smalltalk <command>

## When to use it
- read a method's source without opening a class browser
- define a method from the chat window
- trace where behaviour is declared up the superclass chain
- save the image as a new version number
- list classes by prefix before a refactor

## Example prompts
- Use `smalltalk_list_classes` to list every Smalltalk class whose name starts with `String`.
- Show me the superclass chain and immediate subclasses of `String`, then save the image as a new version.
- Review the code in the image: read the `String` methods with `smalltalk_method_source` and suggest fixes.

## Similar
- [Serena MCP: the IDE for your agent](https://affpapa.org/en/nevibecode/mcp/serena-mcp-the-ide-for-your-agent.md) — MCP server · ★ 30677
- [Compiler Explorer](https://affpapa.org/en/nevibecode/mcp/compiler-explorer.md) — MCP server · ★ 19148
- [Claude Code Explorer MCP](https://affpapa.org/en/nevibecode/mcp/claude-code-explorer-mcp.md) — MCP server · ★ 6235
- [Tolgee](https://affpapa.org/en/nevibecode/mcp/tolgee.md) — MCP server · ★ 4139
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2061
- [pyscn](https://affpapa.org/en/nevibecode/mcp/pyscn.md) — MCP server · ★ 1096

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
