mumez/pharo-smalltalk-interop-mcp-server

mumez/pharo-smalltalk-interop-mcp-server

от mumez
MCP-сервер для взаимодействия с локальным образом Pharo Smalltalk: выполняет код, ищет классы и методы, управляет пакетами, запускает тесты и отлаживает UI. Незаменим для разработчиков на Pharo, ра...

pharo-smalltalk-interop-mcp-server

CI

⚠️ This project has moved. Starting with v4.0.0, development has moved to smalltalk-interop-mcp-server, which adds support for Squeak's SIS server in addition to Pharo. Please use the new repository for the latest features and updates; this repository is kept for historical reference only.

A local MCP server to communicate local Pharo Smalltalk image. It supports:

  • Code Evaluation: Execute Smalltalk expressions and return results
  • Code Introspection: Retrieve source code, comments, and metadata for classes and methods
  • Search & Discovery: Find classes, traits, methods, references, and implementors
  • Package Management: Export and import packages in Tonel format
  • Project Installation: Install projects using Metacello
  • Test Execution: Run test suites at package or class level
  • UI Debugging: Capture screenshots and inspect UI structure for World morphs, Spec presenters, and Roassal visualizations
  • Server Configuration: Retrieve and modify server settings dynamically

Часто задаваемые вопросы

Инструменты были проиндексированы:
apply_settingsидемпотентный

Изменяет конфигурацию сервера динамически.

Применяет настройки.

Параметры
  • settingsobjectобязательный

    Словарь настроек для применения к серверу

eval

Вычисляет выражение Pharo Smalltalk с помощью PharoSmalltalkInteropServer.

Оценивает Smalltalk.

Параметры
  • codestringобязательный

    Код Smalltalk для выполнения

export_packageидемпотентный

Экспортирует пакет в формат Tonel.

Экспортирует пакет

Параметры
  • package_namestringобязательный

    Имя пакета для экспорта

  • pathstring

    Путь для экспорта пакета

get_class_commentтолько чтение

Получает комментарий класса Smalltalk.

Получает комментарий класса

Параметры
  • class_namestringобязательный

    Имя класса, для которого нужно получить комментарий.

get_class_sourceтолько чтение

Получает исходный код класса Smalltalk.

Получает исходный код класса.

Параметры
  • class_namestringобязательный

    Имя класса, для которого нужно получить исходный код

get_method_sourceтолько чтение

Получает исходный код конкретного метода в классе.

Получает исходный код метода.

Параметры
  • class_namestringобязательный

    Имя класса, содержащего метод

  • is_class_methodboolean

    Установите значение True для методов класса, False для методов экземпляра (по умолчанию: False)

  • method_namestringобязательный

    Название метода для получения исходного кода

get_settingsтолько чтение

Получает текущую конфигурацию сервера. Возвращает: dict: ответ API с success/error и result - Успех: {"success": True, "result": dict} - result содержит текущие настройки сервера - Ошибка: {"success": False, "error": str} - error содержит сообщение об ошибке

Получает настройки

Параметры

Без параметров.

import_package

Импортирует пакет из указанного пути.

Импортирует пакет

Параметры
  • package_namestringобязательный

    Название пакета, который нужно импортировать.

  • pathstring

    Путь к файлу пакета для импорта.

install_projectвнешний мир

Устанавливает проект с помощью Metacello.

Установить проект

Параметры
  • load_groupsstring | null

    Список групп для загрузки, разделённых запятыми.

  • project_namestringобязательный

    Название проекта для установки

  • repository_urlstringобязательный

    URL репозитория проекта

list_classesтолько чтение

Получает список классов в пакете.

Перечисляет классы

Параметры
  • package_namestringобязательный

    Название пакета

list_extended_classesтолько чтение

Получает список расширенных классов в пакете.

Перечисляет наследуемые классы.

Параметры
  • package_namestringобязательный

    Название пакета

list_methodsтолько чтение

Получает список методов в пакете.

Список методов

Параметры
  • package_namestringобязательный

    Название пакета

list_packagesтолько чтение

Получает список всех пакетов. Возвращает: dict: ответ API с success/error и result - Success: {"success": True, "result": list[str]} - result содержит список всех имен пакетов - Error: {"success": False, "error": str} - error содержит сообщение об ошибке

Выводит список пакетов.

Параметры

Без параметров.

read_screenтолько чтение

Комплексный считыватель UI для отладки интерфейсов Pharo. Делает снимок экрана и извлекает полную структуру UI для World morphs, Spec presenters и визуализаций Roassal.

Считывает экран

Параметры
  • capture_screenshotboolean

    Включи PNG-скриншот в ответ.

  • target_typestring

    Тип UI для инспекции: 'world' (морфы), 'spec' (окна) или 'roassal' (визуализации)

run_class_testтолько чтение

Запускает тесты для класса.

Запускает тест класса

Параметры
  • class_namestringобязательный

    Имя класса, для которого нужно запустить тесты

