Graph-tool-call enables contract-aware retrieval and dependency resolution for large LLM tool catalogs using hybrid search and graph traversal.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Graph Tool Call.
Graph-structured retrieval for large LLM tool catalogs.
Find the target tool, the prerequisite tools that produce its inputs, and the smallest schema bundle that fits the planner's token budget.
Documentation ยท Quickstart ยท PyPI ยท Benchmarks
English ยท ํ๊ตญ์ด
A semantic search for "refund an order" can find refundOrder. That is not
enough when the operation requires an order_id that the user does not have.
A usable candidate set also needs the operation that produces that field:
Large catalogs create a second problem: sending every schema to the model wastes context and can lower selection quality. graph-tool-call treats retrieval as a contract-aware graph problem instead of flat similarity search.
It provides:
Authentication, tenant policy, approval, and product-specific execution remain in the host application.
No model, API key, or network call is required:
This demo runs the real retriever, deterministic target selector, typed dependency closure, and schema admission pipeline.
The core search and graph package uses only the Python standard library. Optional integrations are installed explicitly:
Python 3.10 through 3.14 are tested in CI.
OpenAPI ingestion preserves request and response schemas, parameter locations,
content types, security requirements, links, examples, response envelopes, and
typed consumes/produces contracts. Swagger 2.0, OpenAPI 3.0, and OpenAPI 3.1
are supported.
Inspect a collection before exposing it to an agent:
The report contains stable readiness issue codes, semantic coverage, and edge quality rather than a single opaque score.
Every adapter returns normalized ToolSchema objects, capability metadata, and
structured unsupported-feature diagnostics.
| Environment | Recommended surface | What graph-tool-call owns |
|---|---|---|
| Python application | ToolGraph / graphify APIs | ingest, search, evidence, dependency closure |
| OpenAI Responses or Chat Completions | patch_openai | per-request function-tool filtering |
| Anthropic Messages | patch_anthropic | per-request tool filtering |
| LangChain v1 | create_tool_selection_middleware | model-call tool selection |
| Claude Code, Cursor, Windsurf | MCP proxy | many MCP backends behind 3 gateway tools |
| OpenAI Agents, PydanticAI, Google ADK | remote MCP server | protocol-neutral search service |
| Docker or Kubernetes | Streamable HTTP MCP | private deployable service |
See the compatibility matrix for validation boundaries. Protocol compatibility does not imply that every framework or cloud release is tested by this repository.
Hosted tools such as web search pass through unchanged. The same patch keeps legacy Chat Completions support.
The middleware intersects with tools still allowed by earlier permission or feature-flag middleware; it does not reintroduce filtered tools.
The MCP endpoint is /mcp; HTTP deployments also expose /healthz and
/readyz. Keep remote endpoints private or behind an authenticated gateway.
The proxy accepts local stdio, SSE, and Streamable HTTP backends. In gateway
mode it exposes search_tools, get_tool_schema, and call_backend_tool, then
notifies capable clients when matching backend tools become visible.
The release headline is deliberately model-free and small enough to replay in CI. On seven curated commerce cases, adding typed producer expansion to the same selected target produced:
| Metric | Target only | Target + graph producers |
|---|---|---|
| Required-producer recall | 14.3% | 100% |
| Candidate plan coverage | 47.6% | 100% |
| Candidate binding support | 14.3% | 100% |
| Target Recall@5 | - | 100% |
The case-level v0.46.0 artifact records fixture hashes, every expected target and producer, and replay commands:
The separate
observability artifact
checks that tracing leaves engine inputs unchanged, replays deterministically,
scrubs secrets, explains every decision, and stays below the documented
5ms/span p95 capture-cost gate:
This is an engine regression suite, not a population-level estimate of LLM tool-calling accuracy and not a state-of-the-art claim. Larger external comparisons, model-loop experiments, confidence intervals, and known weak cases are reported in Benchmark Results and the paper protocol.
graph-tool-call is the retrieval and contract layer. A production adapter still owns:
Do not store raw credentials in graph artifacts, tool descriptions, trace records, or model-visible arguments.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sonaiengine-graph-tool-call)<a href="https://allmcps.com/mcp/sonaiengine-graph-tool-call"><img src="https://allmcps.com/api/badge/sonaiengine-graph-tool-call?style=directory" alt="Graph Tool Call on AllMCPs" /></a>