Add get_node_relations function for efficient graph traversal #2310
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new
get_node_relationsfunction to the MCP memory server that enables efficient graph traversal by retrieving all incoming and outgoing relations for a specific node without loading the entire graph.Changes
getNodeRelationsinKnowledgeGraphManagerclassget_node_relationsexposed via the server APIREADME.mdwith API documentation for the new function.github/mcp.jsonfor discoverabilityImplementation Details
Input
nodeName(string): The name of the entity to get relations forOutput
outgoing(array): Relations where this node is the sourceincoming(array): Relations where this node is the targetconnected_entities(string[]): Names of all connected entitiesUse Cases
Testing
The implementation has been tested locally with:
Files Changed
src/memory/index.ts: Core implementationsrc/memory/README.md: API documentationThis enhancement maintains backward compatibility and follows existing code patterns in the memory server.