agentek-eth

agentek-eth

A MCP server offering tools for cryptocurrency research and Ethereum-based automation.

Category
Visit Server

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

agentek-logo-1

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

  1. resolveENS
  2. lookupENS
  3. getAllowance
  4. getBalanceOf
  5. getTotalSupply
  6. getDecimals
  7. getName
  8. getSymbol
  9. getTokenMetadata
  10. intentApprove
  11. getAcrossFeeQuote
  12. intentDepositAcross
  13. intentTransfer
  14. intentTransferFrom
  15. getLatestTokens
  16. getBalance
  17. getCode
  18. getTransactionCount
  19. getBlock
  20. getBlockNumber
  21. getGasPrice
  22. estimateGas
  23. getFeeHistory
  24. getTransaction
  25. getTransactionReceipt
  26. getUniV3Pool
  27. getUserPositions
  28. getPoolFeeData
  29. getPositionDetails
  30. intentMintPosition
  31. intentIncreaseLiquidity
  32. intentDecreaseLiquidity
  33. intentCollectFees
  34. intentTransferPosition
  35. depositWETH
  36. withdrawWETH
  37. getNaniProposals
  38. intentStakeNani
  39. intentUnstakeNani
  40. intentProposeNani
  41. intentVoteNaniProposal
  42. getNativeCoinHolders
  43. getAddressInfo
  44. getAddressCounters
  45. getAddressTransactions
  46. getAddressTokenTransfers
  47. getAddressInternalTransactions
  48. getAddressLogs
  49. getAddressBlocksValidated
  50. getAddressTokenBalances
  51. getAddressTokens
  52. getAddressCoinBalanceHistory
  53. getAddressCoinBalanceHistoryByDay
  54. getAddressWithdrawals
  55. getAddressNFTs
  56. getAddressNFTCollections
  57. getBlockInfo
  58. getBlockTransactions
  59. getBlockWithdrawals
  60. getStats
  61. getTransactionsChart
  62. getTransactionInfo
  63. getTransactionTokenTransfers
  64. getTransactionInternalTransactions
  65. getTransactionLogs
  66. getTransactionRawTrace
  67. getTransactionStateChanges
  68. getTransactionSummary
  69. getSmartContracts
  70. getSmartContract
  71. getTokenInfo
  72. getTokenHolders
  73. getTokenTransfers
  74. getBlockscoutSearch
  75. getAaveUserData
  76. getAaveReserveData
  77. intentAaveDeposit
  78. intentAaveWithdraw
  79. intentAaveBorrow
  80. intentAaveRepay
  81. checkMaliciousAddress
  82. checkMaliciousWebsite
  83. scrapeWebContent
  84. getFearAndGreedIndex
  85. getSlowStatus
  86. predictTransferId
  87. canUnlockSlow
  88. getCanReverseSlowTransfer
  89. getSlowGuardianInfo
  90. getSlowTransferApprovalRequired
  91. intentDepositToSlow
  92. intentSetSlowGuardian
  93. intentWithdrawFromSlow
  94. intentApproveSlowTransfer
  95. intentUnlockSlow
  96. intentReverseSlowTransfer
  97. getNFTMetadata
  98. getCryptoPrice
  99. estimateGasCost
  100. getTokenChart
  101. getYieldTool
  102. compareYieldTool
  103. getYieldHistoryTool
  104. compareYieldHistoryTool
  105. think
  106. askPerplexitySearch
  107. intent0xSwap
  108. tallyProposals
  109. tallyChains
  110. tallyUserDaos
  111. intentGovernorVote
  112. intentGovernorVoteWithReason
  113. getLatestCoindeskNewsTool
  114. getMarketEvents

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured