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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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