I Built a Graph-Based Tool Search Engine for LLM Agents — Here's What I Learned After 1068 Tools
LLM agents need tools. But when you have 248 Kubernetes API endpoints or 1068 GitHub API operations, you can't stuff them all into the context window. The standard fix is vector search — embed tool...

Source: DEV Community
LLM agents need tools. But when you have 248 Kubernetes API endpoints or 1068 GitHub API operations, you can't stuff them all into the context window. The standard fix is vector search — embed tool descriptions, find the closest match. It works for finding one tool. But real tasks aren't one tool. I built graph-tool-call, a Python library that models tool relationships as a graph and retrieves execution chains, not just individual matches. After reaching v0.15, I ran a fair competitive benchmark against 6 retrieval strategies across 1068 API endpoints. The results were humbling — and led to a complete architecture rethink. This post covers what I found, what I broke, and what I built differently. Why Vector Search Isn't Enough Consider this user request: "Cancel my order and process a refund" Vector search finds cancelOrder — the closest semantic match. But the actual workflow is: listOrders → getOrder → cancelOrder → requestRefund You need getOrder first because cancelOrder requires a