Skip to main content
Glama
AgentWong

IAC Memory MCP Server

by AgentWong

delete_entity

Remove an entity and its relationships from the knowledge graph in the IAC Memory MCP Server to maintain an updated and accurate infrastructure-as-code cache.

Instructions

Remove an entity and its relationships from the knowledge graph

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesEntity ID

Implementation Reference

  • MCP tool handler for delete_entity: logs the deletion attempt, calls execute_delete_entity helper, and raises MCP errors on failure.
    async def handle_delete_entity(db: Any, arguments: Dict[str, Any], operation_id: str) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: """Handle delete_entity tool.""" try: logger.info( "Deleting entity", extra={ "entity_id": arguments.get("entity_id"), "operation_id": operation_id, }, ) # Execute deletion return execute_delete_entity(db, arguments) except Exception as e: error_msg = f"Failed to delete entity: {str(e)}" logger.error(error_msg, extra={"operation_id": operation_id}) raise McpError( types.ErrorData( code=types.INTERNAL_ERROR, message=error_msg, data={ "tool": "delete_entity", "operation_id": operation_id, }, ) )
  • JSON schema defining the input parameters for the delete_entity tool (requires 'id' string).
    "delete_entity": { "type": "object", "description": "Remove an entity and its relationships from the knowledge graph", "required": ["id"], "properties": {"id": {"type": "string", "description": "Entity ID"}}, },
  • Registration of delete_entity handler in the entity_tool_handlers dictionary used for MCP tool dispatching.
    entity_tool_handlers = { "create_entity": handle_create_entity, "update_entity": handle_update_entity, "delete_entity": handle_delete_entity, "view_relationships": handle_view_relationships, }
  • Helper function called by the handler: invokes low-level delete_entity and formats MCP TextContent response.
    def execute_delete_entity( db: DatabaseManager, arguments: Dict[str, Any] ) -> List[TextContent]: """Execute delete entity operation.""" logger.info("Deleting entity", extra={"args": arguments}) success = delete_entity(db, arguments["id"]) if not success: raise DatabaseError(f"Entity not found: {arguments['id']}") return [TextContent(type="text", text=f"Deleted entity {arguments['id']}")]
  • Low-level database helper: deletes entity observations and the entity itself from SQLite, returns success boolean.
    def delete_entity(db: DatabaseManager, entity_id: str) -> bool: """Delete an entity and its related observations.""" try: with db.get_connection() as conn: conn.execute("BEGIN TRANSACTION") conn.execute("DELETE FROM observations WHERE entity_id = ?", (entity_id,)) cursor = conn.execute("DELETE FROM entities WHERE id = ?", (entity_id,)) affected = cursor.rowcount > 0 conn.commit() return affected except sqlite3.Error as e: raise DatabaseError(f"Delete failed: {str(e)}")

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/AgentWong/iac-memory-mcp-server'

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