Skip to main content

Announcing StackOne Defender: leading open-source prompt injection guard for your agent Read More

The Best
Tool Discovery
for AI Agents

We fine-tuned a lightweight retrieval model so your agent finds the right tool on the first try — without loading hundreds of schemas into its context window.

Context window

Without MCP tool search

60% free reasoning space

200k tokens

With StackOne MCP tool search

96% free reasoning space

8k tokens

#1 Semantic Tool Search
for Accuracy

No matter how many MCP tools — our fine-tuned tool discovery model finds the right one first.

StackOne Anthropic bge-large-en-v1.5 BM25 100% 75% 50% 25% 0% 94.9% 91.3% 76.1% MetaTool (opens in new tab) MetaTool ↗ 200 tools · nDCG@5 51.5% 30.0% 36.4% ToolRet-full (opens in new tab) ToolRet-full ↗ 44,453 tools · nDCG@5 91.6% 51.2% 33.1% S1 Search Bench 1,843 tasks · Hit@1

From 100s of
agent tools to 2

Your agent gets tool_search and tool_execute. Tool search surfaces the most relevant actions across your agent's connectors — reducing hundreds down to a few to pick from and execute. Your context window stays clean for reasoning.

Use via MCP

Claude Desktop Claude Desktop Claude Code Claude Code Cursor Cursor Windsurf Windsurf VS Code VS Code n8n n8n | LangChain LangChain Google ADK Google ADK
View MCP Docs →(opens in new tab)

Build with the SDK

OpenAI SDK OpenAI SDK Vercel AI SDK Vercel AI SDK LangChain LangChain Pydantic AI Pydantic AI CrewAI CrewAI Google ADK Google ADK Azure Foundry Azure Foundry | TypeScript TypeScript Python Python
View SDK Docs →(opens in new tab)

prompt

Find all deals closing this quarter worth over $50K

agent action

1/2

tool_search("deals closing this quarter over 50K")

searching 371 tools across 8 connectors...

match: salesforce_search_opportunities 0.96

agent action

2/2
tool_execute(salesforce_search_opportunities, {
  stage: "Negotiation", min_amount: 50000
})

response

3 opportunities found:

deal amount close
Acme Corp$120KJun 15
Globex Inc$85KJun 28
Wayne Ent$52KJun 30
2 tool calls 512 tokens 43% tokens saved

Query In,
Right Agent Tool Out

Your agent describes what it needs in plain language. Our semantic model finds the right tool across thousands of actions — even when no words match. 92.8% accuracy on the first try, including connectors the model was never trained on.

Query: "Find open deals closing this quarter"

salesforce_search_opportunities
Tool found

Query: "Enroll the new hire in compliance training"

workday_create_learning_enrollment
Tool found

Query: "Route P1 bugs to the platform team"

jira_transition_issue
Tool found

From Tool Discovery
to Execution

Semantic search finds your agent's tools. Server-side execution runs them. Production prompt injection guard protects them.

Enriched Embeddings

Action descriptions expanded with synonyms and related terms before embedding. +14 percentage points over standard semantic search.

Semantic + Local Fallback

Auto mode tries the semantic API first, falls back to hybrid BM25 + TF-IDF locally. Zero downtime, no network dependency.

Server-Side Execution

Action RPC across 200+ connectors with automatic account routing. Works natively with Claude, ChatGPT, Cursor, and Windsurf.

Multi-Execute

Batch multiple actions in a single tool_execute call. Array input, parallel execution, all results returned. No artificial cap.

Backwards Compatible

One URL parameter. Without it, the MCP server returns all tools as before. Zero migration, zero breaking changes.

Defender Integration

Every tool call passes through StackOne's prompt injection defense before reaching your systems.

AI Tool Search for Every Client.
Zero Migration.

Dramatically reduce in-context tool loading and reduce token spend per session. Your agent loads only 2 tools instead of 100s. Context stays clean. Costs drop.

