Crews of coding agents hit three problems single agents don't: every agent re-reads the same code to build the same mental model, the manager splits work blindly so agents edit code that depends on each other, and reviewing per-agent changes means reading raw diffs.
These are all graph problems. sem builds a deterministic cross-file entity graph (functions, classes, methods) over any git repo and ships as an MCP server, so it works with MCPServerAdapter today:
from crewai_tools import MCPServerAdapter
sem_tools = MCPServerAdapter(
server_params={"command": "sem", "args": ["mcp"]}
)
Per role:
- Manager:
sem_impact gives blast radius, so tasks can be partitioned into non-overlapping subgraphs before delegation.
- Workers:
sem_context returns a function plus its callers and callees in one call, 50-65% faster than grep-and-read loops for structural questions in our benchmarks.
- Reviewers:
sem_diff reports each agent's changes as modified entities, not raw diffs.
To be upfront: for a single agent on an ordinary fix, sem is roughly at parity with grep. The win is specifically multi-agent, where one shared graph replaces N private explorations.
Happy to contribute a cookbook example or docs page if there's interest.
Crews of coding agents hit three problems single agents don't: every agent re-reads the same code to build the same mental model, the manager splits work blindly so agents edit code that depends on each other, and reviewing per-agent changes means reading raw diffs.
These are all graph problems. sem builds a deterministic cross-file entity graph (functions, classes, methods) over any git repo and ships as an MCP server, so it works with MCPServerAdapter today:
Per role:
sem_impactgives blast radius, so tasks can be partitioned into non-overlapping subgraphs before delegation.sem_contextreturns a function plus its callers and callees in one call, 50-65% faster than grep-and-read loops for structural questions in our benchmarks.sem_diffreports each agent's changes as modified entities, not raw diffs.To be upfront: for a single agent on an ordinary fix, sem is roughly at parity with grep. The win is specifically multi-agent, where one shared graph replaces N private explorations.
Happy to contribute a cookbook example or docs page if there's interest.