Kirha Planning
Private search infrastructure
Every private data provider we integrate is exposed as an MCP server. Conceptually, we're building a human knowledge graph, where "verticals" (e.g., crypto, insurance) appear as branches, and MCP servers are the leaves. We've developed a custom MCP SDK to specify prices and typed outputs for every tool. With TypeScript and clear guidelines, 75% of our MCP servers are now generated by coding AI agents from API documentation.
Expanding this knowledge graph to a usable scale would have been unrealistic otherwise.
But how is this useful to your AI agents? Isn't finding what they need in this graph like looking for a needle in a haystack?
Tool planning
This is where the planner comes in. Instead of letting your agent discover and call tools one at a time, Kirha plans the entire execution upfront in a single step.
You describe what you need in plain language, and the planner figures out which tools to call, in what order, and how to pass data between them. When steps don't depend on each other, they run in parallel.
Here's an example. Given "Find the largest USDC holder on Base, then get their PnL", the planner builds a five-step pipeline automatically:
[
{
"thought": "Get the chain ID for Base",
"toolName": "getChainId",
"arguments": { "blockchain": "Base" }
},
{
"thought": "Search for the USDC coin",
"toolName": "searchCoin",
"arguments": { "query": "USDC", "limit": 1 }
},
{
"thought": "Get the USDC contract address on Base",
"toolName": "getCoinPlatformInfo",
"arguments": { "coinId": "{1.coins.0.id}", "platform": "base" }
},
{
"thought": "Get the top holder of USDC on Base",
"toolName": "getTokenHolders",
"arguments": {
"chainId": "{0.chainId}",
"tokenAddress": "{2.contractAddress}",
"limit": 1
}
},
{
"thought": "Get the PnL for this wallet",
"toolName": "getWalletPnL",
"arguments": { "address": "{3.holders.0.address}" }
}
]Why this matters
Because the plan is generated before execution, you know exactly what will happen: which providers are called, what parameters are used, and what it will cost. This is different from a typical agent loop where the model decides tools on the fly and costs are unpredictable.
This also means you can review and approve a plan before it runs. The SDK supports this with a human-in-the-loop pattern: the planner proposes, you (or your application) decide whether to proceed.
The planner model
We are currently iterating on our own fine-tuned planning model. It is trained on a curated dataset of planning examples and learns planning methodology rather than memorizing specific APIs, so it can generalize to any tool catalog at inference time.
By default, the planner runs on Kirha's cloud infrastructure. You can also run it locally on your own machine for privacy and lower latency.