Off-the-shelf AI agents

Paste into your MCP client

https://api.stackone.com/mcp?x-account-id=xyztool-mode=search_execute&token={token}

Claude Desktop Claude Desktop Claude Code Claude Code Cursor Cursor Windsurf Windsurf VS Code VS Code n8n n8n | LangChain LangChain Google ADK Google ADK
View MCP Docs →(opens in new tab)

Agents you're building

Add to your agent code

npm install @stackone/ai

# or: pip install stackone-ai

OpenAI SDK OpenAI SDK Vercel AI SDK Vercel AI SDK LangChain LangChain Pydantic AI Pydantic AI CrewAI CrewAI Google ADK Google ADK Azure Foundry Azure Foundry
View SDK Docs →(opens in new tab)

AI Tool Search Resources

Blog

Building Semantic Search for 10,000+ Actions

How enriched embeddings achieve 84% Hit@5 across 9,340 actions — and why reranking didn't help.

Blog

MCP Tool Search: BM25, TF-IDF, and Hybrid

The evaluation methodology behind our local fallback search — 2,700 test cases across 270 tools.

Blog

How to Reduce MCP Token Usage by 96–99%

Four strategies from schema compression to code execution — and the 460x reduction from search-first discovery.

Blog

Why AI Agents Kill Their Own Context Windows

How tool schemas, API responses, and multi-step workflows compound to exhaust your agent's reasoning space.

Frequently Asked Questions

What is a context window in AI, and why does it matter for tool use?
A context window is the total token budget an LLM has for a single request — including system prompt, tool definitions, messages, and the response. Loading 200+ tool schemas can consume 70,000+ tokens before the agent starts reasoning. OpenAI caps requests at 128 tool definitions. Tool discovery solves this by loading only the tools needed per query. See our guide on MCP token optimization.
How does semantic tool search work?
Semantic tool search uses a fine-tuned bi-encoder model to match natural language queries against tool descriptions by meaning, not keywords. For example, the query "enroll new hire in training" matches workday_create_learning_enrollment even with zero word overlap — picking the correct tool on the first try 92.8% of the time across 14 unseen connectors.
How is semantic search different from keyword search like BM25?
BM25 matches exact terms — it picks the correct tool on the first try only 14% of the time in our BM25 vs TF-IDF hybrid search evaluation. Semantic search understands intent: different words, same meaning. StackOne's model finds the right tool in its top 5 results 84% of the time, versus 21% for BM25, across 9,340 actions. The SDK's auto mode uses semantic first and falls back to BM25+TF-IDF locally if the API is unreachable.
How do I enable tool search on my StackOne MCP server?
Add tool-mode=search_execute to your StackOne MCP URL. Your agent will see two tools — tool_search and tool_execute — instead of hundreds of individual definitions. Remove the parameter to revert. No migration, no code changes.
Does StackOne MCP tool search work with Claude, ChatGPT, and Cursor?
Yes. Add tool-mode=search_execute to your StackOne MCP URL and paste it into any MCP client — Claude, ChatGPT, Cursor, Windsurf, VS Code, Zed. The agent sees tool_search and tool_execute instead of hundreds of definitions. No SDK or code changes needed on the client side.
When should I NOT use tool search?
If your agent uses fewer than 10 tools, static definitions work fine — context cost is negligible and tool availability is deterministic. Tool search adds value when connecting multiple systems where tool count exceeds what fits in the context window, or when you need semantic search across connectors.
What are the current limitations?
The semantic API requires network connectivity — the local BM25+TF-IDF fallback is less accurate at roughly 65% vs 90%. Multi-account routing for the same connector type picks the first match. The tool-mode parameter is set at URL level, not per-request. Code-mode execution (sandbox) is a separate future capability.

Let Your Agents Find The Tool It Needs

Start with Search & Execute — zero migration, one URL parameter.