No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Satya Benson 8f1bb5baa5 Add README and MIT license
The README notes that spec/ is a copy of parts of the MCP specification
and is not covered by this project's license.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 15:27:12 -04:00
spec Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
.gitignore Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
API.md Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
check_https.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
LICENSE Add README and MIT license 2026-10-05 15:27:12 -04:00
MCP.md Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
mcp_endpoint.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
OAUTH.md Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
oauth_auth.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
provision.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
README.md Add README and MIT license 2026-10-05 15:27:12 -04:00
reminders.service Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
server.py GET /health without a token, naming the deployed commit 2026-10-05 17:13:03 +00:00
test_mcp.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
test_oauth.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
test_oauth_provider.py Initial commit: Reminders service source 2026-10-01 16:33:36 +00:00
test_server.py GET /health without a token, naming the deployed commit 2026-10-05 17:13:03 +00:00

reminders

Single-user service that sends scheduled one-off reminders as plain-text Matrix messages. Reminders are stored in SQLite and delivered by a bot account into a private room. It has a REST API and an MCP endpoint, with optional OAuth for MCP clients. No client UI is included.

Documentation:

  • API.md - REST API: create, list, get and cancel reminders.
  • MCP.md - the MCP connector (protocol version 2026-07-28, Streamable HTTP, one JSON response per POST).
  • OAUTH.md - OAuth authorization for MCP clients.

These documents describe the owner's own deployment.

Files

File What
server.py HTTP server, scheduler and Matrix sender (standard library only)
mcp_endpoint.py MCP endpoint; validates requests against spec/schema.json
oauth_auth.py OAuth bearer-token validation for the MCP endpoint
provision.py One-time setup: registers the bot account and writes the config
check_https.py Smoke test against a running deployment
reminders.service systemd unit
test_*.py Unit tests

Running

Needs Python 3. The MCP and OAuth parts also need jsonschema and PyJWT (Debian: python3-jsonschema, python3-jwt).

Configuration is a JSON file, /etc/reminders/config.json by default (override with REMINDERS_CONFIG), holding the Matrix homeserver URL, bot token, room ID and API token. The database defaults to /var/lib/reminders/reminders.sqlite3 (override with REMINDERS_DB).

python3 server.py           # listens on 127.0.0.1:8011
python3 -m unittest test_server test_mcp test_oauth test_oauth_provider

spec/

spec/ holds a copy of parts of the Model Context Protocol specification, used for request validation and as reference. spec/provenance.json records that spec/schema.json is the official schema for MCP version 2026-07-28, downloaded on 2026-09-05 from https://raw.githubusercontent.com/modelcontextprotocol/specification/main/schema/2026-07-28/schema.json, with its SHA-256. The Markdown files in spec/ are pages of the same specification as published at modelcontextprotocol.io. These files are not part of this project's own work and are not covered by its license; they remain under the license of the Model Context Protocol specification project.

License

MIT for this project's own code and documentation; see LICENSE. The contents of spec/ are excluded (see above).