
agentek-eth
A MCP server offering tools for cryptocurrency research and Ethereum-based automation.
Tools
resolveENS
Resolves an ENS name to an Ethereum address
lookupENS
Looks up the ENS name for an Ethereum address
getAllowance
Gets the ERC20 token allowance between an owner and spender
getBalanceOf
Gets the ERC20 token balance of an address
getTotalSupply
Gets the total supply of an ERC20 token
getDecimals
Gets the number of decimals of an ERC20 token
getName
Gets the name of an ERC20 token
getSymbol
Gets the symbol of an ERC20 token
getTokenMetadata
Gets all metadata (name, symbol, decimals, totalSupply) of an ERC20 token
intentApprove
Creates an intent to approve token spending
getAcrossFeeQuote
Fetches a suggested fee quote for a cross-chain asset bridge using the Across Protocol REST API.
intentDepositAcross
Deposits tokens into the Across Protocol bridge to initiate a cross-chain transfer.
intentTransfer
Creates an intent to transfer tokens
intentTransferFrom
Creates an intent to transfer tokens from another address
getLatestTokens
Get trending tokens and market data
getBalance
Get the ETH balance for an address
getCode
Get the bytecode of an address
getTransactionCount
Get the number of transactions sent from an address
getBlock
Get information about a block
getBlockNumber
Get the current block number
getGasPrice
Get the current gas price. If chainId is not specified, will return gas price for all supported chains.
estimateGas
Estimate gas for a transaction
getFeeHistory
Get historical gas fee info
getTransaction
Get details about a transaction
getTransactionReceipt
Get the receipt of a transaction
getUniV3Pool
Gets information about a Uniswap V3 pool
getUserPositions
Gets all Uniswap V3 positions for a user
getPoolFeeData
Gets fee-related data for a pool
getPositionDetails
Gets detailed information about a specific LP position
intentMintPosition
Creates a new Uniswap V3 liquidity position
intentIncreaseLiquidity
Adds more liquidity to an existing Uniswap V3 position
intentDecreaseLiquidity
Removes liquidity from a Uniswap V3 position
intentCollectFees
Collects accumulated fees from a Uniswap V3 position
intentTransferPosition
Transfers ownership of a Uniswap V3 LP NFT
depositWETH
Deposit ETH into the WETH contract, receiving WETH in return
withdrawWETH
Withdraw WETH back to native ETH
getNaniProposals
Get proposals for NANIDAO
intentStakeNani
Stake NANI tokens to receive xNANI tokens, which can be used for governance
intentUnstakeNani
Unstake xNANI tokens back to NANI tokens
intentProposeNani
Create a new governance proposal for NANIDAO
intentVoteNaniProposal
Vote on an existing NANIDAO governance proposal
getNativeCoinHolders
Get native coin holders list
getAddressInfo
Get information about a specific address
getAddressCounters
Get counters for a specific address
getAddressTransactions
Get transactions for a specific address
getAddressTokenTransfers
Get token transfers for a specific address
getAddressInternalTransactions
Get internal transactions for a specific address
getAddressLogs
Get logs for a specific address
getAddressBlocksValidated
Get blocks validated by a specific address
getAddressTokenBalances
Get all token balances for a specific address
getAddressTokens
Get token balances with filtering and pagination
getAddressCoinBalanceHistory
Get address coin balance history
getAddressCoinBalanceHistoryByDay
Get address coin balance history by day
getAddressWithdrawals
Get withdrawals for a specific address
getAddressNFTs
Get list of NFTs owned by address
getAddressNFTCollections
Get list of NFTs owned by address, grouped by collection
getBlockInfo
Get information about a specific block
getBlockTransactions
Get transactions within a specific block
getBlockWithdrawals
Get withdrawals within a specific block
getStats
Get statistics for various blockchain metrics.
getTransactionsChart
Retrieve daily transaction statistics chart data.
getTransactionInfo
Retrieve detailed information for a given transaction hash.
getTransactionTokenTransfers
Retrieve all token transfers that occurred within a given transaction.
getTransactionInternalTransactions
Retrieve internal transactions that occurred within a given transaction.
tallyUserDaos
Fetch all DAOs a user is a member of from the Tally governance API.
getTransactionLogs
Retrieve logs that were generated from a specific transaction.
getTransactionRawTrace
Retrieve raw trace information for a specific transaction.
getTransactionStateChanges
Retrieve state changes that occurred during a transaction.
getTransactionSummary
Retrieve a summary of data related to a transaction.
getSmartContracts
Get smart contract for the query
getSmartContract
Retrieve the source code, ABI and metadata a contract.
getTokenInfo
Fetch metadata for a token contract.
getTokenHolders
Retrieve token holders and their balances for a given token.
getTokenTransfers
List transfers for a specific token contract with pagination support.
getBlockscoutSearch
Perform a search query to find blocks, transactions, addresses, or tokens on the blockchain.
getAaveUserData
Fetches Aave user data including total collateral, total debt, available borrowing power, current liquidation threshold, LTV, and health factor.
getAaveReserveData
Fetches reserve data for a given asset from Aave including available liquidity, total stable and variable debt, and interest rates.
intentAaveDeposit
Deposits tokens into the Aave protocol to supply liquidity and earn interest.
intentAaveWithdraw
Withdraws tokens from Aave, redeeming your supplied assets (aTokens).
intentAaveBorrow
Borrows tokens from Aave using your supplied collateral. By default, the variable rate mode (2) is used.
intentAaveRepay
Repays your Aave debt. By default, the variable rate mode (2) is used for repayment.
checkMaliciousAddress
Check if an Ethereum address has been associated with malicious activity
checkMaliciousWebsite
Check if a website has been associated with crypto scams or malicious activity
scrapeWebContent
Given a URL, fetch the page's HTML and return the main text content as accurately as possible. Works for most websites.
getFearAndGreedIndex
Retrieves the current Fear and Greed Index value from Alternative.me API.
getSlowStatus
Get information about tokens, unlocked balances, and pending transfers in SLOW
predictTransferId
Predict a transfer ID for a potential transfer
canUnlockSlow
Check if a transfer can be unlocked and get info about it
getCanReverseSlowTransfer
Check if a transfer can be reversed
getSlowGuardianInfo
Get guardian information for a user
getSlowTransferApprovalRequired
Check if a transfer needs guardian approval
intentDepositToSlow
Deposit tokens or ETH into SLOW contract with a timelock
intentSetSlowGuardian
Set a guardian for a user in the SLOW contract
intentWithdrawFromSlow
Withdraw unlocked tokens from SLOW contract
intentApproveSlowTransfer
Guardian approves a transfer in SLOW contract
intentUnlockSlow
Unlock a time-locked transfer in SLOW contract
intentReverseSlowTransfer
Reverse a pending transfer in SLOW contract
getNFTMetadata
Gets metadata for an NFT token by contract address and token ID
getCryptoPrice
Get the current price of a cryptocurrency in USD
estimateGasCost
Estimate the gas cost for a transaction in both native token and USD
getTokenChart
Gets historical price chart data for one or more tokens from DeFi Llama
getYieldTool
Analyzes and compares yield opportunities from DefiLlama across all DeFi protocols
compareYieldTool
Compares yield opportunities for specific assets across different protocols
getYieldHistoryTool
Fetches and analyzes historical yield data for a specific pool from DefiLlama
compareYieldHistoryTool
Compares historical yield performance across multiple pools, analyzing metrics like APY, volatility, and TVL trends
think
Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.
askPerplexitySearch
Ask perplexity search
tallyProposals
Fetch proposals from the Tally governance API for a specified DAO/space.
tallyChains
Fetch all chains supported by the Tally governance API.
intentGovernorVote
Creates an intent to vote on a Governor bravo proposal
intentGovernorVoteWithReason
Creates an intent to vote on a Governor bravo proposal with a reason
getLatestCoindeskNewsTool
Calls the Coindesk API to retrieve the latest news articles. Parameter 'limit' allows specification of how many articles to fetch (defaults to 10).
getMarketEvents
Fetches cryptocurrency market events from CoinMarketCal. Supports filtering by coins, categories, date ranges, and various sorting options.
README
agentek
An extensible TypeScript toolkit that simplifies complex EVM blockchain interactions into composable, intent-based tools. Provides a unified, type-safe interface for both on-chain actions and off-chain data services, enabling developers to programmatically execute any blockchain operation across multiple EVM networks.
Interested in contributing? Check out our CONTRIBUTING.md guide!
Packages
The Agentek toolkit is structured as a monorepo with multiple publishable packages:
@agentek/tools
- The main package containing all tools@agentek/ai-sdk
- AI SDK integration for Vercel AI SDK@agentek/mcp-server
- Model Context Protocol server
Requirements
- Node.js >= 18.0.0
- npm, yarn, or pnpm
Installation
You can install the entire toolkit:
npm install @agentek/tools
AI SDK:
npm install @agentek/ai-sdk
Usage
Using the full toolkit
import { createAgentekClient, allTools } from '@agentek/tools';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const client = createAgentekClient({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools: allTools({})
});
// Execute a tool
const result = await client.execute('getERC20BalanceTool', {
address: '0x...',
tokenAddress: '0x...'
});
Using with AI SDK
import { createAgentekClient, allTools } from '@agentek/tools';
import { AgentekToolkit } from '@agentek/ai-sdk';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const toolkit = new AgentekToolkit({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools: allTools({})
});
// Get tools for Vercel AI SDK
const aiTools = toolkit.getTools();
Using the MCP Server
The MCP (Model Context Protocol) server allows you to expose Agentek tools to LLMs via the Model Context Protocol. For more information, see the MCP Server README
Tools (114 total)
Available Tools
- resolveENS
- lookupENS
- getAllowance
- getBalanceOf
- getTotalSupply
- getDecimals
- getName
- getSymbol
- getTokenMetadata
- intentApprove
- getAcrossFeeQuote
- intentDepositAcross
- intentTransfer
- intentTransferFrom
- getLatestTokens
- getBalance
- getCode
- getTransactionCount
- getBlock
- getBlockNumber
- getGasPrice
- estimateGas
- getFeeHistory
- getTransaction
- getTransactionReceipt
- getUniV3Pool
- getUserPositions
- getPoolFeeData
- getPositionDetails
- intentMintPosition
- intentIncreaseLiquidity
- intentDecreaseLiquidity
- intentCollectFees
- intentTransferPosition
- depositWETH
- withdrawWETH
- getNaniProposals
- intentStakeNani
- intentUnstakeNani
- intentProposeNani
- intentVoteNaniProposal
- getNativeCoinHolders
- getAddressInfo
- getAddressCounters
- getAddressTransactions
- getAddressTokenTransfers
- getAddressInternalTransactions
- getAddressLogs
- getAddressBlocksValidated
- getAddressTokenBalances
- getAddressTokens
- getAddressCoinBalanceHistory
- getAddressCoinBalanceHistoryByDay
- getAddressWithdrawals
- getAddressNFTs
- getAddressNFTCollections
- getBlockInfo
- getBlockTransactions
- getBlockWithdrawals
- getStats
- getTransactionsChart
- getTransactionInfo
- getTransactionTokenTransfers
- getTransactionInternalTransactions
- getTransactionLogs
- getTransactionRawTrace
- getTransactionStateChanges
- getTransactionSummary
- getSmartContracts
- getSmartContract
- getTokenInfo
- getTokenHolders
- getTokenTransfers
- getBlockscoutSearch
- getAaveUserData
- getAaveReserveData
- intentAaveDeposit
- intentAaveWithdraw
- intentAaveBorrow
- intentAaveRepay
- checkMaliciousAddress
- checkMaliciousWebsite
- scrapeWebContent
- getFearAndGreedIndex
- getSlowStatus
- predictTransferId
- canUnlockSlow
- getCanReverseSlowTransfer
- getSlowGuardianInfo
- getSlowTransferApprovalRequired
- intentDepositToSlow
- intentSetSlowGuardian
- intentWithdrawFromSlow
- intentApproveSlowTransfer
- intentUnlockSlow
- intentReverseSlowTransfer
- getNFTMetadata
- getCryptoPrice
- estimateGasCost
- getTokenChart
- getYieldTool
- compareYieldTool
- getYieldHistoryTool
- compareYieldHistoryTool
- think
- askPerplexitySearch
- intent0xSwap
- tallyProposals
- tallyChains
- tallyUserDaos
- intentGovernorVote
- intentGovernorVoteWithReason
- getLatestCoindeskNewsTool
- getMarketEvents
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.