Open Source

Semfora Graph

Interactive call graph visualization for your codebase. Explore millions of nodes with WebGL rendering, all running locally.

Quick Start

1. Export your call graph to SQLite

# Using CLI
semfora-engine index export --output call-graph.sqlite

# Using MCP tool
get_callgraph({
  export: "sqlite",
  output_path: "./call-graph.sqlite"
})

2. Start Semfora Graph

semfora-graph ./call-graph.sqlite

3. Open your browser

# Opens automatically at http://localhost:9850

Requires SQLite Export

Semfora Graph reads from SQLite files exported by Semfora Engine. Use get_callgraph(export='sqlite') to create the file first.

Features

Million-Node Scale

WebGL rendering handles massive graphs. Progressive loading keeps it responsive even with millions of functions.

Interactive Filtering

Filter by module, risk level, or custom SQL queries. Find exactly what you need.

Zero Dependencies

Self-contained binary. No Node.js, no Python, no cloud services. Just point at a SQLite file.

Live Updates

In watch mode, the graph updates automatically as you code. Real-time visualization of your changes.

Command Options

# Basic usage
semfora-graph ./call-graph.sqlite

# Custom port
semfora-graph ./call-graph.sqlite --port 8080

# Watch mode (live updates)
semfora-graph ./call-graph.sqlite --watch

# Don't open browser
semfora-graph ./call-graph.sqlite --no-open

Keyboard Shortcuts

Mouse dragPan the view
Scroll / PinchZoom in/out
Click nodeSelect and inspect
Shift + ClickMulti-select nodes
Cmd/Ctrl + FSearch nodes
Cmd/Ctrl + KOpen filter panel
Cmd/Ctrl + EExport current view
EscapeClear selection

Integration with Engine

Semfora Graph works directly with SQLite files from Semfora Engine. You can also query the call graph programmatically:

# MCP tool to get call graph data
get_call_graph({
  module: "auth",  // Filter to specific module
  symbol: "validateUser"  // Or specific function
})

# Get callers of a function
get_callers({
  symbol_hash: "abc123",
  depth: 2  // Include transitive callers
})

Open Source

Semfora Graph is open source and available on GitHub.

View on GitHub