feat(memory): expose knowledge graph as MCP Resource (#3323)
* feat(memory): expose knowledge graph as MCP Resource Register the knowledge graph as a readable MCP Resource at memory://knowledge-graph, enabling clients to discover and read the graph via the Resources protocol without invoking a tool. Mutation tools (create_entities, create_relations, add_observations, delete_entities, delete_observations, delete_relations) now emit notifications/resources/updated so subscribed clients see live graph changes. Resource registration is extracted into the exported registerKnowledgeGraphResource() function so it can be unit-tested in isolation, mirroring the everything server's registration pattern. New tests assert registerResource is called with the correct kebab-case name, URI, mime type, and that the handler returns the graph as JSON in the contents array. Addresses PR #3323 review feedback: - kebab-case resource name per CLAUDE.md style guide - single-line comment per CLAUDE.md style guide - title metadata for client discoverability - resource update notifications after mutations - test coverage matching everything/registrations.test.ts pattern - README documents the new Resource * feat(memory): support resources/subscribe for the knowledge-graph resource PR #3323 emitted notifications/resources/updated after every mutation but the server only advertised resources.listChanged, so resources/subscribe returned -32601 and a spec-compliant client could never actually subscribe. Declare resources.subscribe, add subscribe/unsubscribe request handlers that track subscribed URIs, and only emit notifications/resources/updated when the client has subscribed to that URI. Co-authored-by: Lazreg Raed <lazregraed222@gmail.com> --------- Co-authored-by: olaservo <olahungerford@gmail.com>
This commit is contained in:
parent
a96189b2af
commit
7b1170d1da
1 changed files with 169 additions and 3 deletions
|
|
@ -125,6 +125,14 @@ Example:
|
|||
- Relations between requested entities
|
||||
- Silently skips non-existent nodes
|
||||
|
||||
### Resources
|
||||
|
||||
- **knowledge-graph** (`memory://knowledge-graph`)
|
||||
- The full knowledge graph as a readable MCP Resource
|
||||
- MIME type: `application/json`
|
||||
- Returns the same shape as `read_graph` (entities and relations)
|
||||
- Mutation tools (`create_entities`, `create_relations`, `add_observations`, `delete_entities`, `delete_observations`, `delete_relations`) emit `notifications/resources/updated` for this URI, so subscribed clients see live changes
|
||||
|
||||
# Usage with Claude Desktop
|
||||
|
||||
### Setup
|
||||
|
|
|
|||
Loading…
Reference in a new issue