Every agent framework runs into the same wall eventually: a user asks about a live USDC balance, a Chainlink price, or an Aave health factor, and none of that was in the training data. The fix is the same no matter which framework you’re in, one tool function that POSTs a chain, a contract map, and a CEL expression to evmquery, and gets back a decoded, typed value. However you build agents, evmquery is a tool call away.
Key facts
- MCP endpoint:
https://api.evmquery.com/mcp— connect natively from any MCP-aware framework or client (Claude Agent SDK, Claude Desktop, Cursor, Windsurf) with no REST wrapper code. - REST endpoint:
POST https://api.evmquery.com/api/v1/query— the surface every framework below wires a tool function around. - Auth header:
x-api-key: YOUR_KEYon every REST request. Get a free key at app.evmquery.com/onboarding; the free tier has no monthly cap.
This page is the single reference for all 21 frameworks we’ve wired evmquery into. The 6 most-searched get a full deep-dive post, with three live recipes and copy-pasteable agent code. The other 15 get the shortest useful version here: the install command and the tool-registration pattern below. No per-framework walkthroughs on this page, that’s what the flagship posts are for.
The matrix
Install command per framework:
| Framework | Install |
|---|---|
| Agno | pip install agno anthropic requests |
| AutoGen / AG2 | pip install ag2 requests |
| Azure AI Foundry | pip install azure-ai-projects azure-ai-agents azure-identity requests |
| BeeAI | pip install beeai-framework requests |
| Claude Agent SDK | pip install claude-agent-sdk (or npm install @anthropic-ai/claude-agent-sdk) |
| CrewAI | pip install crewai requests |
| DSPy | pip install dspy requests |
| ElizaOS | elizaos create --type plugin plugin-evmquery |
| Genkit | npm install genkit @genkit-ai/google-genai zod |
| Google ADK | pip install google-adk requests python-dotenv |
| Haystack | pip install haystack-ai anthropic-haystack requests |
| LangChain | pip install langchain-core langchain-anthropic langgraph requests |
| LangGraph | pip install langgraph langchain-core langchain-anthropic requests |
| LlamaIndex | pip install llama-index-core llama-index-llms-anthropic requests |
| Mastra | npm install @mastra/core zod |
| OpenAI Agents SDK | pip install openai-agents requests |
| Pydantic AI | pip install pydantic-ai requests |
| Semantic Kernel | pip install semantic-kernel requests |
| smolagents | pip install smolagents requests |
| Spring AI | org.springframework.ai:spring-ai-starter-model-anthropic (Maven/Gradle) |
| Vercel AI SDK | npm install ai @ai-sdk/anthropic zod |
Tool-registration pattern and full guide, same order:
- Agno — Plain function passed to
Agent(tools=[fn]), no decorator needed. Agno docs - AutoGen / AG2 —
autogen.register_function(fn, caller=assistant, executor=user_proxy, ...). AG2 docs - Azure AI Foundry —
FunctionTool(functions={fn}). Azure AI Foundry docs - BeeAI —
@tooldecorator frombeeai_framework.tools. BeeAI framework docs - Claude Agent SDK — Native MCP,
mcp_serversconfig plusallowed_tools, no wrapper function. Claude Agent SDK docs - CrewAI — Subclass
BaseTool(or@toolfor quick one-offs). CrewAI: EVM blockchain tool - DSPy — Plain function passed to
dspy.ReAct(signature, tools=[fn]). DSPy docs - ElizaOS — Custom
Actionobject registered on a plugin. ElizaOS docs - Genkit —
ai.defineTool(meta, fn)with a Zod input/output schema. Genkit docs - Google ADK — Plain function passed to
Agent(tools=[...]). Google ADK docs - Haystack —
@tooldecorator fromhaystack.tools,Annotatedparam descriptions. Haystack docs - LangChain —
@tooldecorator fromlangchain_core.tools. LangChain: EVM blockchain tool - LangGraph —
@tooldecorator pluscreate_react_agentfromlanggraph.prebuilt. LangGraph: EVM blockchain tool - LlamaIndex —
FunctionTool.from_defaults(fn). LlamaIndex docs - Mastra —
createTool({ ... })with a Zod schema. Mastra docs - OpenAI Agents SDK —
@function_tooldecorator. OpenAI Agents SDK: EVM blockchain tool - Pydantic AI —
@agent.tool_plaindecorator. Pydantic AI: EVM blockchain tool - Semantic Kernel —
@kernel_functionmethod on a plugin class. Semantic Kernel docs - smolagents — Subclass
Tool, implementforward(). smolagents docs - Spring AI —
@Tool-annotated service method. Spring AI docs - Vercel AI SDK —
tool({ ... })passed tostreamText(). Vercel AI SDK: EVM blockchain tool
Every framework hits the same REST endpoint with the same request shape underneath: a chain identifier, a schema.contracts map of short names to { "address": "0x..." }, and a CEL expression that names those contracts as variables. What differs is only how each framework wraps that call so its model can invoke it.
Next steps
- evmquery for AI agent builders — the full integration surface for agent-facing onchain reads, MCP and REST side by side
- LangChain: build a custom EVM blockchain tool
- LangGraph: build an EVM blockchain tool
- CrewAI: build an EVM blockchain tool
- Vercel AI SDK: add a live EVM blockchain tool
- OpenAI Agents SDK: wire in an EVM blockchain tool
- Pydantic AI: build an EVM blockchain tool