run_package_testтолько чтение

Запускает тесты для пакета.

Запускает тест пакета

Параметры
  • package_namestringобязательный

    Имя пакета для запуска тестов

search_classes_likeтолько чтение

Находит классы, соответствующие шаблону.

Поиск классов по образцу

Параметры
  • class_name_querystringобязательный

    Паттерн для поиска в именах классов.

search_implementorsтолько чтение

Получает все реализации селектора метода.

Search Implementors

Параметры
  • method_namestringобязательный

    Имя метода, для которого ищутся реализации.

search_methods_likeтолько чтение

Находит методы, соответствующие шаблону.

Методы поиска, такие как

Параметры
  • method_name_querystringобязательный

    Шаблон для поиска в именах методов

search_referencesтолько чтение

Получает все ссылки на селектор метода или символ.

Ищет ссылки

Параметры
  • method_name_or_symbolstringобязательный

    Имя метода или символа, для которого нужно найти ссылки

search_references_to_classтолько чтение

Находит ссылки на класс.

Ищет ссылки на класс

Параметры
  • class_namestringобязательный

    Имя класса для поиска ссылок

search_traits_likeтолько чтение

Находит признаки, соответствующие шаблону.

Ищет признаки, похожие на

Параметры
  • trait_name_querystringобязательный

    Паттерн поиска в именах трейтов.

Выберите клиент, чтобы установить mumez/pharo-smalltalk-interop-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"--from\",\"git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git\",\"pharo-smalltalk-interop-mcp-server\"],\"env\":{\"PHARO_SIS_PORT\":\"8086\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk --env PHARO_SIS_PORT=8086 -- uvx --from git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git pharo-smalltalk-interop-mcp-server

Либо через JSON-конфиг:

claude mcp add-json mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk "{\"command\":\"uvx\",\"args\":[\"--from\",\"git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git\",\"pharo-smalltalk-interop-mcp-server\"],\"env\":{\"PHARO_SIS_PORT\":\"8086\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk --env PHARO_SIS_PORT=8086 -- uvx --from git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git pharo-smalltalk-interop-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk]
command = "uvx"
args = ["--from", "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git", "pharo-smalltalk-interop-mcp-server"]

[mcp_servers.mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk.env]
PHARO_SIS_PORT = "8086"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите mumez/pharo-smalltalk-interop-mcp-server, а в поле команды запуска — строку ниже:
uvx --from git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git pharo-smalltalk-interop-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk
    command: uvx
    args:
      - "--from"
      - "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git"
      - "pharo-smalltalk-interop-mcp-server"
    env:
      PHARO_SIS_PORT: 8086
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "mumez-pharo-smalltalk-interop-mcp-server-7zno5hehrk": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mumez/pharo-smalltalk-interop-mcp-server.git",
        "pharo-smalltalk-interop-mcp-server"
      ],
      "env": {
        "PHARO_SIS_PORT": "8086"
      }
    }
  }
}

Похожие MCP-сервера

alfonsograziano/node-code-sandbox-mcp

alfonsograziano/node-code-sandbox-mcp

от alfonsograziano

Выполняет Node.js-код в изолированном Docker-контейнере: ставит npm-пакеты, запускает shell-команды и возвращает вывод.

TypeScript⭐ 158
yusong652/yade-mcp

yusong652/yade-mcp

от yusong652

MCP инструмент для подключения AI-агентов к YADE - DEM движку. Через естественный язык просматривайте API, запускайте симуляции и выполняйте код в консоли. Для инженеров и исследователей, автоматиз...

Python⭐ 15
datalayer/jupyter-mcp-server

datalayer/jupyter-mcp-server

официальный

от datalayer

Управляет Jupyter Notebook в реальном времени: выполняет ячейки, читает и редактирует код, переключается между блокнотами. Поддерживает изображения и графики.

Python⭐ 1309
alvii147/piston-mcp

alvii147/piston-mcp

от alvii147

Piston MCP Server - MCP-сервер для подключения LLM к Piston API для выполнения кода. Он даёт ИИ-ассистентам безопасно запускать скрипты на разных языках в песочнице. Полезен разработчикам ИИ-агенто...

Python⭐ 9
yepcode/mcp-server-js

yepcode/mcp-server-js

официальный

от yepcode

YepCode MCP сервер превращает YepCode-процессы в готовые инструменты для ИИ-ассистентов. Он запускает скрипты на Python или Node.js в изолированной среде, управляет параметрами через JSON Schema. Идеально для интеграции AI с бизнес-логикой — от выполнения кода до управления API.

TypeScript⭐ 47
jjsantos01/jupyter-notebook-mcp

jjsantos01/jupyter-notebook-mcp

от jjsantos01

JupyterMCP - MCP-сервер, подключающий Claude AI к Jupyter Notebook (только v6.x). Claude выполняет Python-код, управляет ячейками, анализирует данные и строит графики. Полезен для AI-ассистированно...

Jupyter Notebook⭐ 128
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин