Skip to main content
Glama

register_relationship

Define and store relationships between code entities, such as calls, inherits, or imports, to maintain structured connections and metadata within a codebase.

Instructions

Register a relationship between entities.

Args: from_entity: Name of the source entity to_entity: Name of the target entity relationship_type: Type of relationship (calls, inherits, imports, etc.) metadata: Additional metadata as key-value pairs

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
from_entityYes
metadataNo
relationship_typeYes
to_entityYes

Implementation Reference

  • The handler function for the 'register_relationship' tool. It finds entities by name, creates a relation between them using KnowledgeGraph.add_relation, saves the knowledge graph if storage is configured, and returns the relation ID or error message.
    def register_relationship(
        from_entity: str,
        to_entity: str,
        relationship_type: str,
        metadata: dict[str, Any] | None = None,
    ) -> str:
        """Register a relationship between entities.
    
        Args:
            from_entity: Name of the source entity
            to_entity: Name of the target entity
            relationship_type: Type of relationship (calls, inherits, imports, etc.)
            metadata: Additional metadata as key-value pairs
        """
        # Find entities by name
        from_entities = self.knowledge.find_entity(from_entity)
        to_entities = self.knowledge.find_entity(to_entity)
    
        if not from_entities:
            return f"Error: Source entity '{from_entity}' not found"
    
        if not to_entities:
            return f"Error: Target entity '{to_entity}' not found"
    
        # If multiple entities with the same name, use the first one
        from_id = from_entities[0].entity_id
        to_id = to_entities[0].entity_id
    
        relation_id = self.knowledge.add_relation(
            from_id=from_id,
            to_id=to_id,
            relation_type=relationship_type,
            metadata=metadata,
        )
    
        if not relation_id:
            return "Error: Failed to create relationship"
    
        # Save knowledge if storage path is set
        if self.storage_path:
            self.knowledge.save_to_file(self.storage_path)
    
        return f"Relationship registered with ID: {relation_id}"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sarathsp06/sourcesage'

If you have feedback or need assistance with the MCP directory API, please join our Discord server