Skip to content

feat: bulk forget and negative concept filters for recall #307

@CalebisGross

Description

@CalebisGross

Bulk forget

forget currently accepts a single memory ID. When cleaning up test data or archiving a batch of related memories, this requires N separate tool calls.

Proposed: Accept an array of IDs:

{"memory_ids": ["id1", "id2", "id3"]}

Keep the existing single-ID interface for backwards compatibility.

Negative concept filters

Recall currently supports positive concept filtering (concepts: ["retrieval"]), but there's no way to exclude concepts. When searching for retrieval-related memories, training results often surface because they share concepts.

Proposed: Add exclude_concepts parameter:

{"query": "retrieval ranking", "concepts": ["retrieval"], "exclude_concepts": ["training", "sweep"]}

Filter out any memory whose concepts overlap with the exclude list before ranking.

Why together

Both are MCP tool ergonomics improvements that touch internal/mcp/server.go handler logic and would be natural to ship in one PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions