Pharo NeoConsole
Evaluate Pharo Smalltalk expressions and get system information via a local NeoConsole server.
pharo-nc-mcp-server
A local MCP server to evaluate Pharo Smalltalk expressions and get system information via NeoConsole.
Prerequisites
- Python 3.10 or later
- uv package manager
- Pharo with NeoConsole installed
Pharo Setup
- Install Pharo and NeoConsole
- Set the
PHARO_DIRenvironment variable to your Pharo installation directory (default:~/pharo) - Ensure
NeoConsole.imageis available in the Pharo directory
Installation
- Clone the repository:
git clone <repository-url>
cd pharo-nc-mcp-server
- Install dependencies using uv:
uv sync --dev
Usage
Running the MCP Server
Start the server:
uv run pharo-nc-mcp-server
Cursor MCP settings
{
"mcpServers": {
"pharo-nc-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/your-path/to/pharo-nc-mcp-server",
"run",
"pharo-nc-mcp-server"
]
}
}
}
MCP Tools Available
evaluate_smalltalk_with_neo_console
Execute Smalltalk expressions in Pharo using NeoConsole:
# Example usage in MCP client
evaluate_smalltalk_with_neo_console(expression="42 factorial", command="eval")
evaluate_simple_smalltalk
Execute Smalltalk expressions using Pharo's simple -e option:
# Simple evaluation
evaluate_simple_smalltalk(expression="Time now")
get_pharo_metric
Retrieve system metrics from Pharo:
# Get system status
get_pharo_metric(metric="system.status")
# Get memory information
get_pharo_metric(metric="memory.free")
get_class_comment
Get the comment of a Pharo class:
# Get Array class comment
get_class_comment(class_name="Array")
get_class_definition
Get the definition of a Pharo class:
# Get Array class definition
get_class_definition(class_name="Array")
get_method_list
Get the list of method selectors for a Pharo class:
# Get all method selectors for Array class
get_method_list(class_name="Array")
get_method_source
Get the source code of a specific method in a Pharo class:
# Get source code for Array>>asSet method
get_method_source(class_name="Array", selector="asSet")
Environment Variables
PHARO_DIR: Path to Pharo installation directory (default:~/pharo)
Development
Code Formatting and Linting
# Format code
uv run black pharo_nc_mcp_server/
# Lint code
uv run ruff check pharo_nc_mcp_server/
# Run tests
uv run python -m pytest
# Or use the test script
./scripts/test.sh
Development Scripts
The project includes several convenience scripts in the scripts/ directory:
scripts/format.sh
Formats all code and documentation files in one command:
- Formats Python code using Black
- Formats markdown files using mdformat
- Runs linting checks with Ruff
./scripts/format.sh
scripts/test.sh
Runs the test suite using pytest:
./scripts/test.sh
相關伺服器
Scout Monitoring MCP
贊助Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
贊助Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Kubeshark
MCP access to cluster-wide L4 and L7 network traffic, packets, APIs, and complete payloads.
Coding Assistant Server
A coding assistant server that provides context-aware code suggestions, documentation integration, and technology detection.
Tether MCP
Prevents AI coding agents from drifting off your architecture — blocks wrong dependencies, enforces file structure, and gives agents persistent memory of your project's rules.
MCP-S Gateway
A secure, open-source OAuth gateway for MCP authentication.
mockd
Multi-protocol API mock server with 18 MCP tools — mock HTTP, GraphQL, gRPC, WebSocket, MQTT, SSE, and SOAP APIs with chaos engineering, stateful CRUD, and deterministic seeded responses.
MCP JS Debugger
Debug JavaScript and TypeScript applications through the Chrome DevTools Protocol with full source map support.
Kontxt
Indexes local code repositories to provide codebase context to AI clients.
MCP Everything
A demonstration server for the Model Context Protocol (MCP) showcasing various features like tools, resources, and prompts in TypeScript and Python.
Lokalise MCP Tool
Add translation keys to Lokalise projects. Requires a Lokalise API key.
PyMilvus Code Generate Helper
Retrieves relevant code snippets and documents to assist in generating PyMilvus code, requiring a running Milvus instance.