Skip to main content

MCP Tools Reference

These are the everyday tools your AI uses to read your portfolio, manage transactions, and connect wallets. You don't call these directly — instead, you ask your AI things in plain English ("show my top holdings", "add a manual BTC purchase") and it picks the right tool. This page lists what each tool does, along with example prompts you can try.

Tip: Skim the example prompts under each tool to get a feel for what kinds of questions work well.

Looking for something else? Data-quality checks live in Reconciliation tools, and accounting/ERP (Xero & QuickBooks) tools live in Accounting & ERP tools.

Portfolio tools

Read your account, holdings, and historical portfolio value.

get_user_info

Returns your basic Kryptos account info (name, email, workspace).

Required Scope: profile

Parameters: None

Example prompt:

"Show me my Kryptos account profile"


get_holdings

Returns your current crypto holdings — each asset's amount, value, cost basis, unrealized P&L, and 24-hour change.

Required Scope: portfolios:read

Parameters:

ParameterTypeRequiredDefaultDescription
limitnumberNo100Max holdings (max: 1000)
offsetnumberNo0Pagination offset

Example prompt:

"Show my top 10 holdings by market value"


get_holdings_graph

Returns the data points for charting your portfolio value (and cost basis) over time.

Required Scope: portfolios:read

Parameters:

ParameterTypeRequiredDefaultDescription
daysnumberNo7Number of days (1-365)
portfolioIdstringNoPortfolio ID filter

Example prompt:

"Plot my portfolio value over the last 30 days"


Transaction tools

Search, summarize, recategorize, and add transactions.

get_transactions

Search your transaction history with detailed filters. Use get_integrations first if you need to look up a wallet ID.

Required Scope: transactions:read

Parameters:

ParameterTypeRequiredDefaultDescription
walletIdstringNoFilter by wallet ID (comma-separated)
currencyIdstringNoFilter by currency/asset ID (comma-separated)
trxIdstringNoFind specific transaction by ID
transactionTypestringNoType: swap, deposit, withdraw
labelstringNoFilter by label (comma-separated)
timeStartstringNoStart date (ISO 8601)
timeEndstringNoEnd date (ISO 8601)
isNftbooleanNoFilter NFT transactions
isMissingPricebooleanNoFilter missing price data
isMissingPurchasebooleanNoFilter missing purchase data
isEditedbooleanNoFilter manually edited
isManualbooleanNoFilter manually created
orderstringNoSort: asc or desc
limitnumberNo100Max results (max: 1000)
offsetnumberNo0Pagination offset

Example prompts:

"Show my last 20 transactions" "Find all swap transactions from January 2024"


get_transaction_summary

Returns totals and breakdowns of your transaction activity over a time period — useful for "how much did I trade last quarter?" type questions.

Required Scope: transactions:read

Parameters:

ParameterTypeRequiredDefaultDescription
timeStartstringNoStart date (ISO 8601)
timeEndstringNoEnd date (ISO 8601)

Example prompt:

"Summarize my transaction activity for Q1 2024"


get_supported_labels

Returns the full catalogue of labels (categories) you can apply to transactions, the underlying transaction types (deposit, withdrawal, trade, transfer, payment), and which type each label maps to. Your AI uses this so it only applies labels Kryptos actually accepts — anything else is rejected.

Required Scope: transactions:read

Parameters: None

Example prompt:

"What labels can I use to categorize my transactions?"


update_transaction_label

Changes the category (label) on one transaction — for example, marking a transfer as "Staking Rewards". The label must be one of the values from get_supported_labels.

Required Scope: transactions:write

Parameters:

ParameterTypeRequiredDescription
transactionIdstringYesTransaction ID to update
labelstringYesNew Kryptos label (from supported labels)
reasonstringNoReason for the change

Example prompt:

"Categorize transaction abc123 as 'Staking Rewards'"


bulk_update_transaction_labels

Changes the category on up to 100 transactions in one go — handy after a big import where everything came in with generic labels.

Required Scope: transactions:write

Parameters:

ParameterTypeRequiredDescription
transactionIdsstring[]YesTransaction IDs to update (max 100)
labelstringYesNew Kryptos label to apply
reasonstringNoReason for the changes

Example prompt:

"Mark all 50 incoming UNI transactions as 'Airdrops'"


create_manual_transaction

Adds transactions Kryptos doesn't already know about — old purchases from before you started tracking, off-chain trades, gifts, and so on. You can add up to 50 at once.

Required Scope: transactions:write

Parameters:

ParameterTypeRequiredDescription
walletIdstringYesWallet ID (from get_integrations)
transactionsobject[]YesArray of transaction objects (max 50)

Transaction Object Fields:

FieldTypeRequiredDescription
timestampnumberYesUnix timestamp in milliseconds
transactionTypestringYesdeposit, withdrawal, trade, or payment
transactionIdstringYesUnique ID (e.g., manual_BTC_buy_2024)
description.titlestringNoTransaction title
description.descstringNoTransaction description
sentCurrency.currencystringConditionalCurrency sent
sentCurrency.amountnumberConditionalAmount sent
receivedCurrency.currencystringConditionalCurrency received
receivedCurrency.amountnumberConditionalAmount received
fee.currencystringNoFee currency
fee.amountnumberNoFee amount
netValue.fiatValuenumberNoFiat value at transaction time
labelstringNoKryptos label for categorization

