ToolTrust
B15/100
Smithery

emblemai-emblem-mcp

mcpsmithery

@Smithery

# EmblemAI MCP EmblemAI is a hosted Model Context Protocol server that gives AI agents a full-featured crypto wallet plus **200+ tools** for trading, DeFi, NFTs, and on-chain analytics across **7 blockchains**: - **Bitcoin** — native BTC, Ordinals inscriptions, Runes, BRC-20, Stamps / SRC-20, Alkanes, rare sats - **Solana** — SOL + SPL tokens, Jupiter-routed swaps, Solana memecoin discovery, RugCheck - **Ethereum** — native ETH, ERC-20, ERC-721 / ERC-1155 NFTs, ETH swaps - **Base** — native ETH on L2, ERC-20, NFTs, Clanker discovery - **BSC** — native BNB, BEP-20, FourMeme bonding-curve discovery and trading - **Polygon** — native MATIC, ERC-20, swaps - **Hedera** — HBAR, HTS tokens, MemeJob discovery and trading Plus prediction markets via **Polymarket**, market research, conditional orders (limit / stop-loss / take-profit) on supported chains, and on-chain analytics. ## Quick start The Smithery deployment connects directly to the hosted EmblemAI MCP at `https://emblemvault.ai/api/mcp`. You only need an API key: 1. Sign in at [emblemvault.ai](https://emblemvault.ai). 2. Open **Settings → Vault Access Key** and copy your key. 3. Paste it as the `apiKey` parameter in the Smithery connection form. Browsing tools (`tools/list`) works anonymously, so you can inspect the catalog before authenticating. ## Auth modes | Mode | When to use | Scope | | --- | --- | --- | | **API key** (`x-api-key`) | Unattended agents, cron jobs, server-to-server, any workflow that mints tokens or sends transactions | Full read + write, no expiry until revoked | | **OAuth 2.0 + PKCE** (RFC 7591 Dynamic Client Registration) | Interactive sessions where a human can click a browser popup | Read-only `vault:read`, short-lived JWT | | **x402 micropayments** | Pay-per-call across the public catalog without an account | Per-tool-call USDC settlement | The Smithery deployment defaults to the API-key path, configured via the `apiKey` parameter (sent to the upstream as the `x-api-key` header). ## Enabling transactional tools State-changing tools (sends, swaps, mints, conditional-trade creates) are hidden by default. Opt in by setting the `enableTransactions` parameter to `enabled` — Smithery's gateway forwards it as the `x-mcp-transactions: enabled` header. Transactional tools then surface in `tools/list` with a `-transaction` suffix, which makes them easy to allow- or block-list with wildcard rules in the host client. Note: transactional tools also require API-key auth — OAuth bearers do not pass the `vault:write` gate. ## Specialized listings (filter) The full 200-tool surface is wide. For Bitcoin-only, Solana-only, or any other curated slice, use the stdio bridge `@emblemvault/mcp` (npm) and set: ``` EMBLEMAI_TOOLS_FILTER="bitcoin*,*Rune*,*Inscription*" ``` The bridge applies the glob filter to both `tools/list` and `tools/call`, exposing only the matching subset to the host LLM. The hosted Smithery deployment always exposes the full catalog; the filter is a stdio-side feature. ## Categories Trading · DeFi · NFTs · Wallet · Bitcoin Ordinals · Polymarket prediction markets · Cross-chain · Market analytics · Research / web search. ## Links - Hosted MCP: `https://emblemvault.ai/api/mcp` - Stdio bridge: `@emblemvault/mcp` ([github](https://github.com/EmblemCompany/Agent-skills/tree/main/mcp-bridge)) - Repo: [EmblemCompany/Agent-skills](https://github.com/EmblemCompany/Agent-skills) - Web app: [emblemvault.ai](https://emblemvault.ai) - Glama listing: [glama.ai/mcp/servers/EmblemCompany/Agent-skills](https://glama.ai/mcp/servers/EmblemCompany/Agent-skills) - Docs: [emblemvault.ai/docs/mcp](https://emblemvault.ai/docs/mcp) ## License MIT (stdio bridge + documentation). Hosted MCP is managed SaaS.

By Smithery | 231 findings | Scanned 7/3/2026 | tooltrust-scanner/v0.3.19

3 High35 Low193 Info

Risk Summary

Safe With Normal Controls

