The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Dabble Me Journal listing page.
Dabble Me helps people remember what's happened in their life. Use it as a light-weight journal on a daily, weekly, or even monthly basis...it's up to you! Dabble Me will email you on a time & days you choose - you simply reply to the email to post entries. The app is live at https://dabble.me. This is a great replacement if you had ever used OhLife.
This app utilizes the following 3rd party services:
You will need to setup Mailgun to receive incoming emails and point them to your app to parse.
Scheduled jobs (including hourly email sending) are run by sidekiq-cron inside the Sidekiq worker process. The schedule lives in config/schedule.yml. No external scheduler is required.
Your local environment variables at config/local_env.yml (and on Railway) will need to be something like this (rake db:seed will create the admin@dabble.ex account for you):
You can opt to not use Turnstile: simply don't add an environment variables for TURNSTILE_SITE_KEY.
PRO accounts can use Dabble Me as a remote MCP server so compatible clients (for example Claude) can search, list, analyze, and create journal entries after OAuth.
Requirements: PRO subscription, plus a passkey or two-factor authentication on Account security (/security). Connected OAuth apps can be reviewed and revoked on the same page under Connected apps (shown only when something is connected).
Endpoint: Streamable HTTP at https://<MAIN_DOMAIN>/mcp (see MAIN_DOMAIN in config/local_env.yml). The client should use OAuth: authorization metadata is published under /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource (see Oauth::MetadataController).
User-facing instructions: Dabble Me MCP Server at /mcp-server on your host.
Deep links for assistants: a single day opens at https://<MAIN_DOMAIN>/entries/YYYY/M/D with unpadded month and day (example: https://dabble.me/entries/2026/4/21). The web compose URL is https://<MAIN_DOMAIN>/write.
For generic remote-connector setup in Claude, see Anthropic’s Get started with custom connectors using remote MCP.
Registry metadata: server.json describes the hosted Streamable HTTP endpoint for the official MCP Registry.
WebMCP / AI-client discovery: public pages advertise /.well-known/webmcp, /mcp/server-card, and /.well-known/ai-catalog.json. In a signed-in browser tab, WebMCP also registers session journal tools (search, list, analyze, open a day, draft an entry without submitting). Search/analyze/draft need PRO. Remote MCP at /mcp still uses OAuth (PRO + passkey or 2FA). For the WebMCP Challenge, put a dedicated PRO demo account (email/password, no 2FA) on the submission form — do not use a real journal.
Automated smoke (curl + MCP Inspector CLI): ./script/mcp_inspector_smoke.sh uses RAILS_ENV=test, starts a short-lived Rails server, checks OAuth metadata and /mcp, then runs Inspector against all five tools (tools/list exercises initialize + connect). Aligns with Anthropic’s Testing your connector guidance.
There is healthy coverage of the app, which you can run with:
The Admin emails are accounts that have access to the Admin Dropdown in the navbar (lock icon) that give you details into the number of entries and users in the system.
If you want random bits of inspiration, you can load up different quotes in the Inspiration table to be shown above the New Posts page and at the bottom of emails. Import sources are tagged via Inspiration categories — seed OhLife / Ahhlife / Day One / Trailmix rows (see db/seeds.rb), or the Day One importer will create its category on first use.
PRO users can import from OhLife (text + photo ZIP), Day One (JSON ZIP export), Ahhlife (JSON paste), and Trailmix.life (JSON upload) at /entries/import.
=====
Current features: