FixIt MCP
Helps Amazon Alexa+ users diagnose appliance error codes, remember household appliances, receive repair guidance, order replacement parts, and schedule maintenance.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FixIt MCPMy dryer is showing error code F-01, what does that mean?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FixIt MCP
A self-hosted MCP server for diagnosing appliance problems, built for the Build, Ship, Shape: Amazon Developer Hackathon (Alexa+ track).
Overview
FixIt connects to Alexa+ via the official Alexa+ MCP Toolkit and helps customers with home appliances: diagnosing error codes from real appliance manuals, remembering which appliances a household owns, guiding repairs with visual cards, ordering replacement parts, and scheduling maintenance.
This repository is currently at the scaffolding milestone: a minimal,
tested MCP server running locally with one tool. RAG/ingestion, auth, AWS
deployment, MCP Apps UI, and a web client are not built yet — see
docs/alexa-plus-requirements.md for the
full requirements checklist and CLAUDE.md for the target
architecture.
Related MCP server: alexa-mcp
Demo video
TODO: link once recorded.
Architecture
Alexa+ <-- Streamable HTTP, MCP 2025-11-25 --> FixIt MCP server (this repo)
|
in-memory repository (today)
-> swappable for a real DB laterPlanned (not built yet): an offline ingestion pipeline using Amazon Bedrock + Strands parses appliance manuals into a searchable knowledge base; the runtime server (this repo) stays a thin, fast lookup layer with no LLM calls in tool handlers — Alexa+ does all language generation. The runtime is intended to deploy to Amazon Bedrock AgentCore Runtime.
How this meets the Alexa+ track requirements
MCP SDK import and server entry point:
src/fixit_mcp/server.pyimportsfrom mcp.server.fastmcp import FastMCPand definescreate_server()/main().src/fixit_mcp/tools/appliances.pyalso importsFastMCP(for type hints) and registers the tool via@mcp.tool(...).src/fixit_mcp/__main__.pyis the process entry point (python -m fixit_mcp).Protocol version: pinned to
mcp>=1.30,<2, whoseLATEST_PROTOCOL_VERSIONis2025-11-25and which correctly negotiates the2025-03-26version the Alexa+ client sends (verified intests/integration/).Transport: Streamable HTTP, stateless mode, served at
0.0.0.0:8000/mcp— matching both the Alexa+ Toolkit's requirements and Amazon Bedrock AgentCore Runtime's container contract for a future deployment.Latency: no LLM calls in any tool handler;
tests/integration/test_latency.pyasserts p95 < 100ms locally over 50 calls (well under the 500ms Alexa+ budget).Full requirement-by-requirement checklist:
docs/alexa-plus-requirements.md.
Quickstart
Requires uv and Python 3.12.
git clone <this-repo>
cd fixit-mcp
uv sync
cp .env.example .env # optional, defaults work as-is
make run # starts the server on http://0.0.0.0:8000/mcpInspecting the server
make inspectorThis starts the MCP Inspector
(requires Node.js/npm). In the browser UI it opens, choose transport
"Streamable HTTP" and connect to http://localhost:8000/mcp.
Exposing it remotely (for testing with Alexa+)
Alexa+ requires a remote HTTPS URL. For local development/demos, use a cloudflared quick tunnel:
# Install cloudflared first, e.g.:
# macOS: brew install cloudflared
# Linux: see https://pkg.cloudflare.com/index.html
make tunnelThis prints a temporary https://*.trycloudflare.com URL that proxies to
your local server.
Running tests
make test # pytest: unit + integration (spins up a real local server)
make lint # ruff check
make format # ruff formatTest suite:
tests/unit/test_repository.py— in-memory repository behavior.tests/integration/test_server_protocol.py— negotiates MCP2025-11-25and callslist_my_appliancesover real Streamable HTTP.tests/integration/test_server_legacy_protocol.py— negotiates the2025-03-26protocol version the Alexa+ client sends and confirms tool calls still work.tests/integration/test_latency.py— 50 tool calls, asserts p95 < 100ms.
AWS services used
None yet at runtime — this milestone runs entirely locally. Planned: Amazon Bedrock AgentCore Runtime (hosting), Amazon Bedrock + Strands (offline ingestion pipeline for manual parsing / RAG).
Open-source components
mcp(1.30.x) — official Model Context Protocol Python SDK.pydantic/pydantic-settings— data models and config.structlog— structured logging.uvicorn— ASGI server (used internally by the MCP SDK's Streamable HTTP transport).pytest/pytest-asyncio— testing.ruff— linting and formatting.MCP Inspector — manual protocol testing tool.
cloudflared— local HTTPS tunneling for demos.
License
MIT — see LICENSE.
Related MCP Connectors
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Connect Amazon Seller Central to Claude or ChatGPT via MCP. Orders, inventory, pricing, fees, FBA.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP server that enables users to manage their Amazon Alexa shopping lists directly from MCP clients like Claude. It provides tools for listing, adding, updating, and deleting shopping list items through secure Amazon account authentication.7MIT
- AlicenseAqualityCmaintenanceAn MCP server that lets LLMs control Amazon Alexa devices, including announcements, text commands, smart-home group management, routines, and list operations.182MIT
- AlicenseNot gradedqualityBmaintenanceEnables households to manage appliance inventories, manuals, warranties, and maintenance through natural-language voice interactions, with grounded troubleshooting and consumable reordering.MIT
- AlicenseBqualityCmaintenanceEnables MCP-compatible LLMs to control Amazon Alexa devices by sending announcements, text commands, and SSML speech, as well as managing smart-home groups, routines, lists, volume, Do Not Disturb, and sensor queries.19MIT