@covalenthq/goldrush-mcp-server
Version:
GoldRush MCP Server for interacting with Covalent GoldRush API
219 lines • 19.5 kB
JavaScript
export const TOOL_DESCRIPTIONS = {
gas_prices: "Get real-time gas estimates for different transaction speeds on a specific network, enabling users to optimize transaction costs and confirmation times.",
block: "Commonly used to fetch and render a single block for a block explorer.",
block_heights: "Commonly used to get all the block heights within a particular date range. Useful for rendering a display where you sort blocks by day.",
log_events_by_address: "Commonly used to get all the event logs emitted from a particular contract address. Useful for building dashboards that examine on-chain interactions.",
log_events_by_topic: "Commonly used to get all event logs of the same topic hash across all contracts within a particular chain. Useful for cross-sectional analysis of event logs that are emitted on-chain.",
resolve_address: "Commonly used to resolve ENS, RNS and Unstoppable Domains addresses. Only supports the resolution of a registered domain to an address.",
token_balances: "Commonly used to fetch the native and fungible (ERC20) tokens held by an address. Response includes spot prices and other metadata.",
historical_token_balances: "Commonly used to fetch the historical native and fungible (ERC20) tokens held by an address at a given block height or date. Response includes daily prices and other metadata.",
historical_portfolio_value: "Commonly used to render a daily portfolio balance for an address broken down by the token. The timeframe is user-configurable, defaults to 30 days.",
erc20_token_transfers: "Commonly used to render the transfer-in and transfer-out of a token along with historical prices from an address.",
token_holders: "Used to get a paginated list of current or historical token holders for a specified ERC20 or ERC721 token. ",
native_token_balance: "Lightweight endpoint to just get the native token balance for an EVM address. ",
transaction: "Used to fetch and render a single transaction including its decoded event logs. For foundational chains, can also retrieve internal transactions, state changes and method ID where available. ",
transaction_summary: "Used to fetch the earliest and latest transactions, and the transaction count for a wallet. Also enriched with gas expenditure details and total ERC20 token transfers count.",
transactions_for_address: "Commonly used to fetch the transactions involving an address including the decoded log events in a paginated fashion.",
transactions_for_block: "Commonly used to fetch all transactions including their decoded log events in a block and further flag interesting wallets or transactions.",
multichain_transactions: "Fetch paginated transactions for up to 10 EVM addresses and 10 EVM chains with one API call. Useful for building Activity Feeds. ",
multichain_balances: "Fetch paginated spot & historical native and token balances for a single address on up to 10 EVM chains with one API call.",
multichain_address_activity: "Commonly used to locate chains which an address is active on with a single API call.",
nft_for_address: "Commonly used to render the NFTs (including ERC721 and ERC1155) held by an address.",
nft_check_ownership: "Commonly used to verify ownership of NFTs (including ERC-721 and ERC-1155) within a collection.",
nft_check_ownership_token_id: "Commonly used to verify ownership of a specific token (ERC-721 or ERC-1155) within a collection.",
bitcoin_hd_wallet_balances: "Fetch balances for each active child address derived from a Bitcoin HD wallet. ",
bitcoin_transactions: "Used to fetch the full transaction history of a Bitcoin non-HD wallet address. ",
bitcoin_non_hd_wallet_balances: "Fetch Bitcoin balance for a non-HD address. Response includes spot prices and other metadata.",
historical_token_prices: "Get the historical prices of one (or many) large cap ERC20 tokens between specified date ranges. Also supports native tokens.",
pool_spot_prices: "Get the spot token pair prices for a specified pool contract address. Supports pools on Uniswap V2, V3 and their forks. ",
token_approvals: "Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet’s assets.",
};
export const PARAM_DESCRIPTIONS = {
gas_prices: {
chainName: "The chain name eg: `eth-mainnet`.",
eventType: "The desired event type to retrieve gas prices for. Supports `erc20` transfer events, `uniswapv3` swap events and `nativetokens` transfers.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
},
block: {
chainName: "The chain name eg: `eth-mainnet`.",
blockHeight: "The block height or `latest` for the latest block available.",
},
block_heights: {
chainName: "The chain name eg: `eth-mainnet`.",
startDate: "The start date in YYYY-MM-DD format.",
endDate: "The end date in YYYY-MM-DD format or `latest` for the latest block available.",
pageSize: "Number of items per page. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
log_events_by_address: {
chainName: "The chain name eg: `eth-mainnet`.",
contractAddress: "The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
startingBlock: "The first block to retrieve log events with. Accepts decimals, hexadecimals, or the strings `earliest` and `latest`.",
endingBlock: "The last block to retrieve log events with. Accepts decimals, hexadecimals, or the strings `earliest` and `latest`.",
pageSize: "Number of items per page. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
log_events_by_topic: {
chainName: "The chain name eg: `eth-mainnet`.",
topicHash: "The endpoint will return event logs that contain this topic hash.",
startingBlock: "The first block to retrieve log events with. Accepts decimals, hexadecimals, or the strings `earliest` and `latest`.",
endingBlock: "The last block to retrieve log events with. Accepts decimals, hexadecimals, or the strings `earliest` and `latest`.",
secondaryTopics: "Additional topic hash(es) to filter on - padded & unpadded address fields are supported. Separate multiple topics with a comma.",
pageSize: "Number of items per page. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
resolve_address: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
},
token_balances: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
noSpam: "If `true`, the suspected spam tokens are removed. Supported on all Foundational Chains.",
},
historical_token_balances: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
noSpam: "If `true`, the suspected spam tokens are removed. Supported on all Foundational Chains.",
blockHeight: "Ending block to define a block range. Omitting this parameter defaults to the latest block height.",
date: "Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.",
},
historical_portfolio_value: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
days: "The number of days to return data for. Defaults to 30 days.",
},
erc20_token_transfers: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
contractAddress: "The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
startingBlock: "The block height to start from, defaults to `0`.",
endingBlock: "The block height to end at, defaults to current block height.",
pageSize: "Number of items per page. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
token_holders: {
chainName: "The chain name eg: `eth-mainnet`.",
tokenAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
noSnapshot: "Defaults to `false`. Set to `true` to bypass last snapshot and get the latest token holders list.",
blockHeight: "Ending block to define a block range. Omitting this parameter defaults to the latest block height.",
date: "Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.",
pageSize: "Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
native_token_balance: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
blockHeight: "Ending block to define a block range. Omitting this parameter defaults to the latest block height.",
},
transaction: {
chainName: "The chain name eg: `eth-mainnet`.",
txHash: "The transaction hash.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
noLogs: "Omit log events.",
withInternal: "Whether to include internal transfers/transactions.",
withState: "Whether to include all transaction state changes with before and after values.",
withInputData: "Whether to include the transaction's input data such as the Method ID.",
},
transaction_summary: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
withGas: "Include gas summary details. Response times may be impacted for wallets with large number of transactions.",
withTransferCount: "Represents the total count of ERC-20 token movement events, including `Transfer`, `Deposit` and `Withdraw`. Response times may be impacted for wallets with large number of transactions.",
},
transactions_for_address: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
page: "The requested page, 0-indexed.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
noLogs: "Omit log events.",
blockSignedAtAsc: "Sort the transactions in ascending chronological order. By default, it's set to `false` and returns transactions in descending chronological order.",
},
transactions_for_block: {
chainName: "The chain name eg: `eth-mainnet`.",
blockHeight: "The requested block height.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
noLogs: "Omit log events.",
},
multichain_transactions: {
chains: "Comma separated list of chain names or IDs to retrieve transactions from. Defaults to all foundational chains.",
addresses: "Comma separated list of addresses for which transactions are fetched.",
limit: "Number of transactions to return per page, up to the default max of 100 items.",
before: "Pagination cursor pointing to fetch transactions before a certain point.",
after: "Pagination cursor pointing to fetch transactions after a certain point.",
withLogs: "Whether to include raw logs in the response.",
withDecodedLogs: "Whether to include decoded logs in the response.",
withInternal: "Whether to include internal transfers/transactions.",
withState: "Whether to include all transaction state changes with before and after values.",
withInputData: "Whether to include the transaction's input data such as the Method ID.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, `GBP`, `BTC` and `ETH`.",
},
multichain_balances: {
walletAddress: "The requested address. Domain names (e.g. `demo.eth`) NOT supported.",
chains: "Comma separated list of chain names or IDs to retrieve token balances from. Defaults to all foundational chains.",
limit: "Number of token balances to return per page, up to the default max of 100 items.",
before: "Pagination cursor pointing to fetch token balances before a certain point.",
cutoffTimestamp: "UNIX timestamp to retrieve the balance snapshot from the nearest block before the specified cutoff time.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, `GBP`, `BTC` and `ETH`.",
},
multichain_address_activity: {
walletAddress: "The requested wallet address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
testnets: "Set to true to include testnets with activity in the response. By default, it's set to `false` and only returns mainnet activity.",
},
nft_for_address: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
noSpam: "If `true`, the suspected spam tokens are removed. Supported on all Foundational Chains.",
noNftAssetMetadata: "If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.",
},
nft_check_ownership: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
collectionContract: "The requested collection address.",
traitsFilter: 'Filters NFTs based on a specific trait. If this filter is used, the API will return all NFTs with the specified trait. Must be used with "values-filter", is case-sensitive, and requires proper URL encoding.',
valuesFilter: 'Filters NFTs based on a specific trait value. If this filter is used, the API will return all NFTs with the specified trait value. Must be used with "traits-filter", is case-sensitive, and requires proper URL encoding.',
},
nft_check_ownership_token_id: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
collectionContract: "The requested collection address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
tokenId: "The requested token ID.",
},
bitcoin_hd_wallet_balances: {
walletAddress: "The extended public key (xPub/yPub/zPub) of the HD wallet.",
quoteCurrency: "The currency to convert the balance to. Supports `USD`, `CAD`, `EUR`, etc.",
},
bitcoin_transactions: {
address: "The bitcoin address to query.",
pageSize: "Number of items per page. Omitting this parameter defaults to 100.",
pageNumber: "0-indexed page number to begin pagination.",
},
bitcoin_non_hd_wallet_balances: {
walletAddress: "The requested bitcoin non-HD address.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
},
historical_token_prices: {
chainName: "The chain name eg: `eth-mainnet`.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
contractAddress: "Contract address for the token. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically. Supports multiple contract addresses separated by commas.",
from: "The start day of the historical price range (YYYY-MM-DD).",
to: "The end day of the historical price range (YYYY-MM-DD).",
pricesAtAsc: "Sort the prices in chronological ascending order. By default, it's set to `false` and returns prices in chronological descending order.",
},
pool_spot_prices: {
chainName: "The chain name eg: `eth-mainnet`.",
contractAddress: "The pool contract address.",
quoteCurrency: "The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.",
},
token_approvals: {
chainName: "The chain name eg: `eth-mainnet`.",
walletAddress: "The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.",
},
};
//# sourceMappingURL=generated-descriptions.js.map