Example prompt:

"Add a manual BTC purchase of 0.5 BTC for $20,000 on January 15, 2024 in my Coinbase wallet"


DeFi & NFT tools

Inspect positions outside your spot wallet.

get_defi_holdings

Returns your DeFi positions — anything lent, staked, farmed, or open as a derivative.

Required Scope: portfolios:read

Parameters:

ParameterTypeRequiredDefaultDescription
sourcestringNoComma-separated sources
protocolstringNoComma-separated protocols
chainstringNoComma-separated chains
limitnumberNo100Max results (max: 1000)
offsetnumberNo0Pagination offset

Example prompt:

"Show my staking positions on Ethereum"


get_nft_holdings

Returns the NFTs in your wallets, with collection info like floor price and traits.

Required Scope: portfolios:read

Parameters:

ParameterTypeRequiredDefaultDescription
sourcestringNoComma-separated sources
collectionstringNoComma-separated collections
chainstringNoComma-separated chains
tokenIdstringNoSpecific NFT token ID
contractstringNoSpecific contract address
limitnumberNo100Max results (max: 1000)
offsetnumberNo0Pagination offset

Example prompt:

"List my Bored Ape NFTs with floor prices"


Profiling & integrations

Higher-level insights and a list of everything connected.

get_profiling

Returns a big-picture view of your activity — your investor "type" (e.g. NFT Maniac, DeFi Hodler, Futures Trader, Hodler, BTC Keeper, Degen), a portfolio overview, asset breakdown, and recent activity summary.

Required Scope: profile

Parameters: None

Example prompt:

"Analyze my trading profile and give me portfolio insights"


get_integrations

Lists every wallet, exchange, and blockchain you've connected to Kryptos. Use this when you need a wallet ID to pass to another tool.

Required Scope: integrations:read

Parameters:

ParameterTypeRequiredDefaultDescription
pagenumberNo1Page number
pageSizenumberNo25Items per page (max: 200)
searchedKeystringNoSearch term for integration names/addresses

Example prompt:

"Show all my connected exchanges and wallets"


Wallets & portfolios

Connect new wallets/exchanges and (for enterprise workspaces) organize them into portfolios.

get_integration_metadata

Lists the supported providers (exchanges, wallets, blockchains) and the exact credential fields each one needs. Your AI calls this before add_wallet so it knows what to ask you for (e.g. API key + secret for an exchange, an address for a blockchain).

Required Scope: integrations:read

Parameters:

ParameterTypeRequiredDefaultDescription
providerIdstringNoA specific provider (e.g. binance, ethereum). Omit to list all.

Example prompt:

"What do I need to connect my Binance account?"


add_wallet

Connects a wallet, exchange, or blockchain address to your workspace. A sync starts automatically once it's added.

Required Scope: integrations:write

Parameters:

ParameterTypeRequiredDescription
idstringYesProvider id from get_integration_metadata (e.g. binance, ethereum)
aliasstringYesA unique, friendly name for this wallet
apiKey / secretstringConditionalCredentials for exchange (api-key) providers
accountName / password / memostringConditionalExtra credentials some providers require
addressstringConditionalPublic address for blockchain providers
chainIdnumberConditionalEVM chain id for multi-chain blockchains
isCustomWalletbooleanNoAdd an address that isn't a registered provider
skipInitialSyncbooleanNoAdd without triggering an immediate sync
portfolioIdstringConditionalPortfolio to assign this integration to. Required for enterprise workspaces.
portfolioNamestringNoPortfolio name matching portfolioId

Enterprise workspaces: every integration must belong to a portfolio. Your AI checks your workspace type (via get_user_info), and if it's enterprise it will pick or create a portfolio first (see below) and pass its portfolioId. Without one, the add is rejected. Retail workspaces don't need a portfolio.

Example prompt:

"Connect my Ethereum wallet 0xabc… to the Trading portfolio"


list_portfolios

Lists the portfolios in your workspace (id + name). Portfolios group integrations together.

Required Scope: portfolios:read

Parameters: None

Example prompt:

"What portfolios do I have?"


create_portfolio

Creates a new portfolio. Idempotent by name — if a portfolio with that name already exists, it returns the existing one. Useful in enterprise workspaces when no suitable portfolio exists yet.

Required Scope: portfolios:write

Parameters:

ParameterTypeRequiredDescription
namestringYesPortfolio name
logostringNoOptional logo URL

Example prompt:

"Create a portfolio called 'Long-term Holds'"


Working with lots of results

Most tools return results in pages so the response stays manageable. If you have hundreds or thousands of transactions, your AI will page through them automatically when needed — you usually don't need to think about this.

For reference:

ParameterDefaultMaxWhat it does
limit1001000How many items to return at once
offset0How many items to skip (for the next page)

get_integrations uses page / pageSize instead (default 25, max 200 per page).


Next steps