mcpField
R
Rubyhash

Rubyhash

ローカル
rubyhash.dev開発ツール016 週間前に更新

Rubyhash について

Rubyhash は Ruby 開発者やコーディングエージェント向けのローカル MCP サーバーです。Ruby ハッシュやテスト失敗出力を比較し、型の変更を検出して、Ruby のリテラルをキー順の JSON に変換します。

主な機能

  1. 01Ruby ハッシュリテラルの差分比較
  2. 02Minitest・RSpec の失敗出力を解析
  3. 03追加・削除されたキーを検出
  4. 04値と型の変更を報告
  5. 05Ruby リテラルをキー順の JSON に変換
  6. 06データを送信せずローカルで実行

活用シーン

  1. 01テスト失敗出力の差分を特定
  2. 02ネストしたハッシュの変更を確認
  3. 03Ruby のデータ構造を JSON に変換

MCP 対応

MCP クライアントに 2 つのツールを提供します。`ruby_hash_diff` はハッシュの構造化比較、`ruby_to_json` は Ruby のハッシュまたは配列リテラルの JSON 変換を行います。サーバーはローカルで動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rubyhash": {
"command": "npx",
"args": [
"-y",
"rubyhash-mcp"
]
}
}
}
起動コマンドnpx -y rubyhash-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmrubyhash-mcp

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
expectedstringいいえ期待される Ruby ハッシュリテラル。例:{"role"=>"admin"}
actualstringいいえ実際の Ruby ハッシュリテラル。例:{"role"=>"editor"}
rawstringいいえ2 つのハッシュリテラルを含むテスト失敗時の生出力(行頭に - や + が付く場合があります)

詳細

rubyhash-mcp

RubyHash 用の MCP サーバーです。MCP に対応したあらゆるエージェント(Claude Code、Claude Desktop、Cursor など)に、決定論的な Ruby ツールを 2 つ提供します。

  • ruby_hash_diff:2 つの Ruby ハッシュリテラルを比較するか、失敗した Minitest/RSpec の出力をそのまま貼り付けると、変更された値(変更前と変更後)、追加・削除されたキー、明示的な型の変更(nil から String、Integer から Float、シンボルキーと文字列キーの違い)を正確に構造化したレポートとして取得できます。
  • ruby_to_json:Ruby のハッシュまたは配列リテラル(hashrocket、シンボルキー、省略構文、ネスト、nil/true/false)を、キーをソートした整った JSON に変換します。

すべての処理はサーバープロセス内でローカルに実行されます。rubyhash.dev と同じプライバシー保護を約束しており、データがアップロード、記録、保存されることはありません。

ツール

  • ruby_hash_diff:2 つの Ruby ハッシュリテラルを比較するか、失敗した Minitest/RSpec の出力をそのまま貼り付けると、変更された値(変更前と変更後)、追加・削除されたキー、明示的な型の変更(nil から String、Integer から Float、シンボルキーと文字列キーの違い)を構造化したレポートとして取得できます。
  • ruby_to_json:Ruby のハッシュまたは配列リテラル(hashrocket、シンボルキー、省略構文、ネスト、nil/true/false)を、キーをアルファベット順に並べた整った JSON に変換します。

エージェントにとっての利点

Ruby のテストで、ほとんど同じような大きなハッシュ 2 つの比較が必要になると、目視での比較は時間がかかり、人間にも言語モデルにも間違いが起こりやすくなります。40 個のキーを持つネストしたハッシュの差分を調べるには多くのコンテキストを消費し、ミスも招きます。このサーバーは再帰下降パーサーで比較を行い、差分だけを決定論的に返します。

インストール

{
  "mcpServers": {
    "rubyhash": {
      "command": "npx",
      "args": ["-y", "rubyhash-mcp"]
    }
  }
}

Claude Code の場合:

claude mcp add rubyhash -- npx -y rubyhash-mcp

例

入力(テスト出力をそのまま貼り付け):

-{"uid"=>"[email protected]", "role"=>"admin", "seats"=>3}
+{"uid"=>"[email protected]", "role"=>"editor", "seats"=>3.0}

出力:

{
  "equal": false,
  "summary": "2 changed, 0 added, 0 removed, 1 type change",
  "changed": [
    { "path": "role", "before": "admin", "after": "editor", "typeChanged": false },
    { "path": "seats", "before": 3, "after": 3, "beforeType": "Integer", "afterType": "Float", "typeChanged": true }
  ]
}

HTTP API も利用できます

ローカルの MCP サーバーを実行できない場合は、同じツールを RubyHash Agent API から利用できます。OpenAPI の仕様と、x402 による機械決済可能なカタログも提供しています。

開発

npm install
npm test   # 36 unit tests

ライセンス

このパッケージは MIT ライセンスです。rubyhash.dev のサイトとブラウザーツールは別の非公開サービスであり、すべての権利は留保されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。