search_memory_facts
Search graph memory for relevant facts using queries, group filters, or node references to retrieve structured information.
Instructions
Search the graph memory for relevant facts.
Args:
query: The search query
group_ids: Optional list of group IDs to filter results
max_facts: Maximum number of facts to return (default: 10)
center_node_uuid: Optional UUID of a node to center the search around
Returns:
List of fact dictionaries containing search results
Example:
search_memory_facts(
query="implementation dependencies",
group_ids=["knowledge-smith"],
max_facts=10
)
@REQ: REQ-graphiti-chunk-mcp
@BP: BP-graphiti-chunk-mcp
@TASK: TASK-007-MCPTools
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| group_ids | No | ||
| max_facts | No | ||
| center_node_uuid | No |
Implementation Reference
- rbt_mcp_server/server.py:70-105 (handler)MCP tool handler for 'search_memory_facts'. Registers the tool via @mcp.tool() and delegates to graphiti_tools.search_facts_impl.@mcp.tool() async def search_memory_facts( query: str, group_ids: Optional[List[str]] = None, max_facts: int = 10, center_node_uuid: Optional[str] = None, ) -> List[Dict[str, Any]]: """ Search the graph memory for relevant facts. Args: query: The search query group_ids: Optional list of group IDs to filter results max_facts: Maximum number of facts to return (default: 10) center_node_uuid: Optional UUID of a node to center the search around Returns: List of fact dictionaries containing search results Example: search_memory_facts( query="implementation dependencies", group_ids=["knowledge-smith"], max_facts=10 ) @REQ: REQ-graphiti-chunk-mcp @BP: BP-graphiti-chunk-mcp @TASK: TASK-007-MCPTools """ return await graphiti_tools.search_facts_impl( query=query, group_ids=group_ids, max_facts=max_facts, center_node_uuid=center_node_uuid, )
- Core implementation of search_memory_facts logic. Creates GraphitiClient and calls client.search_facts to perform the graph search.async def search_facts_impl( query: str, group_ids: Optional[List[str]] = None, max_facts: int = 10, center_node_uuid: Optional[str] = None, ) -> List[Dict[str, Any]]: """ Search the graph memory for relevant facts. @REQ: REQ-graphiti-chunk-mcp @BP: BP-graphiti-chunk-mcp @TASK: TASK-007-MCPTools Args: query: The search query group_ids: Optional list of group IDs to filter results max_facts: Maximum number of facts to return (default: 10) center_node_uuid: Optional UUID of a node to center the search around Returns: List of fact dictionaries containing search results Raises: ToolError: If search operation fails """ try: client = get_graphiti_client() async with client: results = await client.search_facts( query=query, center_node_uuid=center_node_uuid, group_ids=group_ids, max_facts=max_facts, ) return results except Exception as e: raise ToolError( "SEARCH_FACTS_ERROR", f"Failed to search facts: {str(e)}" ) from e
- rbt_mcp_server/server.py:70-105 (registration)The @mcp.tool() decorator registers 'search_memory_facts' as an MCP tool.@mcp.tool() async def search_memory_facts( query: str, group_ids: Optional[List[str]] = None, max_facts: int = 10, center_node_uuid: Optional[str] = None, ) -> List[Dict[str, Any]]: """ Search the graph memory for relevant facts. Args: query: The search query group_ids: Optional list of group IDs to filter results max_facts: Maximum number of facts to return (default: 10) center_node_uuid: Optional UUID of a node to center the search around Returns: List of fact dictionaries containing search results Example: search_memory_facts( query="implementation dependencies", group_ids=["knowledge-smith"], max_facts=10 ) @REQ: REQ-graphiti-chunk-mcp @BP: BP-graphiti-chunk-mcp @TASK: TASK-007-MCPTools """ return await graphiti_tools.search_facts_impl( query=query, group_ids=group_ids, max_facts=max_facts, center_node_uuid=center_node_uuid, )