Dabble Me Journal
io.github.parterburnPublished by GitHub account parterburnv1.0.0Updated Oct 24, 2026
Private journal MCP server to search, analyze, and create Dabble Me entries securely via OAuth.
Overview
Remote Dabble Me journal server that lets an assistant search, list, analyze and create private journal entries after OAuth sign-in.
- What you can do
- Search and list journal entries, including reading past entries by month or year
- Analyze posting activity with basic analytics around entries
- Create new journal entries with simple formatting
- Open a single day's entry and draft an entry without submitting (WebMCP in a signed-in browser tab)
- Review and revoke connected OAuth apps from the account security page
- When to use it
- Useful for people who keep a Dabble Me journal and want an assistant to look back over past entries, summarize posting habits, or draft and add new entries without leaving the chat.
- Requirements
- A Dabble Me PRO subscription and a passkey or two-factor authentication enabled on the account. The server is a hosted Streamable HTTP endpoint at the site's /mcp path and the client must complete OAuth; no local package or API key is needed.
Installation
In SourceWeft
- Open Dabble Me Journal in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.parterburn%2Fdabble-me/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"dabble-me-journal": {
"type": "http",
"url": "https://dabble.me/mcp"
}
}
}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.
- In the 1Password app, open Developer, then Environments, and create an environment. Import this repo's
.env, or add the names from.env.example. - Delete the plaintext
.envafter the import so 1Password can mount in its place. - Under Connect to, choose Local .env file, select this repo's
.env, and mount it. - Keep 1Password unlocked while you boot Rails. The first read of
.envasks you to authorize.
Variable names are listed in .env.example. A short version:
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:
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.
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
Source: README.md at commit ae3b219
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts