hackshop
Plan and build a physical body for your AI agent: boards, parts list, assembly and pairing.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- INFO在 assess_hackability 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"hackshop-mcp": {
"command": "npx",
"args": [
"hackshop-mcp"
]
}
}
}可运行的软件包
0.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": {}
}社区
证据