pharo-smalltalk-interop-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHARO_SIS_PORT | No | Port number for PharoSmalltalkInteropServer (default: 8086) | 8086 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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