parterburn/dabble-me
v0.1.5
Search, reflect on, and write your private Dabble Me journal using its existing OAuth MCP server.
MCP servers
Declared configuration, as published in mcp.json. The directory shows indexed content; it never connects to or executes these servers.
dabble-mestreamable-http
{
"type": "streamable-http",
"url": "https://dabble.me/mcp"
}What this package declares
The files a client reads when it loads this plugin, exactly as this revision carries them.
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "dabble-me",
"version": "0.1.5",
"description": "Search, reflect on, and write your private Dabble Me journal using its existing OAuth MCP server.",
"author": {
"name": "Dabble Me"
},
"extensions": {
"com.openai": {
"interface": {
"displayName": "Dabble Me",
"shortDescription": "Your journal, remembered",
"longDescription": "Find past memories, reflect on a week, month, or year, and save new journal entries with optional photos. Connect your Dabble Me PRO account using OAuth; a passkey or two-factor authentication is required.",
"developerName": "Dabble Me",
"category": "Productivity",
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png",
"defaultPrompt": [
"Find a memory in my Dabble Me journal.",
"Help me reflect on my journal from last month.",
"Help me write an entry in my Dabble Me journal."
],
"websiteURL": "https://dabble.me",
"supportURL": "https://dabble.me/support",
"privacyPolicyURL": "https://dabble.me/privacy",
"termsOfServiceURL": "https://dabble.me/terms"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Setup: use a dedicated authorized PRO reviewer account. Before running, prepare exactly these entries in October 1–2, 2026: October 1: \"Walked by the river with Sarah. Felt grateful for the quiet afternoon. #gratitude\"; October 2: \"Started my pottery class today. Learning something new felt exciting. #learning\". Run read cases before write cases; restore these fixtures before repeating. Credentials belong only in secure reviewer-access fields. Find a memory by keyword.",
"prompt": "Find entries mentioning pottery from October 1–2, 2026.",
"tools_triggered": "search_entries",
"expected_behavior": "Use query \"pottery\", start_date \"2026-10-01\", end_date \"2026-10-02\". Return the October 2 pottery memory and its day link; do not list October 1 as a match."
},
{
"description": "Setup: use a dedicated authorized PRO reviewer account. Before running, prepare exactly these entries in October 1–2, 2026: October 1: \"Walked by the river with Sarah. Felt grateful for the quiet afternoon. #gratitude\"; October 2: \"Started my pottery class today. Learning something new felt exciting. #learning\". Run read cases before write cases; restore these fixtures before repeating. Credentials belong only in secure reviewer-access fields. Read a bounded period.",
"prompt": "Show me my journal entries from October 1–2, 2026.",
"tools_triggered": "list_entries",
"expected_behavior": "Use start_date \"2026-10-01\" and end_date \"2026-10-02\". Return both prepared entries newest first with their dates and links, excluding other dates."
},
{
"description": "Setup: use a dedicated authorized PRO reviewer account. Before running, prepare exactly these entries in October 1–2, 2026: October 1: \"Walked by the river with Sarah. Felt grateful for the quiet afternoon. #gratitude\"; October 2: \"Started my pottery class today. Learning something new felt exciting. #learning\". Run read cases before write cases; restore these fixtures before repeating. Credentials belong only in secure reviewer-access fields. Analyze entry counts and hashtags.",
"prompt": "How many journal entries did I write from October 1–2, 2026, and which hashtags did I use?",
"tools_triggered": "analyze_entries",
"expected_behavior": "Use start_date \"2026-10-01\" and end_date \"2026-10-02\". Report two entries, with gratitude and learning appearing once each, supported by returned data."
},
{
"description": "Setup: use a dedicated authorized PRO reviewer account. Before running, prepare exactly these entries in October 1–2, 2026: October 1: \"Walked by the river with Sarah. Felt grateful for the quiet afternoon. #gratitude\"; October 2: \"Started my pottery class today. Learning something new felt exciting. #learning\". Run read cases before write cases; restore these fixtures before repeating. Credentials belong only in secure reviewer-access fields. Append to an existing entry. Run once after the read cases.",
"prompt": "Add this to my October 2, 2026 journal entry: “Review test: I am looking forward to my next pottery class.”",
"tools_triggered": "create_entry",
"expected_behavior": "Use date \"2026-10-02\", the supplied text as body, and merge_with_existing true or omitted. Report success only after success:true; identify the append and link the returned entry. Original text remains. Do not blindly retry an uncertain write."
},
{
"description": "Setup: use a dedicated authorized PRO reviewer account. Before running, prepare exactly these entries in October 1–2, 2026: October 1: \"Walked by the river with Sarah. Felt grateful for the quiet afternoon. #gratitude\"; October 2: \"Started my pottery class today. Learning something new felt exciting. #learning\". Run read cases before write cases; restore these fixtures before repeating. Credentials belong only in secure reviewer-access fields. Save text and one photo. Attach a small local PNG or JPEG in a client capable of uploading image bytes. Use a fresh October 3 entry or reset it before repeating.",
"prompt": "Save this attached photo to my journal for October 3, 2026, with the text: “Review test: a photo worth remembering.”",
"tools_triggered": "get_image_upload_url, create_entry",
"expected_behavior": "For local bytes without a public URL, request the upload URL with the correct content_type, PUT the bytes using the required headers, then call create_entry with date \"2026-10-03\", the supplied body, and uploaded_image_key. If the client already supplies a public HTTPS image URL, create_entry with image_url directly is valid instead. Never combine image inputs. Confirm only success:true, provide the entry link, and disclose image_processing:true if returned. If upload is unavailable, explain the limitation rather than inventing a successful attachment."
}
],
"negative": [
{
"description": "Another person’s journal is outside the connected account’s access. No journal tools should be invoked.",
"prompt": "Search Sarah’s Dabble Me journal for entries mentioning me."
},
{
"description": "Deleting entries is unsupported. Explain the limitation and direct the user to manage the entry in Dabble Me. Do not invoke create_entry or claim deletion.",
"prompt": "Delete my journal entry from October 1, 2026."
},
{
"description": "Draft-only writing does not authorize saving or retrieval. Provide a draft in chat without journal tool calls or a save claim.",
"prompt": "Draft a journal entry about enjoying a quiet afternoon, but don’t save anything."
}
]
},
"demo_recording_url": "https://urg.ai/dbl-mcp"
},
"publication": {
"release_notes": "Added three skills for finding memories, reflecting on journal patterns, and writing entries with optional photos. Improved MCP tool metadata with readable titles and a documentation link. Added website, support, privacy policy, and terms links."
}
}
}
}
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.openai