Skip to main content
Glama
mumez

pharo-smalltalk-interop-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PHARO_SIS_PORTNoPort number for PharoSmalltalkInteropServer (default: 8086)8086

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
evalB

Evaluate a Pharo Smalltalk expression with PharoSmalltalkInteropServer.

Args: code: The Smalltalk code to evaluate

Returns: dict: API response with success/error and result - Success: {"success": True, "result": any} - result contains the evaluation result - Error: {"success": False, "error": str} - error contains error message

get_class_sourceA

Get the source code of a Smalltalk class.

Args: class_name: The name of the class to retrieve source for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains the class source code - Error: {"success": False, "error": str} - error contains error message

get_method_sourceB

Get the source code of a specific method in a class.

Args: class_name: The name of the class containing the method method_name: The name of the method to retrieve source for is_class_method: True for class-side methods, False for instance methods (default: False)

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains the method source code - Error: {"success": False, "error": str} - error contains error message

get_class_commentA

Get the comment of a Smalltalk class.

Args: class_name: The name of the class to retrieve comment for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains the class comment - Error: {"success": False, "error": str} - error contains error message

search_classes_likeA

Find classes matching a pattern.

Args: class_name_query: The pattern to search for in class names

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of matching class names - Error: {"success": False, "error": str} - error contains error message

search_methods_likeA

Find methods matching a pattern.

Args: method_name_query: The pattern to search for in method names

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of matching method names - Error: {"success": False, "error": str} - error contains error message

search_implementorsA

Get all implementors of a method selector.

Args: method_name: The method name to find implementors for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[dict]} - result contains list of implementors Each implementor: {"class": str, "method": str, "package": str} - Error: {"success": False, "error": str} - error contains error message

search_referencesA

Get all references to a method selector or a symbol.

Args: method_name_or_symbol: The method name to find references for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[dict]} - result contains list of references Each reference: {"class": str, "method": str, "package": str} - Error: {"success": False, "error": str} - error contains error message

list_packagesA

Get list of all packages.

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of all package names - Error: {"success": False, "error": str} - error contains error message

list_classesA

Get list of classes in a package.

Args: package_name: The name of the package

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of class names in package - Error: {"success": False, "error": str} - error contains error message

export_packageB

Export a package in Tonel format.

Args: package_name: The name of the package to export path: The path where to export the package (default: /tmp)

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains export success message with path - Error: {"success": False, "error": str} - error contains error message

import_packageA

Import a package from specified path.

Args: package_name: The name of the package to import path: The path to the package file to import (default: /tmp)

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains import success message - Error: {"success": False, "error": str} - error contains error message

run_package_testB

Run tests for a package.

Args: package_name: The package name to run tests for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains test results summary - Error: {"success": False, "error": str} - error contains error message

run_class_testB

Run tests for a class.

Args: class_name: The class name to run tests for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains test results summary - Error: {"success": False, "error": str} - error contains error message

list_extended_classesA

Get list of extended classes in a package.

Args: package_name: The name of the package

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of extended class names - Error: {"success": False, "error": str} - error contains error message

list_methodsA

Get list of methods in a package.

Args: package_name: The name of the package

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of method signatures Each method: "ClassName>>#methodName" - Error: {"success": False, "error": str} - error contains error message

search_traits_likeA

Find traits matching a pattern.

Args: trait_name_query: The pattern to search for in trait names

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[str]} - result contains list of matching trait names - Error: {"success": False, "error": str} - error contains error message

search_references_to_classA

Find references to a class.

Args: class_name: The name of the class to find references for

Returns: dict: API response with success/error and result - Success: {"success": True, "result": list[dict]} - result contains list of class references Each reference: {"package": str, "class": str, "method": str} - Error: {"success": False, "error": str} - error contains error message

install_projectA

Install a project using Metacello.

Args: project_name: The name of the project to install repository_url: The repository URL for the project load_groups: Comma-separated list of groups to load (optional)

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains installation success message - Error: {"success": False, "error": str} - error contains error message

read_screenA

Comprehensive UI screen reader for debugging Pharo interfaces.

Captures screenshot and extracts complete UI structure for World morphs, Spec presenters, and Roassal visualizations.

Args: target_type: 'world' for morphs, 'spec' for Spec windows, 'roassal' for visualizations capture_screenshot: Include PNG screenshot in response (default: true)

Returns: dict: UI structure and metrics - screenshot: Path to PNG file in /tmp/ (if capture_screenshot=true) - target_type: Which UI type was inspected - structure: Complete UI hierarchy data - summary: Human-readable description

get_settingsA

Retrieve current server configuration.

Returns: dict: API response with success/error and result - Success: {"success": True, "result": dict} - result contains current server settings - Error: {"success": False, "error": str} - error contains error message

apply_settingsB

Modify server configuration dynamically.

Args: settings: Dictionary containing server settings to modify

Returns: dict: API response with success/error and result - Success: {"success": True, "result": str} - result contains confirmation message - Error: {"success": False, "error": str} - error contains error message

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mumez/pharo-smalltalk-interop-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server