Smalltalk Validator Server
БесплатноНе проверенMCP server for validating and linting Tonel formatted Smalltalk source code using tree-sitter-tonel-smalltalk
Описание
MCP server for validating and linting Tonel formatted Smalltalk source code using tree-sitter-tonel-smalltalk
README
A simple MCP server for validating and linting Tonel formatted Smalltalk source code using tree-sitter-tonel-smalltalk.
- The purpose is that we would like to validate and lint AI-generated tonel files and Smalltalk method definitions before loading them into a real Smalltalk environment.
Tools
Validation Tools
validate_tonel_smalltalk_from_file(file_path, options)
- Validate Tonel formatted Smalltalk source code from a file
validate_tonel_smalltalk(file_content, options)
- Validate Tonel formatted Smalltalk source code from content string
validate_smalltalk_method_body(method_body_content)
- Validate a Smalltalk method body for syntax correctness
Validation Options
without-method-body: true
if true, it only validates tonel structure only (mainly for testing)
Linting Tools
lint_tonel_smalltalk_from_file(file_path)
- Lint Tonel formatted Smalltalk source code from a file
lint_tonel_smalltalk(file_content)
- Lint Tonel formatted Smalltalk source code from content string
See docs/lint-checks.md for the full list of checks.
Installation
Quick install (uvx)
Run directly without cloning:
uvx --from git+https://github.com/mumez/smalltalk-validator-mcp-server.git@main smalltalk-validator-mcp-server
Development setup (git clone)
git clone https://github.com/mumez/smalltalk-validator-mcp-server.git
cd smalltalk-validator-mcp-server
uv sync
Usage
Running the MCP Server
- Using uvx (recommended for quick run):
uvx --from git+https://github.com/mumez/smalltalk-validator-mcp-server.git@main smalltalk-validator-mcp-server
- From a cloned repo:
uv run smalltalk-validator-mcp-server
Configuration Examples
Cursor Configuration
Add to your .cursor/settings.json:
{
"mcpServers": {
"smalltalk-validator": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/mumez/smalltalk-validator-mcp-server.git@main",
"smalltalk-validator-mcp-server"
]
}
}
}
If you prefer using a local clone, use this instead:
{
"mcpServers": {
"smalltalk-validator": {
"command": "uv",
"args": [
"--directory",
"/path/to/smalltalk-validator-mcp-server",
"run",
"smalltalk-validator-mcp-server"
]
}
}
}
Claude Code Configuration
Add to your Claude Code settings:
claude mcp add smalltalk-validator -- uvx --from git+https://github.com/mumez/smalltalk-validator-mcp-server.git@main smalltalk-validator-mcp-server
Using a local clone instead:
claude mcp add smalltalk-validator -- uv --directory /path/to/smalltalk-validator-mcp-server run smalltalk-validator-mcp-server
Tool Usage Examples
Validate Tonel file from filesystem
# Validate a complete Tonel file with method bodies
validate_tonel_smalltalk_from_file("/path/to/MyClass.st")
# Validate only Tonel structure (without method body validation)
validate_tonel_smalltalk_from_file("/path/to/MyClass.st", {"without-method-body": true})
Validate Tonel content directly
tonel_content = """
Class {
#name : #MyClass,
#superclass : #Object,
#category : #'My-Package'
}
{ #category : #accessing }
MyClass >> getValue [
^ 42
]
"""
validate_tonel_smalltalk(tonel_content)
Validate Smalltalk method body
method_body = "^ self name asUppercase"
validate_smalltalk_method_body(method_body)
Lint Tonel file from filesystem
# Lint a Tonel file for best practices and style issues
result = lint_tonel_smalltalk_from_file("/path/to/MyClass.st")
# Example result:
# {
# "success": true,
# "file_path": "/path/to/MyClass.st",
# "issue_list": [
# {
# "severity": "warning",
# "message": "Method 'longMethod' long: 18 lines (recommended: 15)",
# "class_name": "MyClass",
# "selector": "longMethod",
# "is_class_method": false
# }
# ],
# "issues_count": 1,
# "warnings_count": 0,
# "errors_count": 0
# }
Lint Tonel content directly
tonel_content = """
Class {
#name : #MyClass,
#superclass : #Object,
#instVars : [
'name',
'age'
],
#category : #'My-Package'
}
{ #category : #accessing }
MyClass >> getName [
^ name
]
"""
result = lint_tonel_smalltalk(tonel_content)
Development
# Install dependencies
uv sync
# Run tests
uv run pytest
# Lint and format
uv run ruff check
uv run ruff format
# Install pre-commit hooks
uv run pre-commit install
Установка Smalltalk Validator Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/mumez/smalltalk-validator-mcp-serverFAQ
Smalltalk Validator Server MCP бесплатный?
Да, Smalltalk Validator Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Smalltalk Validator Server?
Нет, Smalltalk Validator Server работает без API-ключей и переменных окружения.
Smalltalk Validator Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Smalltalk Validator Server в Claude Desktop, Claude Code или Cursor?
Открой Smalltalk Validator Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Smalltalk Validator Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
