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 个工具