Inspiration

This project turns my book "30 Days of Hard Truths" into something an AI assistant can actually use. Instead of a classic Alexa skill, I built a self-hosted MCP server so Alexa+ and other MCP clients can pull a daily lesson on demand.

What it does

Exposes all 30 daily lessons from the book as three MCP tools over Streamable HTTP: get_hard_truth (fetch a lesson by day number, defaults to today's date), random_hard_truth (a random lesson), and list_hard_truths (all 30 titles). Implements MCP spec version 2025-11-25 or later (server reports 2026-07-28), served at the /mcp endpoint.

How we built it

Python with the official MCP Python SDK (mcp 2.2.0), Streamable HTTP transport, zero hosting cost, tested end-to-end with a real MCP client (all three tools listed and called successfully).

Challenges we ran into

Making sure the server met the hackathon's minimum MCP spec version and Streamable HTTP requirement rather than the older SSE transport.

What's next

A hosted public endpoint so any Alexa+ user can connect, plus more books in the same format.

Product feedback

Built the entire server on the official MCP Python SDK (mcp 2.2.0) — three tools over Streamable HTTP, ~80 lines of Python, zero hosting cost. What worked: Streamable HTTP support out of the box, no extra infrastructure; the SDK reported protocol 2026-07-28, clearing the 2025-11-25 minimum with headroom. Onboarding (zero to hello world): the getting-started docs got a working server fast — pip install, run, and the MCP Inspector connected on the first try. What needs work: clearer guidance on pinning SDK versions across releases (hit version drift; pinned in requirements.txt to fix it). Would I build with it again: yes — for any structured knowledge (a book, FAQs, a catalog) you want an AI assistant to pull on demand, this is the fastest path from content to a working tool.

Friction Log

  1. Wrong track fit: the original plan was a classic Alexa skill ("Daily Hard Truths", already deployed and tested in the Amazon Developer Console). The Alexa+ track does not accept classic ASK skills, so I pivoted to a self-hosted MCP server instead — all 30 book lessons exposed as three tools (get_hard_truth, random_hard_truth, list_hard_truths).
  2. Transport choice: the track requires Streamable HTTP, not the older SSE transport. The official MCP Python SDK (mcp 2.2.0) supports Streamable HTTP out of the box — no extra infrastructure needed. Version pinned in requirements.txt after noticing version drift across releases.
  3. Protocol version: the SDK reported protocol 2026-07-28, later than the required 2025-11-25, so the spec check passed with headroom.
  4. End-to-end verification: tested with a real MCP client — all tools listed and called successfully, including day-specific (day 5 returned "Motivation Is a Mood, Discipline Is a Decision") and the full 30-title list.
  5. Submission friction: Devpost's bot protection fired image challenges during project creation; solved and the entry submitted successfully.

Built With

  • alexa+
  • mcp
  • mcp-python-sdk
  • python
  • streamable
Share this project:

Updates

Submission history