Skip to content

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