Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 17品質スコア 77/100

smalltalk-mcp

MCPを通じてライブのSmalltalkイメージ(SqueakやCuis)と対話できます。実行中のSmalltalk環境でコードを評価し、クラスを閲覧し、メソッドのソースコードを表示し、クラスとメソッドを定義・変更し、階層とカテゴリを照会することができます。

description の原文を見る

Interact with live Smalltalk images (Squeak, Cuis) via MCP. Evaluate code, browse classes, view method source, define and modify classes and methods, query hierarchies and categories in a running Smalltalk environment.

SKILL.md 本文

Smalltalk MCP スキル

このスキルは Claude を MCP 経由でライブの Smalltalk イメージ (Cuis または Squeak) に接続します。

セットアップ (ツールがまだ接続されていない場合)

Smalltalk MCP ツールが利用できない場合は、ユーザーが以下を設定するのをサポートしてください:

前提条件

  • Python 3.10 以上
  • Smalltalk VM: Cuis または Squeak
  • ClaudeSmalltalk リポジトリ: git clone https://github.com/CorporateSmalltalkConsultingLtd/ClaudeSmalltalk.git
  • CUIS-SETUP.md に従って ClaudeCuis.image をビルドしてください。Squeak の場合は SQUEAK-SETUP.md を参照してください。

ステップ 1: Python 依存関係をインストール

pip install httpx

エージェント LLM プロバイダーとして Anthropic を使用する場合は、さらに: pip install anthropic

ステップ 2: smalltalk-mcp.json を作成

このファイルを ClaudeSmalltalk リポジトリディレクトリに作成してください。すべてのパスは絶対パスである必要があります。

Anthropic を使用する例 (examples/smalltalk-mcp-anthropic.json からコピー):

{
  "version": "1.0",
  "model": {
    "provider": "anthropic",
    "name": "claude-sonnet-4-6",
    "maxTokens": 256000,
    "apiKeyEnv": "ANTHROPIC_API_KEY"
  },
  "vm": {
    "squeak": "/absolute/path/to/Squeak6.0.app/Contents/MacOS/Squeak",
    "cuis": "/absolute/path/to/CuisVM.app/Contents/MacOS/Squeak"
  },
  "image": {
    "selected": "cuis",
    "squeak": "/absolute/path/to/ClaudeSqueak.image",
    "cuis": "/absolute/path/to/ClaudeSmalltalk/ClaudeCuis.image"
  },
  "transport": {
    "type": "stdio",
    "args": ["--mcp"],
    "timeout": 180
  }
}

ユーザーは API キーを設定する必要があります: export ANTHROPIC_API_KEY=sk-ant-...

その他のプロバイダーの例は examples/ フォルダーにあります (Ollama、OpenAI、xAI、MQTT)。

ステップ 3: Claude Desktop を設定

ユーザーは ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) を編集する必要があります:

{
  "mcpServers": {
    "smalltalkAgent": {
      "command": "python3",
      "args": ["/absolute/path/to/ClaudeSmalltalk/smalltalk_agent_mcp.py"],
      "env": {
        "SMALLTALK_MCP_CONFIG": "/absolute/path/to/ClaudeSmalltalk/.smalltalk-mcp.json"
      }
    }
  }
}

例は examples/claude_desktop_config.json にあります。すべてのパスは絶対パスである必要があります。

保存後、Claude Desktop が再読み込みされ、13 個の Smalltalk ツールが利用可能になります。


ツールの使い方

接続すると、ライブの Smalltalk イメージ用に 13 個の MCP ツールが利用できます。

smalltalk_task と個別ツールの使い分け

smalltalk_task を使う 複雑な複数ステップの作業の場合:

  • 「Random クラスをレビューしてください」— エージェントが閲覧し、メソッドを読んで評価を出します
  • 「Set クラスの正確性を監査してください」
  • 「increment/decrement メソッドとテストを備えた Counter クラスを定義してください」
  • 「OrderedCollection と Array の実装を比較してください」

smalltalk_task.smalltalk-mcp.json で設定された別の LLM にタスクを委譲します。自然言語タスクを提供すると、完全な結果が返されます。複数の閲覧/評価ステップを必要とするいかなる作業でも、これが推奨ツールです。

個別ツールを使う 迅速な単一操作の場合:

  • smalltalk_evaluate — コードを実行: 3 factorialDate today
  • smalltalk_browse — クラスメタデータを取得 (スーパークラス、インスタンス変数、メソッドリスト)
  • smalltalk_method_source — 1 つのメソッドのソースコードを読む
  • smalltalk_list_classes — プレフィックスでクラスを検索
  • smalltalk_hierarchy / smalltalk_subclasses — 継承を探索

ベストプラクティス

修正前に必ず閲覧してください。 メソッドを定義または変更する前に、smalltalk_browse を使ってクラス構造を理解し、smalltalk_method_source で既存の実装を読んでください。

クラス側メソッド。 クラス側メソッドを表示または定義する場合は、side パラメーターに "class" を使用してください。smalltalk_browse ツールはインスタンスメソッドとクラスメソッドの両方を返します。

クラス定義。 標準的な Smalltalk クラス定義構文を使用してください:

Object subclass: #MyClass
    instanceVariableNames: 'foo bar'
    classVariableNames: ''
    poolDictionaries: ''
    category: 'MyCategory'

メソッドソース形式。 セレクター行を含む完全なメソッドソースを提供してください:

increment
    count := (count ifNil: [0]) + 1.
    ^ count

テスト。 メソッド定義後、smalltalk_evaluate で検証してください:

MyClass new increment

SUnit テストを実行: MyClassTest buildSuite run

システムの探索。 広く始めて、その後絞り込みます:

  1. smalltalk_list_categories — イメージに何があるか見てください
  2. smalltalk_classes_in_category — カテゴリーを探索
  3. smalltalk_browse — クラスを理解
  4. smalltalk_method_source — 特定のメソッドを読む

ツール リファレンス

ツール説明
smalltalk_taskエージェントループ経由で複雑なタスクを実行 (複数ステップの作業に推奨)
smalltalk_evaluateSmalltalk コードを実行して結果を返す
smalltalk_browseクラスメタデータを取得: スーパークラス、インスタンス変数、インスタンスメソッドおよびクラスメソッド
smalltalk_method_sourceメソッドのソースコードを表示 (クラス側の場合は side: "class" を使用)
smalltalk_define_classクラス定義を作成または修正
smalltalk_define_methodクラスにメソッドを追加または更新
smalltalk_delete_methodクラスからメソッドを削除
smalltalk_delete_classシステムからクラスを削除
smalltalk_list_classesプレフィックスに一致するクラスをリスト
smalltalk_hierarchyクラスのスーパークラスチェーンを取得
smalltalk_subclassesクラスの直接サブクラスを取得
smalltalk_list_categoriesすべてのシステムカテゴリーをリスト
smalltalk_classes_in_categoryカテゴリー内のクラスをリスト

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
CorporateSmalltalkConsultingLtd
リポジトリ
CorporateSmalltalkConsultingLtd/ClaudeSmalltalk
ライセンス
MIT
最終更新
2026/3/12

Source: https://github.com/CorporateSmalltalkConsultingLtd/ClaudeSmalltalk / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: CorporateSmalltalkConsultingLtd · CorporateSmalltalkConsultingLtd/ClaudeSmalltalk · ライセンス: MIT