Skip to content

Feature request: Add delete_thought tool to core MCP server #134

@asherdiamant

Description

@asherdiamant

Feature Request

What capability is missing?

There's no way to delete thoughts from Open Brain within an AI session. Stale or incorrect thoughts can only be superseded by capturing new "correction" entries, leading to clutter over time. As the knowledge base grows, this becomes a real maintenance problem — especially during monthly memory tidying.

Proposed solution

Add a delete_thought tool to the core MCP server that:

  1. Accepts a thought UUID
  2. Confirms the thought exists
  3. Deletes it and returns a preview of what was removed

This also requires surfacing thought IDs in search_thoughts and list_thoughts output so thoughts can be referenced for deletion. The match_thoughts RPC already returns the id column — this just surfaces it in the tool output.

Implementation

I have a working implementation in PR #127: #127

Three small changes to server/index.ts:

  • delete_thought tool — accepts UUID, confirms existence, deletes, returns preview
  • search_thoughts — now includes ID: <uuid> in each result
  • list_thoughts — now includes [<uuid>] prefix, selects the id column

Deployed and tested on a live Supabase instance. No new dependencies — uses the existing thoughts table and Supabase client with service_role permissions.

Why this should be core (not a recipe/integration)

  • It modifies the existing MCP server tools, not a standalone addition
  • Every Open Brain user needs this capability for knowledge base hygiene
  • The id exposure in search/list is a prerequisite for any future tool that references specific thoughts

Note on PR #127

The automated review correctly flags this PR because server/index.ts is outside the allowed contribution directories. I understand there's no current path for community core contributions — happy to work with you on how best to land this, whether that's you pulling the changes in directly or another approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions