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 text在 assess_hackability 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,186Token(工具定義)
~2.0 KB典型回應大小
中等的注意力影響(128k 上下文的 0.93%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `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 個工具