mcpField
D
Dabble Me Journal

Dabble Me Journal

Remote
dabble.meProductivity79Updated 1d ago

About Dabble Me Journal

Dabble Me Journal is an email-based journal for people who want to record everyday life on a schedule they choose. PRO users can connect it to compatible clients through OAuth to search, analyze, and create entries.

Key features

  1. 01Browse entries by month and year
  2. 02Create simply formatted entries
  3. 03Import from several journal services
  4. 04Post entries by replying to email
  5. 05Search and view posting analytics
  6. 06Add images and hashtags to entries

Use cases

  1. 01Record daily events by email
  2. 02Find and revisit past entries
  3. 03Review journaling activity

MCP support

PRO users can connect it as a remote MCP server through OAuth. It exposes tools to search, list, analyze, and create journal entries for compatible clients.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://dabble.me/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Dabble Me

A private journal over email service.

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:

  • CloudFlare managed DNS + free SSL support (free for basic service)
  • Mailgun for Sending & Receiving Email (free for 50k emails per month)
  • Amazon S3 for Photo Uploads & Storage (free for 1 year)
  • Google Analytics for traffic stats (free for standard analytics)
  • Turnstile to prevent bot signups (free).
  • Sentry to report errors (free)

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.

Local secrets live in a .env file at the repo root. dotenv-rails loads it in development and test and does not override variables already set in the shell or in CI. Production on Railway uses the same variable names from the host environment. There is no .env file on Railway. rake db:seed creates the [email protected] account.

1Password Environments can mount that path so the secrets are not stored as plaintext. .1password/environments.toml tells the 1Password Cursor hook to validate the mount.

  1. In the 1Password app, open Developer, then Environments, and create an environment. Import this repo's .env, or add the names from .env.example.
  2. Delete the plaintext .env after the import so 1Password can mount in its place.
  3. Under Connect to, choose Local .env file, select this repo's .env, and mount it.
  4. Keep 1Password unlocked while you boot Rails. The first read of .env asks you to authorize.

Variable names are listed in .env.example. A short version:

MAIN_DOMAIN=yourdomain.com
SECRET_KEY_BASE=1234..1234
DEVISE_SECRET_KEY=1234..1234
SMTP_DOMAIN=post.yourdomain.com
MAILGUN_API_KEY=api-key
TURNSTILE_SITE_KEY=6Lc6BAAAAAAAAChqRbQZcn_yyyyyyyyyyyyyyyyy
TURNSTILE_SECRET_KEY=6Lc6BAAAAAAAAKN3DRm6VA_xxxxxxxxxxxxxxxxx
GOOGLE_ANALYTICS_4_ID=UA-12345-67
SENTRY_DSN=https://dsn.sentry.io/1234
OPENAI_ACCESS_TOKEN=sk-1234
OPENAI_ORGANIZATION_ID=org-1234
STRIPE_API_KEY=sk_test_1234
STRIPE_SIGNING_SECRET=whsec_1234
Things you may want to rip out

You can opt to not use Turnstile: simply don't add an environment variables for TURNSTILE_SITE_KEY.

MCP (Model Context Protocol)

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 .env). 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.

Tests

There is healthy coverage of the app, which you can run with:

rake
Administration Portal

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.

Inspirations and Importers

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.

Inspiration.create(category: 'OhLife', body: 'Imported from OhLife')
Inspiration.create(category: 'Day One', body: 'Imported from Day One')

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:

  • Read past entries by month/year
  • Create new entries with simple formatting
  • Importers: OhLife, Day One, Ahhlife, Trailmix.life
  • Email: Reply-to-post new entries on days of the week you choose (with random past entries embedded)
  • Associate 1 image to a specific entry
  • Search with basic analytics around posting
  • Hashtag support for tagging your entries
  • Year in Review
  • MCP (PRO): OAuth-backed journal tools for external clients

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.