hackshop
Plan and build a physical body for your AI agent: boards, parts list, assembly and pairing.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- INFOen assess_hackability
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"hackshop-mcp": {
"command": "npx",
"args": [
"hackshop-mcp"
]
}
}
}Paquetes ejecutables
0.0.6stdioPuntos de conexión remotos
https://www.hackshop.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"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.
Esquema de entrada
{
"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."
}
}
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"device_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Catalog device id, 1-200 characters."
}
},
"required": [
"device_id"
]
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Device name or id, 1-200 characters."
}
},
"required": [
"device_name"
]
}Esquema de salida
{
"type": "object",
"properties": {}
}Comunidad
Evidencia