About server
server is an MCP server published by git+NaniDAO in the AI category: 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. It has been installed 0 times through Conduid.
Install
npx @agentek/mcp-serverclaude mcp add agentek -- npx -y @agentek/mcp-servernpx -y @agentek/mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about server
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
agentek
An extensible TypeScript toolkit for EVM blockchain interactions. 165 composable tools covering on-chain actions, DeFi protocols, market data, and off-chain services — designed for AI agents, MCP clients, and developers.
Quick Start
CLI (fastest way to try it):
npx @agentek/cli list # browse all 165 tools
npx @agentek/cli info getBalance # inspect a specific tool
npx @agentek/cli exec getBalance '{"chainId":1,"address":"vitalik.eth"}'
MCP Server (for Claude Desktop, Cursor, etc.):
pnpx @agentek/mcp-server
TypeScript SDK:
pnpm add @agentek/tools
Packages
| Package | Description | Version |
|---|---|---|
@agentek/tools |
Core toolkit — all 165 tools | 0.1.26 |
@agentek/ai-sdk |
Vercel AI SDK integration | 0.1.26 |
@agentek/mcp-server |
Model Context Protocol server | 0.1.26 |
@agentek/cli |
Command-line interface | 0.0.2 |
Requirements
- Node.js >= 18.17.0
- pnpm (for development)
Installation
# Core tools
pnpm add @agentek/tools viem zod
# Vercel AI SDK integration
pnpm add @agentek/ai-sdk @agentek/tools viem zod
Usage
Using with Vercel AI SDK
import { allTools } from '@agentek/tools';
import { AgentekToolkit } from '@agentek/ai-sdk';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const tools = await allTools({
perplexityApiKey: process.env.PERPLEXITY_API_KEY,
zeroxApiKey: process.env.ZEROX_API_KEY,
});
const toolkit = new AgentekToolkit({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools,
});
// Pass to Vercel AI SDK
const aiTools = toolkit.getTools();
Using the toolkit directly
import { createAgentekClient, allTools } from '@agentek/tools';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const tools = await allTools({});
const client = createAgentekClient({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools,
});
const result = await client.execute('getBalance', {
address: '0x...',
chainId: 1,
});
Using the MCP Server
Add to your claude_desktop_config.json:
{
"mcpServers": {
"agentek": {
"command": "pnpx",
"args": ["@agentek/mcp-server"],
"env": {
"ACCOUNT": "YOUR_ETHEREUM_ADDRESS",
"PERPLEXITY_API_KEY": "...",
"TALLY_API_KEY": "..."
}
}
}
}
Use ACCOUNT for read-only access. Add PRIVATE_KEY only if you need to execute transactions.
See the MCP Server README for full configuration details.
Using the CLI
# List all available tools
npx @agentek/cli list
# Search for tools by keyword
npx @agentek/cli search "swap"
# Get detailed info about a tool
npx @agentek/cli info intentApprove
# Execute a tool
npx @agentek/cli exec getCryptoPrice '{"coinId":"ethereum"}'
See the CLI Guide for complete documentation.
Composing a custom tool set
You don't have to use all 165 tools. Import only what you need:
import { rpcTools, erc20Tools, defillamaTools } from '@agentek/tools';
const tools = [
...rpcTools(),
...erc20Tools(),
...defillamaTools(),
];
Tools (165 total)
Blockchain Core
| Module | Tools | Description |
|---|---|---|
| rpc | 11 | getBalance, getBlock, getBlockNumber, getGasPrice, getTransaction, getTransactionReceipt, getCode, getTransactionCount, estimateGas, getFeeHistory, intentSendTransaction |
| erc20 | 8 | getBalanceOf, getAllowance, getTotalSupply, getDecimals, getName, getSymbol, getTokenMetadata, intentApprove |
| transfer | 2 | intentTransfer, intentTransferFrom |
| erc721 | 1 | getNFTMetadata |
| erc6909 | 3 | Token balance, metadata, and transfer intents |
| ens | 2 | resolveENS, lookupENS |
| wns | 19 | resolveWNS, isAvailableWNS, intentRegisterWNS, and 16 more naming tools |
DeFi
| Module | Tools | Description |
|---|---|---|
| aave | 6 | Lending/borrowing: getAaveUserData, getAaveReserveData, deposit, withdraw, borrow, repay intents |
| uniV3 | 9 | Liquidity: getUniV3Pool, getUserPositions, getPoolFeeData, mint/increase/decrease/collect/transfer intents |
| swap | 1 | intent0xSwap — token swaps via 0x aggregator |
| weth | 2 | depositWETH, withdrawWETH |
| zamm | 5 | getPool, getSwaps, getAccountPortfolio, and swap/liquidity tools |
| zrouter | 2 | getQuote, swap — cross-DEX routing |
| x402 | 3 | x402Fetch, getX402PaymentInfo, x402DiscoverResources — HTTP 402 payments |
| defillama | 5 | getYieldTool, compareYieldTool, getYieldHistoryTool, compareYieldHistoryTool, getTokenChart |
Cross-Chain
| Module | Tools | Description |
|---|---|---|
| across | 2 | getAcrossFeeQuote, intentDepositAcross |
| slowTransfer | 12 | Slow-release transfers with guardian controls |
Market Data
| Module | Tools | Description |
|---|---|---|
| dexscreener | 1 | getLatestTokens — trending token discovery |
| cryptoprices | 1 | getCryptoPrice — current prices via CoinGecko |
| coindesk | 1 | getLatestCoindeskNewsTool — crypto news |
| coinmarketcal | 1 | getMarketEvents — upcoming market events |
| feargreed | 1 | getFearAndGreedIndex |
| gasestimator | 1 | estimateGasCost — gas cost in USD |
Block Explorer (Blockscout)
33 tools covering addresses, transactions, blocks, tokens, smart contracts, and search across supported networks.
Governance
| Module | Tools | Description |
|---|---|---|
| tally | 5 | tallyProposals, tallyChains, tallyUserDaos, intentGovernorVote, intentGovernorVoteWithReason |
| nani | 5 | getNaniProposals, intentStakeNani, intentUnstakeNani, intentProposeNani, intentVoteNaniProposal |
| coinchan | 8 | Coin creation, vesting, airdrops |
Social & Web
| Module | Tools | Description |
|---|---|---|
| 5 | searchRecentTweets, getTweetById, getXUserByUsername, getXUserTweets, getHomeTimeline |
|
| web | 1 | scrapeWebContent |
| search | 1 | askPerplexitySearch |
| imagegen | 1 | generateAndPinImage — AI image generation + IPFS pinning |
Security & Utility
| Module | Tools | Description |
|---|---|---|
| security | 2 | checkMaliciousAddress, checkMaliciousWebsite |
| btc-rpc | 4 | getBtcAddressInfo, getBtcTxDetails, getBtcBlockTxids, getLatestBtcBlock |
| think | 1 | Reasoning step for multi-step agent workflows |
Supported Networks
- Ethereum Mainnet
- Optimism
- Arbitrum
- Polygon
- Base
Environment Variables
Most tools work without any API keys. Optional keys unlock additional features:
| Variable | Required for |
|---|---|
PRIVATE_KEY |
Executing transactions (intent tools) |
ACCOUNT |
Read-only address context (alternative to PRIVATE_KEY) |
PERPLEXITY_API_KEY |
AI-powered search |
ZEROX_API_KEY |
Token swaps via 0x |
TALLY_API_KEY |
Governance data |
COINDESK_API_KEY |
Crypto news |
COINMARKETCAL_API_KEY |
Market events calendar |
FIREWORKS_API_KEY |
AI image generation |
PINATA_JWT |
IPFS pinning (paired with FIREWORKS_API_KEY) |
X_BEARER_TOKEN |
Twitter/X read-only access |
X_API_KEY + X_API_KEY_SECRET |
Twitter/X OAuth (full access) |
Copy the example to get started:
cp .env.example .env
Development
git clone https://github.com/NaniDAO/agentek.git
cd agentek
pnpm i
pnpm run build
pnpm run test
Interested in contributing? Check out our CONTRIBUTING.md guide.
License
README mirrored from the source repository 5 months ago. The original is authoritative.