duebook
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., "@duebookwhat deadlines are due in the next 30 days?"
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.
Duebook
An MCP server that keeps a household's hard deadlines (visa, school, lease, insurance) in a markdown vault. Built for the Amazon Developer Hackathon 2026, Alexa+ track.
Transport: Streamable HTTP, MCP spec 2025-11-25 (
mcp==1.30.0)Storage:
vault/*.md. One file per deadline, YAML front-matter. The files are the database; nothing lives in memory between requests.
Tools
Tool | What it does |
| Open deadlines due in the next N days, soonest first, with title, due, kind, source, confidence. |
| Writes |
| Pairs of open deadlines due within N days of each other, each with a one-sentence explanation. |
Related MCP server: Obsidian Tasks MCP Server
Prerequisites
uv (
brew install uv). It fetches Python 3.12 itself.Node.js 18+ (for
npx). Needed only for the MCP Inspector and for the Claude Desktop bridge.
Run the server
uv sync
uv run duebookThe server listens on http://127.0.0.1:8000/mcp. Leave it running in its own terminal.
Options (environment variables):
Variable | Default | |
|
| Vault directory. Point it at a copy to experiment without touching the seed data. |
|
| |
|
| Keep it on localhost; there is no auth in this phase. |
Run the tests and linter:
uv run pytest
uv run ruff check . && uv run ruff format --check .Connect from MCP Inspector
With the server running, in a second terminal:
npx @modelcontextprotocol/inspector@2.7.0In the Inspector page that opens:
Transport Type:
Streamable HTTPURL:
http://127.0.0.1:8000/mcpClick Connect, then Tools → List Tools. You should see
list_due,add_deadlineandfind_conflicts.Run
find_conflictswith the default window. It should report the visa renewal colliding with the school fee.
Connect from Claude Desktop
Claude Desktop's config file only starts stdio servers, and its Custom Connectors don't
accept localhost URLs. To reach this local Streamable HTTP server, it launches
mcp-remote, a small stdio↔HTTP bridge.
Start the server (
uv run duebook) and leave it running in its own terminal.Find where your Node.js is installed:
dirname "$(which npx)"Claude Desktop doesn't inherit your shell's
PATH, so a barenpxoften isn't found, especially if Node came from nvm, asdf or volta. The config below uses this directory (<NODE_BIN>) for both thenpxpath and aPATHthat includesnode, sincenpxis itself a#!/usr/bin/env nodescript.Quit Claude Desktop fully (⌘Q). If you edit the config while the app is running, it can overwrite your changes when it quits.
With the app closed, open the config:
open -e ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd an
mcpServerskey next to whatever is already in the file (keep existing keys such aspreferences), replacing<NODE_BIN>with the output of step 2:"mcpServers": { "duebook": { "command": "<NODE_BIN>/npx", "args": ["-y", "mcp-remote@0.14.3", "http://127.0.0.1:8000/mcp"], "env": { "PATH": "<NODE_BIN>:/usr/bin:/bin" } } }Check the edit was saved (this should print the
duebookentry, notNone):python3 -c "import json,os;print(json.load(open(os.path.expanduser('~/Library/Application Support/Claude/claude_desktop_config.json'))).get('mcpServers'))"Open Claude Desktop, start a new chat, and open the + menu → Connectors.
duebookshould be listed with its three tools.
If it doesn't connect, rerun the step 5 check (if it prints None, the app overwrote the
file, so quit it and add the entry again), then check the logs:
tail -n 50 -f ~/Library/Logs/Claude/mcp*.logVault format
---
title: Visa renewal — Parent A
due: 2026-11-15
window_start: 2026-11-10 # optional
kind: hard # hard | soft
source: "Immigration department letter, 2026-08-30"
confidence: 0.95 # 0–1
status: open # open | done | cancelled
---
Free-text notes.The five seeded files in vault/ are made-up examples with no real personal data.
Licence
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Critical dates and deadlines in leases, loans, policies, HOA docs and contracts, with the clause.
Track subscriptions and renewals from your AI chat: schedules, due dates, reminders, local data.
Evidence-backed follow-through memory for what you owe, await, and need to remember.
Turn any goal with a deadline into a private, gamified, evidence-based execution calendar.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceCalendar and task management with kernel-level scraping for robust parsing, and integrates with DocMost wiki as source of truth.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Obsidian tasks with full CRUD operations, querying, and date-based filtering via MCP.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to read and write to a personal knowledge vault of markdown notes, projects, and tasks, with tooling for search, capture, daily logs, and project management across different AI tools.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to capture, manage, and retrieve todos with due dates and provenance, while automatically escalating reminders until tasks are completed.MIT