Dep Visibility is the main signal, but overall risk remains within an acceptable range.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: No high-risk findings were detected in this scan, but you should still apply least-privilege defaults and rescan after changes.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (231)

  • HighAS-013

    👥Tool Shadowing ×3

    tool name "getPolyMarketEvents" duplicates "getPolyMarketEvents" already registered in this tool set — a malicious server can shadow a trusted tool by registering an identical name

    getPolyMarketEvents

    tool name "getPolyMarketEventsByTag" duplicates "getPolyMarketEventsByTag" already registered in this tool set — a malicious server can shadow a trusted tool by registering an identical name

    getPolyMarketEventsByTag

    tool name "getPolyMarketTags" duplicates "getPolyMarketTags" already registered in this tool set — a malicious server can shadow a trusted tool by registering an identical name

    getPolyMarketTags

    Fix: Two or more tools registered in your MCP environment share an identical or near-identical name. A malicious server can shadow a trusted tool this way, intercepting calls you intend for the legitimate tool. Remove the conflicting server or rename its tools to be unambiguous.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×33

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    firecrawlExtractwebsearchbaseSwapQuotegetCoinglassBorrowInterestRategetCoinglassOpenInterestHistorygetCoinglassOptionsInfoethSwapQuotehederaContractIdToEvmAddresshederaFindMemeCoinshederaTokensSwapQuotegetAlkaneInfogetBRC20TokenInfogetCollectionInfogetInscriptionInfogetInscriptionTraitsgetLatestInscriptionsgetRuneInfogetSRC20TokengetStampgetTrendingCoinsinscriptionTransferActivitysearchCryptoByNamesearchSRC20TokenssearchStampssearchPolyMarketEventsfindPositionByIdgetAllPositionslistPositionssearchEvmTokensBirdeyewalletfindSolanaGemssolanaGetTokenPairPricesolanaGetTokenPrices

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    ⚠️Excessive Permissions ×2

    input schema exposes 16 properties (threshold: 10)

    findSolanaGems

    input schema exposes 25 properties (threshold: 10)

    getPumpFunTokens

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-002

    ⚠️Excessive Permissions ×37

    declared capabilities: network access

    firecrawlExtractwebsearchbaseSwapQuoteethSwapQuotehederaTokensSwapQuotegetAlkaneInfogetBRC20TokenInfogetCollectionInfogetLatestInscriptionsgetRuneInfogetSRC20TokengetStampsearchCryptoByNamesearchSRC20TokenssearchPolyMarketEventsfindPositionByIdgetAllPositionslistPositionssearchEvmTokensBirdeyewalletsolanaGetTokenPrices

    declared capabilities: HTTP requests

    getCoinglassBorrowInterestRategetCoinglassOpenInterestHistorygetCoinglassOptionsInfogetTrendingCoinsfindSolanaGems

    declared capabilities: database access

    hederaAccountIdToEvmAddresshederaFindTokensgetPumpFunTokens

    declared capabilities: network access, database access

    hederaContractIdToEvmAddresssearchStamps

    declared capabilities: filesystem access, HTTP requests

    hederaFindMemeCoins

    declared capabilities: filesystem access

    nansen_wallet_profiler

    declared capabilities: code/command execution, network access

    getInscriptionInfogetInscriptionTraits

    declared capabilities: code/command execution

    inscriptionTransferActivitysolanaGetTokenPairPrice

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×133

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    firecrawlExtractwebsearchbaseFindClankerTokensbaseGetBalancesbaseSwapQuotebscfindMemeCoinsViaFourMemebscGetBalancesbscSwapQuoteisFourMemeTokengetCoinglassBitcoinEtfListgetCoinglassBitcoinETFNetAssetsHistorygetCoinglassBitfinexMarginDatagetCoinglassBorrowInterestRategetCoinglassCDRIIndexgetCoinglassCGDIIndexgetCoinglassEthereumEtfListgetCoinglassEthereumETFNetAssetsHistorygetCoinglassExchangeAssetsgetCoinglassExchangeBalanceListgetCoinglassFutureBasisgetCoinglassFuturesWhaleIndexgetCoinglassGrayscaleHoldingsgetCoinglassHyperliquidWhaleAlertgetCoinglassHyperliquidWhalePositiongetCoinglassOnChainTransfersgetCoinglassOpenInterestHistorygetCoinglassOptionsInfogetCoinglassPremiumIndexemblemGetCollectionAssetsemblemGetDepositAddressemblemListCollectionsemblemListMyVaultsemblemResolveAssetethGetBalancesethSwapQuotehederaAccountIdToEvmAddresshederaContractIdToEvmAddresshederaFindMemeCoinshederaFindTokenshederaTokensSwapQuotenansen_defi_portfolionansen_perp_positionsnansen_pnl_leaderboardnansen_smart_money_flowsnansen_smart_money_holdingsnansen_smart_money_tradesnansen_token_screenernansen_wallet_profilernansen_who_bought_soldopenseaGetBestListingsopenseaGetCollectionActivityopenseaGetCollectionStatsopenseaGetMyNFTsopenseaGetNFTListingsopenseaGetNFTOffersopenseaGetTrendingCollectionscheckRuneUnlockgetAlkaneAddressBalancegetAlkaneAddressUTXOsgetAlkaneInfogetBitcoinCollectionsgetBRC20ActivitygetBRC20TokenInfogetBTCBalancesgetCollectionInfogetCollectionInscriptionsgetCollectionMarketInfogetCollectionVolumegetCryptoPricegetInscriptionActivitygetInscriptionInfogetInscriptionsByAddressgetInscriptionTraitsgetLatestInscriptionsgetLatestRunesgetMagicEdenRunePricegetOwnedInscriptionIdsgetRareSatsgetRecentStampsgetRuneBalancesgetRuneInfogetRuneMarketInfogetRunesActivitygetSatRangesForUTXOgetSRC20TokengetStampgetStampsByAddressgetTopBRC20ByMarketCapgetTopBRC20ByVolumegetTopCollectionsByFloorgetTopCollectionsByVolumegetTopRunesByMarketCapgetTopRunesByVolumegetTrendingCoinsgetUtxoRunesgetXCPBalancesinscriptionTransferActivitylistAlkaneslistBRC20TokensrareSatsForUTXOsearchCryptoByNamesearchSRC20TokenssearchStampsgetPolyMarketEventsgetPolyMarketEventsByTaggetPolyMarketTagspolygonGetBalancespolygonSwapQuotegetPolyMarketEventgetPolyMarketEventsgetPolyMarketEventsByTaggetPolyMarketTagsgetPolyMarketUserPositionssearchPolyMarketEventsbirdeyeTradeDatabirdeyeTrendingTokensfindPositionByIdgetAllPositionsgetChangeNowSupportedCurrenciesgetChangeNowSwapQuotegetLeaderboardlistPositionssearchEvmTokensBirdeyetokenMetadataInfowalletdiscoverLaunchLabTokensfindSolanaGemsfindSolanaSwapTokengetPumpFunTokensrugchecksolanaBalancessolanaGetTokenPairPricesolanaGetTokenPrices

    Fix: Review and remediate the identified issue.

  • InfoAS-010

    🔑Insecure Secret Handling ×23

    input parameter "toTokenAddress" accepts a credential (informational; not evidence of insecure handling)

    baseSwapQuotebscSwapQuoteethSwapQuotepolygonSwapQuote

    input parameter "fromTokenAddress" accepts a credential (informational; not evidence of insecure handling)

    baseSwapQuotebscSwapQuoteethSwapQuotepolygonSwapQuote

    input parameter "tokenName" accepts a credential (informational; not evidence of insecure handling)

    bscfindMemeCoinsViaFourMemefindSolanaSwapToken

    input parameter "tokenAddress" accepts a credential (informational; not evidence of insecure handling)

    isFourMemeToken

    input parameter "tokenId" accepts a credential (informational; not evidence of insecure handling)

    emblemGetDepositAddressopenseaGetNFTListingsopenseaGetNFTOffers

    input parameter "fromTokenDecimals" accepts a credential (informational; not evidence of insecure handling)

    hederaTokensSwapQuote

    input parameter "toTokenId" accepts a credential (informational; not evidence of insecure handling)

    hederaTokensSwapQuote

    input parameter "fromTokenId" accepts a credential (informational; not evidence of insecure handling)

    hederaTokensSwapQuote

    input parameter "toTokenDecimals" accepts a credential (informational; not evidence of insecure handling)

    hederaTokensSwapQuote

    input parameter "token_symbol" accepts a credential (informational; not evidence of insecure handling)

    nansen_perp_positions

    input parameter "token_address" accepts a credential (informational; not evidence of insecure handling)

    nansen_pnl_leaderboardnansen_who_bought_sold

    input parameter "tokenMint" accepts a credential (informational; not evidence of insecure handling)

    rugcheck

    input parameter "tokenMints" accepts a credential (informational; not evidence of insecure handling)

    solanaGetTokenPrices

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y emblemai-emblem-mcp"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade B](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-b.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)