hackshop

Plan and build a physical body for your AI agent: boards, parts list, assembly and pairing.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
80%
命名の品質
90%
ポイズニングのリスク
80%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • HIGHTool poisoning patterns detected
  • INFOTool description contains placeholder or incomplete textassess_hackability 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,186トークン数(ツール定義)
~2.0 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.93%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

実行可能なパッケージ

npmhackshop-mcp0.0.6stdio

リモートエンドポイント

https://www.hackshop.dev/mcpstreamable-http

できること

ツール一覧

ツール(4)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
⚪intake_gadget

Return the 4 intake questions (where it lives, how you interact, room sensing, budget), why each matters and how each answer maps to plan_gadget. Ask the human these, then call plan_gadget with `answers`. No input.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {}
}
⚪plan_gadget(idea, answers, platform, budget_usd, owned_device_ids, ...)

Deterministically plan a physical body for an AI agent using Meta Muse boards. Ask the intake questions first (intake_gadget, or the `questions` this returns until `intake.complete` is true), then pass the human's choices as `answers`. Inputs: `idea` 3-2000 chars (optional when `answers` or `needs` are given); `answers` {size, interaction, sensing, budget} using the intake option values; `platform` one of muse-esp32, muse-linux, any (default any); `budget_usd` number greater than 0, up to 100000; `owned_device_ids` up to 50 catalog ids; `needs` values: voice, screen, images, touch, camera, air-sensors, e-ink, battery, round, home-tunnel, big-screen, compute, linux; `size` one of pocket, desk, wall, hidden, any (default any); `limit` 1-5 (default 3). Boards that meet the hard needs and the budget rank first, cheapest first. Returns fit, notes, warnings, intake status, questions, picks with difficulty, terms and next steps.

入力スキーマ

{
  "type": "object",
  "properties": {
    "idea": {
      "type": "string",
      "minLength": 3,
      "maxLength": 2000,
      "description": "Gadget idea or use case, 3-2000 characters. Optional when `answers` or `needs` are given."
    },
    "answers": {
      "type": "object",
      "properties": {
        "size": {
          "type": "string",
          "enum": [
            "pocket",
            "desk",
            "wall",
            "hidden"
          ],
          "description": "Where should this body live? pocket = Pocket; desk = Desk; wall = Wall or fridge; hidden = Hidden, no screen."
        },
        "interaction": {
          "type": "string",
          "enum": [
            "voice",
            "touch",
            "light-button"
          ],
          "description": "How should you interact with it? voice = Talk to it; touch = Touch screen; light-button = Light and button."
        },
        "sensing": {
          "type": "string",
          "enum": [
            "camera",
            "air-quality",
            "none"
          ],
          "description": "Should it sense the room? camera = Camera; air-quality = Air quality; none = None."
        },
        "budget": {
          "type": "string",
          "enum": [
            "under-25",
            "under-50",
            "under-100",
            "no-limit"
          ],
          "description": "What budget should I plan around? under-25 = Under $25; under-50 = Under $50; under-100 = Under $100; no-limit = No limit."
        }
      },
      "additionalProperties": false,
      "description": "The human's intake answers, by question id, using the option values from intake_gadget."
    },
    "platform": {
      "type": "string",
      "enum": [
        "muse-esp32",
        "muse-linux",
        "any"
      ],
      "default": "any",
      "description": "Platform filter: muse-esp32, muse-linux, or any. Default any."
    },
    "budget_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000,
      "description": "Optional hardware budget in USD. Must be greater than 0, max 100000."
    },
    "owned_device_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 50,
      "description": "Catalog device ids the user already owns. Max 50."
    },
    "needs": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "voice",
          "screen",
          "images",
          "touch",
          "camera",
          "air-sensors",
          "e-ink",
          "battery",
          "round",
          "home-tunnel",
          "big-screen",
          "compute",
          "linux"
        ]
      },
      "description": "Optional explicit needs. Allowed: voice, screen, images, touch, camera, air-sensors, e-ink, battery, round, home-tunnel, big-screen, compute, linux."
    },
    "size": {
      "type": "string",
      "enum": [
        "pocket",
        "desk",
        "wall",
        "hidden",
        "any"
      ],
      "default": "any",
      "description": "Preferred size or placement: pocket, desk, wall, hidden, any. Default any."
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 5,
      "default": 3,
      "description": "Number of picks to return: 1-5, default 3."
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {}
}
🟢get_build_plan(device_id)

Return the complete deterministic build plan for a catalog device id: difficulty, board-specific flash warnings, parts, shopping list with buy_options, prices checked date and purchase policy, steps, machine-readable assembly with verify checks, commands, links, caveats and an agent-ready brief. Input: `device_id` 1-200 chars.

入力スキーマ

{
  "type": "object",
  "properties": {
    "device_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Catalog device id, 1-200 characters."
    }
  },
  "required": [
    "device_id"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {}
}
⚪assess_hackability(device_name)

Look up a device by id, exact name or substring and return hackability, brick risk, firmware links, community size, build page and agent platform support. Input: `device_name` 1-200 chars.

入力スキーマ

{
  "type": "object",
  "properties": {
    "device_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Device name or id, 1-200 characters."
    }
  },
  "required": [
    "device_name"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {}
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 4 件