Skip to main content
Glama

helius_search_assets

Search and filter Solana blockchain assets using criteria like owner address, creator address, JSON URI, supply mint, and more via MCP Helius. Retrieve precise asset data efficiently.

Instructions

Search for assets using various filters

Input Schema

NameRequiredDescriptionDefault
afterNo
beforeNo
burntNo
compressedNo
creatorAddressNo
cursorNo
delegateNo
frozenNo
groupingNo
jsonUriNo
limitNo
ownerAddressNo
pageNo
supplyNo
supplyMintNo

Input Schema (JSON Schema)

{ "anyOf": [ { "required": [ "ownerAddress" ] }, { "required": [ "creatorAddress" ] }, { "required": [ "jsonUri" ] }, { "required": [ "supplyMint" ] }, { "required": [ "delegate" ] }, { "required": [ "burnt" ] }, { "required": [ "frozen" ] }, { "required": [ "compressed" ] } ], "properties": { "after": { "type": "string" }, "before": { "type": "string" }, "burnt": { "type": "boolean" }, "compressed": { "type": "boolean" }, "creatorAddress": { "type": "string" }, "cursor": { "type": "string" }, "delegate": { "type": "string" }, "frozen": { "type": "boolean" }, "grouping": { "items": { "type": "string" }, "type": "array" }, "jsonUri": { "type": "string" }, "limit": { "type": "number" }, "ownerAddress": { "type": "string" }, "page": { "type": "number" }, "supply": { "type": "number" }, "supplyMint": { "type": "string" } }, "type": "object" }

Implementation Reference

  • The main handler function executing the helius_search_assets tool logic by calling the Helius RPC searchAssets method.
    export const searchAssetsHandler = async (input: SearchAssetsInput): Promise<ToolResultSchema> => { try { const assets = await (helius as any as Helius).rpc.searchAssets(input); if (!assets || assets.items.length === 0) { return createErrorResponse(`No assets found for search: ${JSON.stringify(input, null, 2)}`); } return createSuccessResponse(`Search results: ${JSON.stringify(assets, null, 2)}`); } catch (error) { return createErrorResponse(`Error searching assets: ${error instanceof Error ? error.message : String(error)}`); } }
  • Input schema (JSON Schema) for validating inputs to the helius_search_assets tool, exported in the tools array.
    { name: 'helius_search_assets', description: 'Search for assets using various filters', inputSchema: { type: 'object', properties: { page: { type: 'number' }, limit: { type: 'number' }, cursor: { type: 'string' }, before: { type: 'string' }, after: { type: 'string' }, creatorAddress: { type: 'string' }, ownerAddress: { type: 'string' }, jsonUri: { type: 'string' }, grouping: { type: 'array', items: { type: 'string' } }, burnt: { type: 'boolean' }, frozen: { type: 'boolean' }, supplyMint: { type: 'string' }, supply: { type: 'number' }, delegate: { type: 'string' }, compressed: { type: 'boolean' } }, // At least one filter parameter should be provided anyOf: [ { required: ['ownerAddress'] }, { required: ['creatorAddress'] }, { required: ['jsonUri'] }, { required: ['supplyMint'] }, { required: ['delegate'] }, { required: ['burnt'] }, { required: ['frozen'] }, { required: ['compressed'] } ] } },
  • src/tools.ts:549-592 (registration)
    Registration of the tool name 'helius_search_assets' mapped to the searchAssetsHandler function in the handlers dictionary.
    export const handlers: handlerDictionary = { "helius_get_balance": getBalanceHandler, "helius_get_block_height": getBlockHeightHandler, "helius_get_token_accounts_by_owner": getTokenAccountsByOwnerHandler, "helius_get_token_supply": getTokenSupplyHandler, "helius_get_token_largest_accounts": getTokenLargestAccountsHandler, "helius_get_latest_blockhash": getLatestBlockhashHandler, "helius_get_token_account_balance": getTokenAccountBalanceHandler, "helius_get_slot": getSlotHandler, "helius_get_transaction": getTransactionHandler, // New handlers "helius_get_account_info": getAccountInfoHandler, "helius_get_program_accounts": getProgramAccountsHandler, "helius_get_signatures_for_address": getSignaturesForAddressHandler, "helius_get_minimum_balance_for_rent_exemption": getMinimumBalanceForRentExemptionHandler, "helius_get_multiple_accounts": getMultipleAccountsHandler, "helius_get_inflation_reward": getInflationRewardHandler, "helius_get_epoch_info": getEpochInfoHandler, "helius_get_epoch_schedule": getEpochScheduleHandler, "helius_get_leader_schedule": getLeaderScheduleHandler, "helius_get_recent_performance_samples": getRecentPerformanceSamplesHandler, "helius_get_version": getVersionHandler, // DAS Methods "helius_get_asset": helius.getAssetHandler, "helius_get_rwa_asset": helius.getRwaAssetHandler, "helius_get_asset_batch": helius.getAssetBatchHandler, "helius_get_asset_proof": helius.getAssetProofHandler, "helius_get_assets_by_group": helius.getAssetsByGroupHandler, "helius_get_assets_by_owner": helius.getAssetsByOwnerHandler, "helius_get_assets_by_creator": helius.getAssetsByCreatorHandler, "helius_get_assets_by_authority": helius.getAssetsByAuthorityHandler, "helius_search_assets": helius.searchAssetsHandler, "helius_get_signatures_for_asset": helius.getSignaturesForAssetHandler, "helius_get_nft_editions": helius.getNftEditionsHandler, "helius_get_token_accounts": helius.getTokenAccountsHandler, // Transaction and Fee Methods "helius_get_priority_fee_estimate": helius.getPriorityFeeEstimateHandler, "helius_poll_transaction_confirmation": helius.pollTransactionConfirmationHandler, "helius_send_jito_bundle": helius.sendJitoBundleHandler, "helius_get_bundle_statuses": helius.getBundleStatusesHandler, "helius_get_fee_for_message": getFeeForMessageHandler, "helius_execute_jupiter_swap": executeJupiterSwapHandler // "print_environment": printEnvironmentHandler, }
  • TypeScript type definition for SearchAssetsInput used to type the handler input parameter.
    export type SearchAssetsInput = { page?: number; limit?: number; cursor?: string; before?: string; after?: string; creatorAddress?: string; ownerAddress?: string; jsonUri?: string; grouping?: string[]; burnt?: boolean; frozen?: boolean; supplyMint?: string; supply?: number; delegate?: string; compressed?: boolean; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dcSpark/mcp-server-helius'

If you have feedback or need assistance with the MCP directory API, please join our Discord server