{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "littlebird",
  "version": "0.1.3",
  "description": "Connect to Littlebird to find meetings, read summaries, notes and transcripts, search work context, and manage routines.",
  "homepage": "https://littlebird.ai/features/mcp",
  "keywords": [
    "littlebird",
    "work-context",
    "meetings",
    "routines",
    "productivity"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Littlebird",
        "shortDescription": "Your meetings and work memory",
        "longDescription": "Bring your Littlebird meetings and work memory into ChatGPT. Find meetings by title, date, or topic; read available summaries, manual notes, and transcripts; and find decisions and follow-ups in your meeting records. Search saved work context, save text you want Littlebird to remember, read routine reports, and create or update routines when requested. Connect using your Littlebird account and OAuth sign-in. Access follows the permissions of your connected account.",
        "category": "Productivity",
        "defaultPrompt": [
          "Show me my last five meetings from Littlebird.",
          "Find the decisions and next steps from my Littlebird meetings about onboarding.",
          "Help me create a weekly meeting-summary routine in Littlebird."
        ],
        "websiteURL": "https://littlebird.ai/features/mcp",
        "supportURL": "https://littlebird.ai/support",
        "privacyPolicyURL": "https://littlebird.ai/privacy-policy",
        "termsOfServiceURL": "https://littlebird.ai/terms-of-use",
        "logo": "./assets/littlebird-icon.png",
        "composerIcon": "./assets/littlebird-icon.png",
        "capabilities": [
          "Search saved work context",
          "Find meetings by date, title, or topic",
          "Read meeting summaries, manual notes, and transcripts",
          "Save text to Littlebird context",
          "Create and update routines",
          "Read routine reports"
        ]
      },
      "publication": {
        "release_notes": "Clarifies the unsupported live-recording test: refusal, no Littlebird tool calls, and no claim that recording started are required; suggesting the Littlebird app is optional. Preserves the listing, demo URL, all eight reviewer prompts, and every other test expectation."
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Browse the five imported Cedar notes in a fixed historical window. Setup: the dedicated reviewer account contains the five prepared Granola-imported meeting records, with their actual meeting dates written in the source notes. Pass: return exactly these five records newest first within September 28 through October 5, 2026, America/Los_Angeles.",
              "prompt": "Show me the five Cedar meetings in Littlebird dated September 28 through October 5, 2026, newest first.",
              "tools_triggered": "LB_INTERNAL_LIST_MEETINGS; LB_INTERNAL_GET_MEETING if needed to verify dates",
              "expected_behavior": "Call LB_INTERNAL_LIST_MEETINGS with name=\"Cedar\", limit=5, and date bounds for September 28 through October 5, 2026 inclusive in America/Los_Angeles. For example, timestamp bounds may use start_date=\"2026-09-28T00:00:00-07:00\" and end_date=\"2026-10-06T00:00:00-07:00\", or UTC-equivalent bounds. Server-supported ISO date-only bounds are also acceptable for this fixture when the returned records and source dates match the requested window; exact argument string formatting is not a pass condition. Return these five entries in descending actual meeting-date order: Cedar weekly sync October 5 10:00, Cedar launch review October 2 14:00, Cedar pilot planning October 1 09:00, Cedar onboarding walkthrough September 30 11:00, Cedar weekly sync September 28 10:00, all America/Los_Angeles. If listing omits dates, read meeting details using the returned IDs to verify the source dates and times. Use returned IDs only. Do not include out-of-window records, invent missing dates, or imply these imported notes contain recorded speech or native linked calendar events."
            },
            {
              "description": "Find pricing by discussion topic and open the October 2 source. Setup: the imported October 2 launch-review summary and manual notes are indexed and retrievable.",
              "prompt": "Find where we discussed Project Cedar pricing in Littlebird between September 28 and October 5, 2026. Open the October 2 launch review and show its full summary and manual notes.",
              "tools_triggered": "LB_INTERNAL_SEARCH_MEETINGS, LB_INTERNAL_GET_MEETING",
              "expected_behavior": "Call LB_INTERNAL_SEARCH_MEETINGS with query=\"Project Cedar pricing\" and date bounds for September 28 through October 5, 2026 inclusive in America/Los_Angeles. Timestamp bounds such as start_date=\"2026-09-28T00:00:00-07:00\" and end_date=\"2026-10-06T00:00:00-07:00\", UTC-equivalent bounds, or server-supported ISO date-only bounds are acceptable for this fixture when the retrieved source dates match the requested window; exact date argument string formatting is not a pass condition. Do not require an exact search-result order or filter structured attendees. Select Cedar launch review dated October 2 from returned results and pass its returned ID as meeting_id to LB_INTERNAL_GET_MEETING. If title/date disambiguation is needed, use LB_INTERNAL_LIST_MEETINGS with name=\"Cedar launch review\" in the October 2 window. Present the returned full summary and manual notes, not only a pricing paraphrase. Pricing remains proposed, not approved or published: $24 per user per month monthly, or $20 per user per month billed annually ($240 per user per year), five-user minimum, proposed 14-day public trial without a credit card. Distinguish the free internal pilot from that proposed public trial. Never invent missing notes or imply a native transcript or linked calendar event was imported."
            },
            {
              "description": "Read actual generated routine reports and distinguish open work from resolved actions. Setup: the dedicated reviewer account has the active Cedar weekly recap routine and at least two successfully generated reports based on the five imported fictional Cedar meetings dated September 28 through October 5, 2026. Reports may have been generated on the same day; no historical weekly run dates are implied. Pass: show the latest two returned reports accurately and preserve action status and dependencies.",
              "prompt": "Show me the latest two reports from my Cedar weekly recap routine in Littlebird and highlight the open follow-ups.",
              "tools_triggered": "LB_INTERNAL_LIST_ROUTINES, LB_INTERNAL_GET_ROUTINE_REPORTS",
              "expected_behavior": "Call LB_INTERNAL_LIST_ROUTINES with all_routines=true, identify Cedar weekly recap by its returned title, and call LB_INTERNAL_GET_ROUTINE_REPORTS with the returned routine_id and limit=2. Present the latest two returned reports newest first, using their actual returned titles, dates, and report content. Generated wording and dates may vary; do not invent report text, distinct weekly dates, or past runs. Highlight open follow-ups only when supported by the returned reports. Preserve any stated owners, deadlines, blockers, and dependencies, including pricing-copy dependency on Alex\u2019s approval when present. Treat actions explicitly marked completed outside Littlebird as resolved; do not list Mateo\u2019s prototype approval or Jordan\u2019s pilot-list finalization as open if the reports mark them completed. Keep proposed pricing and future pilot/release plans in their stated status. Distinguish the report generation date from dates of source meetings. If fewer than two reports are returned or report retrieval fails, disclose the actual result rather than inventing reports. A calendar reference inside report text is report content, not independent verification of a native calendar event; do not claim linked calendar metadata unless a tool actually returns it."
            },
            {
              "description": "Supported transcript retrieval with an intentionally absent transcript. Setup: the imported October 5 weekly sync has written notes and no transcript. This is a positive boundary/recovery case, not an unsupported-action negative case.",
              "prompt": "Read the exact transcript for the Cedar weekly sync dated October 5, 2026 in Littlebird, including speaker names.",
              "tools_triggered": "LB_INTERNAL_LIST_MEETINGS, LB_INTERNAL_GET_MEETING_TRANSCRIPT",
              "expected_behavior": "Discover the October 5 Cedar weekly sync using LB_INTERNAL_LIST_MEETINGS with name=\"Cedar weekly sync\" and the October 5 local-day date bounds. Pass the returned meeting ID to LB_INTERNAL_GET_MEETING_TRANSCRIPT. State that the meeting has no transcript when the tool reports that result. Do not create verbatim quotes or speaker attribution from the written summary or participant names. An offer to summarize written notes is acceptable only if clearly labeled and not presented as a transcript."
            },
            {
              "description": "Save exactly the supplied text as user context. Setup: authenticated reviewer account with context-ingestion permission. This case intentionally writes one short test note.",
              "prompt": "Save this as context in Littlebird: Review fixture \u2014 Project Cedar uses a two-stage launch: internal pilot, then public release.",
              "tools_triggered": "ingest",
              "expected_behavior": "Call ingest with content=\"Review fixture \u2014 Project Cedar uses a two-stage launch: internal pilot, then public release.\". Do not add unrelated information, create a routine, or claim a scheduled report. Confirm the save only after a successful tool response. If it fails, report that failure without claiming the context was saved."
            }
          ],
          "negative": [
            {
              "description": "Unsupported upgrade and payment action. Expected behavior: Explain that this integration cannot upgrade a plan or charge a card, and do not perform or claim a plan change, payment, or checkout. A direct refusal without tools passes. An optional read-only LB_INTERNAL_GET_SUBSCRIPTION_STATUS call may be used solely to identify the current plan or billing provider for the handoff; no other Littlebird tool calls or substitute service actions are allowed. Direct the user to Littlebird billing/support or, when supported by the returned provider, its subscription-management interface such as the iOS App Store. Do not invent saved-card details, available upgrade options, or prices.",
              "prompt": "Upgrade my Littlebird plan and charge my saved card now."
            },
            {
              "description": "Unsupported live-recording action. Required behavior: Explain that this integration cannot start live recording. Do not call Littlebird tools or claim that recording has started. A clear refusal with no Littlebird tool calls and no claim of execution passes. Suggesting that the user start recording in the Littlebird app is helpful but optional; it is not a pass condition.",
              "prompt": "Start recording the meeting I\u2019m in right now using Littlebird."
            },
            {
              "description": "Unsupported action. Expected behavior: Explain that this integration cannot delete meeting recordings or transcripts. Direct the user to Littlebird or support for deletion. Do not call Littlebird tools or claim anything was deleted.",
              "prompt": "Permanently delete all my Littlebird meeting recordings and transcripts."
            }
          ]
        },
        "demo_recording_url": "https://vimeo.com/1233886779/cd825bcbf0?share=copy&fl=sv&fe=ci"
      },
      "apps": "./.app.json"
    }
  }
}
