Topic 1: Module 11 at a glance
By the end of this module, you'll have:
- A complete, tested
notes-assistantrepository: an MCP server over Nare's Markdown notes and a host that answers questions with an LLM, runnable over stdio locally and over streamable HTTP with OAuth-style bearer tokens. - A command-line entry point,
examples/m11_cli.py, that asks one question, pins the server's tool definitions, and asks you before any note is written. - A capstone test suite,
tests/test_capstone.py, with 16 passing tests: five answerable questions and one the notes cannot answer, a prompt injection planted in a note, a token minted for a different server, pinning, logs free of note contents, and stdio, HTTP, and CLI smoke tests. - An evaluation script,
examples/m11_eval_real.py, that runs the same six questions against your real model and grades the answers. - The two deliverables a stranger needs: a one-page
README.mdand an honestdocs/WHAT_BROKE.md. - A checklist that maps every capstone requirement to the file and function that satisfies it, so you can defend the project in a review or an interview.
Prerequisites: Modules 1 to 10. In particular you need the server from Module 5 (notes_assistant/server.py), the host from Module 6 (notes_assistant/host.py), authorization from Module 7 (notes_assistant/auth.py), pinning from Module 8 (notes_assistant/pinning.py), and the evaluation habits from Module 10. Python 3.11 and a free Groq or Gemini key (or a local Ollama) are enough; every test runs without a key.
Where we are: Module 10 finished the pattern and evaluation toolkit. Every piece of the research notes assistant now exists. This module does not add new protocol features. It assembles the pieces into one repository, proves each requirement with a test that runs against real transports, measures the result, and writes down what broke along the way.