Skip to content

fix(mcp-sse): sync tool schemas for SSE/MCP parity#104

Merged
jack-arturo merged 1 commit intomainfrom
fix/90-sse-tool-parity
Mar 2, 2026
Merged

fix(mcp-sse): sync tool schemas for SSE/MCP parity#104
jack-arturo merged 1 commit intomainfrom
fix/90-sse-tool-parity

Conversation

@jack-arturo
Copy link
Copy Markdown
Member

Summary

Fixes the SSE server side of #90 — tool description drift between SSE and MCP transports.

  • associate_memories.type: Was unconstrained string, now enum with all 16 valid relationship types (synced from automem/config.py RELATIONSHIP_TYPES)
  • update_memory: Added missing type and confidence properties (MCP package already had these)
  • All tools: Added parameter-level description fields to every property
  • All tools: Added MCP annotations (readOnlyHint, destructiveHint) for spec compliance
  • Shared constants: Extracted RELATION_TYPES and MEMORY_TYPES arrays so they're easy to keep in sync

What's NOT in this PR (separate repo / follow-up)

The MCP npm package (verygoodplugins/mcp-automem) still needs:

  • per_query_limit, sort, format added to recall_memory
  • store_memory expanded from 6 to 13 properties
  • outputSchema definitions (both SSE and MCP)

Test plan

  • All 7 existing mcp-sse-server tests pass
  • No application code changes — only tool schema metadata
  • Pre-commit hooks pass (conventional commit, secrets check, trailing whitespace)

Closes the SSE-server portion of #90.

Made with Cursor

- Add enum constraint to associate_memories.type (16 valid relation types)
- Add type and confidence to update_memory inputSchema
- Add parameter descriptions to all tool properties
- Add MCP annotations (readOnlyHint, destructiveHint) to all 6 tools
- Extract RELATION_TYPES and MEMORY_TYPES as shared constants

Made-with: Cursor
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 2, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8df3c08 and b0db672.

📒 Files selected for processing (1)
  • mcp-sse-server/server.js

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Improved input validation and descriptions for memory management tools.
    • Tool parameters now include clearer type constraints and relationship specifications.
    • Operations clearly marked to indicate whether they modify, read-only, or delete data.

Walkthrough

Introduces RELATION_TYPES and MEMORY_TYPES constant sets to enforce enum constraints on tool inputs. Expands input schemas for six MCP tools with richer field descriptions, annotations (readOnly, destructive), and validation rules. No functional flow changes; improves metadata for client tooling.

Changes

Cohort / File(s) Summary
MCP Tool Schema Enhancements
mcp-sse-server/server.js
Added RELATION_TYPES and MEMORY_TYPES constants; expanded and annotated input schemas for store_memory, recall_memory, associate_memories, update_memory, delete_memory, and check_database_health with richer field descriptions, enum constraints, and readOnly/destructive metadata hints.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: syncing tool schemas for SSE/MCP parity by fixing tool description drift.
Description check ✅ Passed The description is directly related to the changeset, detailing the specific schema updates made to tools, extracted constants, test results, and what remains for follow-up.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/90-sse-tool-parity

Comment @coderabbitai help to get the list of available commands and usage tips.

@jack-arturo jack-arturo merged commit d99b86d into main Mar 2, 2026
7 checks passed
@jack-arturo jack-arturo deleted the fix/90-sse-tool-parity branch March 2, 2026 17:01
jack-arturo added a commit that referenced this pull request Mar 2, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.13.0](v0.12.0...v0.13.0)
(2026-03-02)


### Features

* **bench:** benchmark testing infrastructure for rapid iteration
([#97](#97))
([80a6f93](80a6f93))
* **recall:** add min_score threshold and adaptive floor filtering
([#73](#73))
([#101](#101))
([8df3c08](8df3c08))
* **viewer:** add standalone graph-viewer runtime files
([5bcb6db](5bcb6db))
* **viewer:** consolidate stable core and split-ready compatibility
([#94](#94))
([958da72](958da72))
* **viewer:** externalize visualizer with /viewer compatibility routes
([29bafcf](29bafcf))
* **viewer:** merge visualizer stable core branch
([96b27bf](96b27bf))


### Bug Fixes

* FalkorDB data not persisting across restarts
([3bbc834](3bbc834))
* FalkorDB data not persisting across restarts
([#99](#99))
([8490d36](8490d36))
* **mcp-sse:** sync tool schemas for SSE/MCP parity
([#104](#104))
([d99b86d](d99b86d))


### Documentation

* **bench:** add PR
[#73](#73),
[#80](#80), and
[#87](#87) experiment
results ([#103](#103))
([8533fac](8533fac))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant