adk-ts/apps/docs/data/mcp-tools.json

12683 lines
518 KiB
JSON

{
"generatedAt": "2026-02-28T22:13:50.776Z",
"servers": {
"coingecko": {
"name": "CoinGecko MCP Client",
"package": "https://mcp.api.coingecko.com/mcp",
"tools": [
{
"name": "get_asset_platforms",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the asset platforms on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/asset_platform_get_response',\n $defs: {\n asset_platform_get_response: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'asset platform ID'\n },\n chain_identifier: {\n type: 'number',\n description: 'chainlist\\'s chain ID'\n },\n image: {\n type: 'object',\n description: 'image of the asset platform',\n properties: {\n large: {\n type: 'string'\n },\n small: {\n type: 'string'\n },\n thumb: {\n type: 'string'\n }\n }\n },\n name: {\n type: 'string',\n description: 'chain name'\n },\n native_coin_id: {\n type: 'string',\n description: 'chain native coin ID'\n },\n shortname: {\n type: 'string',\n description: 'chain shortname'\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"filter": {
"type": "string",
"description": "apply relevant filters to results",
"enum": ["nft"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_id_coins",
"description": "This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID**",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"community_data": {
"type": "boolean",
"description": "include community data, default: true"
},
"developer_data": {
"type": "boolean",
"description": "include developer data, default: true"
},
"dex_pair_format": {
"type": "string",
"description": "set to `symbol` to display DEX pair base and target as symbols, default: `contract_address`",
"enum": ["contract_address", "symbol"]
},
"include_categories_details": {
"type": "boolean",
"description": "include categories details, default: false"
},
"localization": {
"type": "boolean",
"description": "include all the localized languages in the response, default: true"
},
"market_data": {
"type": "boolean",
"description": "include market data, default: true"
},
"sparkline": {
"type": "boolean",
"description": "include sparkline 7 days data, default: false"
},
"tickers": {
"type": "boolean",
"description": "include tickers data, default: true"
}
},
"required": ["id"]
}
},
{
"name": "get_list_coins_categories",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the coins categories on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_get_list_response',\n $defs: {\n category_get_list_response: {\n type: 'object',\n properties: {\n category_id: {\n type: 'string',\n description: 'category ID'\n },\n name: {\n type: 'string',\n description: 'category name'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_new_coins_list",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the latest 200 coins that recently listed on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/list_get_new_response',\n $defs: {\n list_get_new_response: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n activated_at: {\n type: 'number',\n description: 'timestamp when coin was activated on CoinGecko'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_coins_markets",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported coins with price, market cap, volume and market related data**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/market_get_response',\n $defs: {\n market_get_response: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n ath: {\n type: 'number',\n description: 'coin all time high (ATH) in currency'\n },\n ath_change_percentage: {\n type: 'number',\n description: 'coin all time high (ATH) change in percentage'\n },\n ath_date: {\n type: 'string',\n description: 'coin all time high (ATH) date',\n format: 'date-time'\n },\n atl: {\n type: 'number',\n description: 'coin all time low (atl) in currency'\n },\n atl_change_percentage: {\n type: 'number',\n description: 'coin all time low (atl) change in percentage'\n },\n atl_date: {\n type: 'string',\n description: 'coin all time low (atl) date',\n format: 'date-time'\n },\n circulating_supply: {\n type: 'number',\n description: 'coin circulating supply'\n },\n current_price: {\n type: 'number',\n description: 'coin current price in currency'\n },\n fully_diluted_valuation: {\n type: 'number',\n description: 'coin fully diluted valuation (fdv) in currency'\n },\n high_24h: {\n type: 'number',\n description: 'coin 24hr price high in currency'\n },\n image: {\n type: 'string',\n description: 'coin image url'\n },\n last_updated: {\n type: 'string',\n description: 'coin last updated timestamp',\n format: 'date-time'\n },\n low_24h: {\n type: 'number',\n description: 'coin 24hr price low in currency'\n },\n market_cap: {\n type: 'number',\n description: 'coin market cap in currency'\n },\n market_cap_change_24h: {\n type: 'number',\n description: 'coin 24hr market cap change in currency'\n },\n market_cap_change_percentage_24h: {\n type: 'number',\n description: 'coin 24hr market cap change in percentage'\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin rank by market cap'\n },\n max_supply: {\n type: 'number',\n description: 'coin max supply'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n price_change_24h: {\n type: 'number',\n description: 'coin 24hr price change in currency'\n },\n price_change_percentage_24h: {\n type: 'number',\n description: 'coin 24hr price change in percentage'\n },\n roi: {\n type: 'object',\n description: 'return on investment data',\n properties: {\n currency: {\n type: 'string',\n description: 'ROI currency'\n },\n percentage: {\n type: 'number',\n description: 'ROI percentage'\n },\n times: {\n type: 'number',\n description: 'ROI multiplier'\n }\n },\n required: [ 'currency',\n 'percentage',\n 'times'\n ]\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n },\n total_supply: {\n type: 'number',\n description: 'coin total supply'\n },\n total_volume: {\n type: 'number',\n description: 'coin total trading volume in currency'\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"vs_currency": {
"type": "string",
"description": "target currency of coins and market data \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"category": {
"type": "string",
"description": "filter based on coins' category \n *refers to [`/coins/categories/list`](/reference/coins-categories-list)."
},
"ids": {
"type": "string",
"description": "coins' IDs, comma-separated if querying more than 1 coin. \n *refers to [`/coins/list`](/reference/coins-list)."
},
"include_tokens": {
"type": "string",
"description": "for `symbols` lookups, specify `all` to include all matching tokens \n Default `top` returns top-ranked tokens (by market cap or volume)",
"enum": ["top", "all"]
},
"locale": {
"type": "string",
"description": "language background, default: en",
"enum": [
"ar",
"bg",
"cs",
"da",
"de",
"el",
"en",
"es",
"fi",
"fr",
"he",
"hi",
"hr",
"hu",
"id",
"it",
"ja",
"ko",
"lt",
"nl",
"no",
"pl",
"pt",
"ro",
"ru",
"sk",
"sl",
"sv",
"th",
"tr",
"uk",
"vi",
"zh",
"zh-tw"
]
},
"names": {
"type": "string",
"description": "coins' names, comma-separated if querying more than 1 coin."
},
"order": {
"type": "string",
"description": "sort result by field, default: market_cap_desc",
"enum": [
"market_cap_asc",
"market_cap_desc",
"volume_asc",
"volume_desc",
"id_asc",
"id_desc"
]
},
"page": {
"type": "number",
"description": "page through results, default: 1"
},
"per_page": {
"type": "number",
"description": "total results per page, default: 100 \n Valid values: 1...250"
},
"precision": {
"type": "string",
"description": "decimal place for currency price value",
"enum": [
"full",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18"
]
},
"price_change_percentage": {
"type": "string",
"description": "include price change percentage timeframe, comma-separated if query more than 1 timeframe \n Valid values: 1h, 24h, 7d, 14d, 30d, 200d, 1y"
},
"sparkline": {
"type": "boolean",
"description": "include sparkline 7 days data, default: false"
},
"symbols": {
"type": "string",
"description": "coins' symbols, comma-separated if querying more than 1 coin."
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["vs_currency"]
}
},
{
"name": "get_coins_top_gainers_losers",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the top 30 coins with largest price gain and loss by a specific time duration**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/top_gainers_loser_get_response',\n $defs: {\n top_gainers_loser_get_response: {\n type: 'object',\n properties: {\n top_gainers: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n image: {\n type: 'string',\n description: 'coin image url'\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin rank by market cap'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n },\n usd: {\n type: 'number',\n description: 'coin price in USD'\n },\n usd_14d_change: {\n type: 'number',\n description: 'coin 14 day change percentage in USD'\n },\n usd_1h_change: {\n type: 'number',\n description: 'coin 1hr change percentage in USD'\n },\n usd_1y_change: {\n type: 'number',\n description: 'coin 1 year change percentage in USD'\n },\n usd_200d_change: {\n type: 'number',\n description: 'coin 200 day change percentage in USD'\n },\n usd_24h_change: {\n type: 'number',\n description: 'coin 24hr change percentage in USD'\n },\n usd_24h_vol: {\n type: 'number',\n description: 'coin 24hr volume in USD'\n },\n usd_30d_change: {\n type: 'number',\n description: 'coin 30 day change percentage in USD'\n },\n usd_7d_change: {\n type: 'number',\n description: 'coin 7 day change percentage in USD'\n }\n }\n }\n },\n top_losers: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n image: {\n type: 'string',\n description: 'coin image url'\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin rank by market cap'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n },\n usd: {\n type: 'number',\n description: 'coin price in USD'\n },\n usd_14d_change: {\n type: 'number',\n description: 'coin 14 day change percentage in USD'\n },\n usd_1h_change: {\n type: 'number',\n description: 'coin 1hr change percentage in USD'\n },\n usd_1y_change: {\n type: 'number',\n description: 'coin 1 year change percentage in USD'\n },\n usd_200d_change: {\n type: 'number',\n description: 'coin 200 day change percentage in USD'\n },\n usd_24h_change: {\n type: 'number',\n description: 'coin 24hr change percentage in USD'\n },\n usd_24h_vol: {\n type: 'number',\n description: 'coin 24hr volume in USD'\n },\n usd_30d_change: {\n type: 'number',\n description: 'coin 30 day change percentage in USD'\n },\n usd_7d_change: {\n type: 'number',\n description: 'coin 7 day change percentage in USD'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"vs_currency": {
"type": "string",
"description": "target currency of coins \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"duration": {
"type": "string",
"description": "filter result by time range \n Default value: `24h`",
"enum": ["1h", "24h", "7d", "14d", "30d", "60d", "1y"]
},
"price_change_percentage": {
"type": "string",
"description": "include price change percentage timeframe, comma-separated if query more than 1 price change percentage timeframe \n Valid values: 1h, 24h, 7d, 14d, 30d, 200d, 1y"
},
"top_coins": {
"type": "string",
"description": "filter result by market cap ranking (top 300 to 1000) or all coins (including coins that do not have market cap) \n Default value: `1000`",
"enum": ["300", "500", "1000", "all"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["vs_currency"]
}
},
{
"name": "get_coins_contract",
"description": "This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address**",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"contract_address": {
"type": "string"
}
},
"required": ["id", "contract_address"]
}
},
{
"name": "get_range_contract_coins_market_chart",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/market_chart_get_range_response',\n $defs: {\n market_chart_get_range_response: {\n type: 'object',\n properties: {\n market_caps: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n prices: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n total_volumes: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"from": {
"type": "string",
"description": "starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"to": {
"type": "string",
"description": "ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"vs_currency": {
"type": "string",
"description": "target currency of market data \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"interval": {
"type": "string",
"description": "data interval, leave empty for auto granularity",
"enum": ["5m", "hourly", "daily"]
},
"precision": {
"type": "string",
"description": "decimal place for currency price value",
"enum": [
"full",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18"
]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "contract_address", "from", "to", "vs_currency"]
}
},
{
"name": "get_coins_history",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/history_get_response',\n $defs: {\n history_get_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n community_data: {\n type: 'object',\n description: 'coin community data',\n properties: {\n facebook_likes: {\n type: 'number',\n description: 'coin facebook likes'\n },\n reddit_accounts_active_48h: {\n type: 'number',\n description: 'coin reddit accounts active 48h'\n },\n reddit_average_comments_48h: {\n type: 'number',\n description: 'coin reddit average comments 48h'\n },\n reddit_average_posts_48h: {\n type: 'number',\n description: 'coin reddit average posts 48h'\n },\n reddit_subscribers: {\n type: 'number',\n description: 'coin reddit subscribers'\n }\n }\n },\n developer_data: {\n type: 'object',\n description: 'coin developer data',\n properties: {\n closed_issues: {\n type: 'number',\n description: 'coin repository closed issues'\n },\n code_additions_deletions_4_weeks: {\n type: 'object',\n description: 'coin code additions deletions 4 weeks',\n properties: {\n additions: {\n type: 'number'\n },\n deletions: {\n type: 'number'\n }\n }\n },\n commit_count_4_weeks: {\n type: 'number',\n description: 'coin commit count 4 weeks'\n },\n forks: {\n type: 'number',\n description: 'coin repository forks'\n },\n pull_request_contributors: {\n type: 'number',\n description: 'coin repository pull request contributors'\n },\n pull_requests_merged: {\n type: 'number',\n description: 'coin repository pull requests merged'\n },\n stars: {\n type: 'number',\n description: 'coin repository stars'\n },\n subscribers: {\n type: 'number',\n description: 'coin repository subscribers'\n },\n total_issues: {\n type: 'number',\n description: 'coin repository total issues'\n }\n }\n },\n image: {\n type: 'object',\n description: 'coin image url',\n properties: {\n small: {\n type: 'string'\n },\n thumb: {\n type: 'string'\n }\n }\n },\n localization: {\n type: 'object',\n description: 'coin localization',\n additionalProperties: true\n },\n market_data: {\n type: 'object',\n description: 'coin market data',\n properties: {\n current_price: {\n type: 'object',\n description: 'coin current price',\n properties: {\n btc: {\n type: 'number'\n },\n eur: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n market_cap: {\n type: 'object',\n description: 'coin market cap',\n properties: {\n btc: {\n type: 'number'\n },\n eur: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n total_volume: {\n type: 'object',\n description: 'coin total volume',\n properties: {\n btc: {\n type: 'number'\n },\n eur: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n }\n }\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n public_interest_stats: {\n type: 'object',\n description: 'coin public interest stats',\n properties: {\n alexa_rank: {\n type: 'number',\n description: 'coin alexa rank'\n },\n bing_matches: {\n type: 'number',\n description: 'coin bing matches'\n }\n }\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"date": {
"type": "string",
"description": "date of data snapshot (`YYYY-MM-DD`)"
},
"localization": {
"type": "boolean",
"description": "include all the localized languages in response, default: true"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "date"]
}
},
{
"name": "get_range_coins_market_chart",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/market_chart_get_range_response',\n $defs: {\n market_chart_get_range_response: {\n type: 'object',\n properties: {\n market_caps: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n prices: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n total_volumes: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"type": "string",
"description": "starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"to": {
"type": "string",
"description": "ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"vs_currency": {
"type": "string",
"description": "target currency of market data \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"interval": {
"type": "string",
"description": "data interval, leave empty for auto granularity",
"enum": ["5m", "hourly", "daily"]
},
"precision": {
"type": "string",
"description": "decimal place for currency price value",
"enum": [
"full",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18"
]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "from", "to", "vs_currency"]
}
},
{
"name": "get_range_coins_ohlc",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamp based on particular coin ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/ohlc_get_range_response',\n $defs: {\n ohlc_get_range_response: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"type": "string",
"description": "starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"interval": {
"type": "string",
"description": "data interval",
"enum": ["daily", "hourly"]
},
"to": {
"type": "string",
"description": "ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n **use ISO date string for best compatibility**"
},
"vs_currency": {
"type": "string",
"description": "target currency of price data \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "from", "interval", "to", "vs_currency"]
}
},
{
"name": "get_id_exchanges",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/exchange_get_id_response',\n $defs: {\n exchange_get_id_response: {\n type: 'object',\n properties: {\n alert_notice: {\n type: 'string',\n description: 'alert notice for exchange'\n },\n centralized: {\n type: 'boolean',\n description: 'exchange type (true for centralized, false for decentralized)'\n },\n coins: {\n type: 'number',\n description: 'number of coins listed on the exchange'\n },\n country: {\n type: 'string',\n description: 'exchange incorporated country'\n },\n description: {\n type: 'string',\n description: 'exchange description'\n },\n facebook_url: {\n type: 'string',\n description: 'exchange facebook url'\n },\n has_trading_incentive: {\n type: 'boolean',\n description: 'exchange trading incentive'\n },\n image: {\n type: 'string',\n description: 'exchange image url'\n },\n name: {\n type: 'string',\n description: 'exchange name'\n },\n other_url_1: {\n type: 'string'\n },\n other_url_2: {\n type: 'string'\n },\n pairs: {\n type: 'number',\n description: 'number of trading pairs on the exchange'\n },\n public_notice: {\n type: 'string',\n description: 'public notice for exchange'\n },\n reddit_url: {\n type: 'string',\n description: 'exchange reddit url'\n },\n slack_url: {\n type: 'string',\n description: 'exchange slack url'\n },\n telegram_url: {\n type: 'string',\n description: 'exchange telegram url'\n },\n tickers: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'coin name'\n },\n tickers: {\n type: 'array',\n description: 'list of tickers',\n items: {\n type: 'object',\n properties: {\n base: {\n type: 'string',\n description: 'coin ticker base currency'\n },\n bid_ask_spread_percentage: {\n type: 'number',\n description: 'coin ticker bid ask spread percentage'\n },\n coin_id: {\n type: 'string',\n description: 'coin ticker base currency coin ID'\n },\n converted_last: {\n type: 'object',\n description: 'coin ticker converted last price',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n converted_volume: {\n type: 'object',\n description: 'coin ticker converted volume',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n cost_to_move_down_usd: {\n type: 'number',\n description: 'coin ticker cost to move down in usd'\n },\n cost_to_move_up_usd: {\n type: 'number',\n description: 'coin ticker cost to move up in usd'\n },\n is_anomaly: {\n type: 'boolean',\n description: 'coin ticker anomaly'\n },\n is_stale: {\n type: 'boolean',\n description: 'coin ticker stale'\n },\n last: {\n type: 'number',\n description: 'coin ticker last price'\n },\n last_fetch_at: {\n type: 'string',\n description: 'coin ticker last fetch timestamp'\n },\n last_traded_at: {\n type: 'string',\n description: 'coin ticker last traded timestamp'\n },\n market: {\n type: 'object',\n description: 'coin ticker exchange',\n properties: {\n has_trading_incentive: {\n type: 'boolean',\n description: 'exchange trading incentive'\n },\n identifier: {\n type: 'string',\n description: 'exchange identifier'\n },\n name: {\n type: 'string',\n description: 'exchange name'\n },\n logo: {\n type: 'string',\n description: 'exchange image url'\n }\n },\n required: [ 'has_trading_incentive',\n 'identifier',\n 'name'\n ]\n },\n target: {\n type: 'string',\n description: 'coin ticker target currency'\n },\n target_coin_id: {\n type: 'string',\n description: 'coin ticker target currency coin ID'\n },\n timestamp: {\n type: 'string',\n description: 'coin ticker timestamp'\n },\n token_info_url: {\n type: 'string',\n description: 'coin ticker token info url'\n },\n trade_url: {\n type: 'string',\n description: 'coin ticker trade url'\n },\n trust_score: {\n type: 'string',\n description: 'coin ticker trust score'\n },\n volume: {\n type: 'number',\n description: 'coin ticker volume'\n }\n }\n }\n }\n }\n }\n },\n trade_volume_24h_btc: {\n type: 'number'\n },\n trust_score: {\n type: 'number',\n description: 'exchange trust score'\n },\n trust_score_rank: {\n type: 'number',\n description: 'exchange trust score rank'\n },\n twitter_handle: {\n type: 'string',\n description: 'exchange twitter handle'\n },\n url: {\n type: 'string',\n description: 'exchange website url'\n },\n year_established: {\n type: 'number',\n description: 'exchange established year'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"dex_pair_format": {
"type": "string",
"description": "set to `symbol` to display DEX pair base and target as symbols, default: `contract_address`",
"enum": ["contract_address", "symbol"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id"]
}
},
{
"name": "get_list_exchanges",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the exchanges with ID and name**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/exchange_get_list_response',\n $defs: {\n exchange_get_list_response: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'exchange ID'\n },\n name: {\n type: 'string',\n description: 'exchange name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "filter by status of exchanges, default: active",
"enum": ["active", "inactive"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_exchanges_tickers",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query exchange's tickers based on exchange's ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/ticker_get_response',\n $defs: {\n ticker_get_response: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'coin name'\n },\n tickers: {\n type: 'array',\n description: 'list of tickers',\n items: {\n type: 'object',\n properties: {\n base: {\n type: 'string',\n description: 'coin ticker base currency'\n },\n bid_ask_spread_percentage: {\n type: 'number',\n description: 'coin ticker bid ask spread percentage'\n },\n coin_id: {\n type: 'string',\n description: 'coin ticker base currency coin ID'\n },\n converted_last: {\n type: 'object',\n description: 'coin ticker converted last price',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n converted_volume: {\n type: 'object',\n description: 'coin ticker converted volume',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n cost_to_move_down_usd: {\n type: 'number',\n description: 'coin ticker cost to move down in usd'\n },\n cost_to_move_up_usd: {\n type: 'number',\n description: 'coin ticker cost to move up in usd'\n },\n is_anomaly: {\n type: 'boolean',\n description: 'coin ticker anomaly'\n },\n is_stale: {\n type: 'boolean',\n description: 'coin ticker stale'\n },\n last: {\n type: 'number',\n description: 'coin ticker last price'\n },\n last_fetch_at: {\n type: 'string',\n description: 'coin ticker last fetch timestamp'\n },\n last_traded_at: {\n type: 'string',\n description: 'coin ticker last traded timestamp'\n },\n market: {\n type: 'object',\n description: 'coin ticker exchange',\n properties: {\n has_trading_incentive: {\n type: 'boolean',\n description: 'exchange trading incentive'\n },\n identifier: {\n type: 'string',\n description: 'exchange identifier'\n },\n name: {\n type: 'string',\n description: 'exchange name'\n },\n logo: {\n type: 'string',\n description: 'exchange image url'\n }\n },\n required: [ 'has_trading_incentive',\n 'identifier',\n 'name'\n ]\n },\n target: {\n type: 'string',\n description: 'coin ticker target currency'\n },\n target_coin_id: {\n type: 'string',\n description: 'coin ticker target currency coin ID'\n },\n timestamp: {\n type: 'string',\n description: 'coin ticker timestamp'\n },\n token_info_url: {\n type: 'string',\n description: 'coin ticker token info url'\n },\n trade_url: {\n type: 'string',\n description: 'coin ticker trade url'\n },\n trust_score: {\n type: 'string',\n description: 'coin ticker trust score'\n },\n volume: {\n type: 'number',\n description: 'coin ticker volume'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"coin_ids": {
"type": "string",
"description": "filter tickers by coin IDs, comma-separated if querying more than 1 coin \n *refers to [`/coins/list`](/reference/coins-list)."
},
"depth": {
"type": "boolean",
"description": "include 2% orderbook depth (Example: cost_to_move_up_usd & cost_to_move_down_usd),default: false"
},
"dex_pair_format": {
"type": "string",
"description": "set to `symbol` to display DEX pair base and target as symbols, default: `contract_address`",
"enum": ["contract_address", "symbol"]
},
"include_exchange_logo": {
"type": "boolean",
"description": "include exchange logo, default: false"
},
"order": {
"type": "string",
"description": "use this to sort the order of responses, default: trust_score_desc",
"enum": [
"market_cap_asc",
"market_cap_desc",
"trust_score_desc",
"trust_score_asc",
"volume_desc",
"volume_asc",
"base_target"
]
},
"page": {
"type": "number",
"description": "page through results"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id"]
}
},
{
"name": "get_range_exchanges_volume_chart",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the historical volume chart data in BTC by specifying date range in UNIX based on exchange's ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/volume_chart_get_range_response',\n $defs: {\n volume_chart_get_range_response: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"type": "number",
"description": "starting date in UNIX timestamp "
},
"to": {
"type": "number",
"description": "ending date in UNIX timestamp"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "from", "to"]
}
},
{
"name": "get_global",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you **query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap and etc**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/global_get_response',\n $defs: {\n global_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n active_cryptocurrencies: {\n type: 'number',\n description: 'number of active cryptocurrencies'\n },\n ended_icos: {\n type: 'number',\n description: 'number of ended icos'\n },\n market_cap_change_percentage_24h_usd: {\n type: 'number',\n description: 'cryptocurrencies market cap change percentage in 24 hours in usd'\n },\n market_cap_percentage: {\n type: 'object',\n description: 'cryptocurrencies market cap percentage',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n }\n }\n },\n markets: {\n type: 'number',\n description: 'number of exchanges'\n },\n ongoing_icos: {\n type: 'number',\n description: 'number of ongoing icos'\n },\n total_market_cap: {\n type: 'object',\n description: 'cryptocurrencies total market cap',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n }\n }\n },\n total_volume: {\n type: 'object',\n description: 'cryptocurrencies total volume',\n properties: {\n btc: {\n type: 'number'\n },\n eth: {\n type: 'number'\n }\n }\n },\n upcoming_icos: {\n type: 'number',\n description: 'number of upcoming icos'\n },\n updated_at: {\n type: 'number'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_id_nfts",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/nft_get_id_response',\n $defs: {\n nft_get_id_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'NFT collection ID'\n },\n asset_platform_id: {\n type: 'string',\n description: 'NFT collection asset platform ID'\n },\n ath: {\n type: 'object',\n description: 'NFT collection all time highs',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n ath_change_percentage: {\n type: 'object',\n description: 'NFT collection all time highs change percentage',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n ath_date: {\n type: 'object',\n description: 'NFT collection all time highs date',\n properties: {\n native_currency: {\n type: 'string',\n format: 'date-time'\n },\n usd: {\n type: 'string',\n format: 'date-time'\n }\n }\n },\n banner_image: {\n type: 'object',\n description: 'NFT collection banner image url',\n properties: {\n small: {\n type: 'string'\n }\n }\n },\n contract_address: {\n type: 'string',\n description: 'NFT collection contract address'\n },\n description: {\n type: 'string',\n description: 'NFT collection description'\n },\n explorers: {\n type: 'array',\n description: 'NFT collection block explorers links',\n items: {\n type: 'object',\n properties: {\n link: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n }\n }\n },\n floor_price: {\n type: 'object',\n description: 'NFT collection floor price',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_14d_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 14 days percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_1y_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 1 year percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_24h_percentage_change: {\n type: 'object',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_30d_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 30 days percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_60d_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 60 days percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_7d_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 7 days percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_in_usd_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection floor price in usd 24 hours percentage change'\n },\n image: {\n type: 'object',\n description: 'NFT collection image url',\n properties: {\n small: {\n type: 'string'\n },\n small_2x: {\n type: 'string'\n }\n }\n },\n links: {\n type: 'object',\n description: 'NFT collection links',\n properties: {\n discord: {\n type: 'string'\n },\n homepage: {\n type: 'string'\n },\n twitter: {\n type: 'string'\n }\n }\n },\n market_cap: {\n type: 'object',\n description: 'NFT collection market cap',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n market_cap_24h_percentage_change: {\n type: 'object',\n description: 'NFT collection market cap 24 hours percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin market cap rank'\n },\n name: {\n type: 'string',\n description: 'NFT collection name'\n },\n native_currency: {\n type: 'string',\n description: 'NFT collection native currency'\n },\n native_currency_symbol: {\n type: 'string',\n description: 'NFT collection native currency symbol'\n },\n number_of_unique_addresses: {\n type: 'number',\n description: 'number of unique address owning the NFTs'\n },\n number_of_unique_addresses_24h_percentage_change: {\n type: 'number',\n description: 'number of unique address owning the NFTs 24 hours percentage change'\n },\n one_day_average_sale_price: {\n type: 'number',\n description: 'NFT collection one day average sale price'\n },\n one_day_average_sale_price_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection one day average sale price 24 hours percentage change'\n },\n one_day_sales: {\n type: 'number',\n description: 'NFT collection one day sales'\n },\n one_day_sales_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection one day sales 24 hours percentage change'\n },\n symbol: {\n type: 'string',\n description: 'NFT collection symbol'\n },\n total_supply: {\n type: 'number',\n description: 'NFT collection total supply'\n },\n user_favorites_count: {\n type: 'number',\n description: 'NFT collection user favorites count'\n },\n volume_24h: {\n type: 'object',\n description: 'NFT collection volume in 24 hours',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n volume_24h_percentage_change: {\n type: 'object',\n description: 'NFT collection volume in 24 hours percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n volume_in_usd_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection volume in usd 24 hours percentage change'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id"]
}
},
{
"name": "get_list_nfts",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/nft_get_list_response',\n $defs: {\n nft_get_list_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'NFT collection ID'\n },\n asset_platform_id: {\n type: 'string',\n description: 'NFT collection asset platform ID'\n },\n contract_address: {\n type: 'string',\n description: 'NFT collection contract address'\n },\n name: {\n type: 'string',\n description: 'NFT collection name'\n },\n symbol: {\n type: 'string',\n description: 'NFT collection symbol'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"order": {
"type": "string",
"description": "use this to sort the order of responses",
"enum": [
"h24_volume_usd_asc",
"h24_volume_usd_desc",
"h24_volume_native_asc",
"h24_volume_native_desc",
"floor_price_native_asc",
"floor_price_native_desc",
"market_cap_native_asc",
"market_cap_native_desc",
"market_cap_usd_asc",
"market_cap_usd_desc"
]
},
"page": {
"type": "number",
"description": "page through results"
},
"per_page": {
"type": "number",
"description": "total results per page \n Valid values: 1...250"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_markets_nfts",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/nft_get_markets_response',\n $defs: {\n nft_get_markets_response: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'NFT collection ID'\n },\n asset_platform_id: {\n type: 'string',\n description: 'NFT collection asset platform ID'\n },\n contract_address: {\n type: 'string',\n description: 'NFT collection contract address'\n },\n description: {\n type: 'string',\n description: 'NFT collection description'\n },\n floor_price: {\n type: 'object',\n description: 'NFT collection floor price',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_24h_percentage_change: {\n type: 'object',\n description: 'NFT collection floor price 24 hours percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n floor_price_in_usd_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection floor price in usd 24 hours percentage change'\n },\n image: {\n type: 'object',\n description: 'NFT collection image url',\n properties: {\n small: {\n type: 'string'\n },\n small_2x: {\n type: 'string'\n }\n }\n },\n market_cap: {\n type: 'object',\n description: 'NFT collection market cap',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n market_cap_24h_percentage_change: {\n type: 'object',\n description: 'NFT collection market cap 24 hours percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin market cap rank'\n },\n name: {\n type: 'string',\n description: 'NFT collection name'\n },\n native_currency: {\n type: 'string',\n description: 'NFT collection native currency'\n },\n native_currency_symbol: {\n type: 'string',\n description: 'NFT collection native currency symbol'\n },\n number_of_unique_addresses: {\n type: 'number',\n description: 'number of unique address owning the NFTs'\n },\n number_of_unique_addresses_24h_percentage_change: {\n type: 'number',\n description: 'number of unique address owning the NFTs 24 hours percentage change'\n },\n one_day_average_sale_price: {\n type: 'number',\n description: 'NFT collection one day average sale price'\n },\n one_day_average_sale_price_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection one day average sale price 24 hours percentage change'\n },\n one_day_sales: {\n type: 'number',\n description: 'NFT collection one day sales'\n },\n one_day_sales_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection one day sales 24 hours percentage change'\n },\n symbol: {\n type: 'string',\n description: 'NFT collection symbol'\n },\n total_supply: {\n type: 'number',\n description: 'NFT collection total supply'\n },\n volume_24h: {\n type: 'object',\n description: 'NFT collection volume in 24 hours',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n volume_24h_percentage_change: {\n type: 'object',\n description: 'NFT collection volume in 24 hours percentage change',\n properties: {\n native_currency: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n volume_in_usd_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection volume in usd 24 hours percentage change'\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"asset_platform_id": {
"type": "string",
"description": "filter result by asset platform (blockchain network) \n *refers to [`/asset_platforms`](/reference/asset-platforms-list) filter=`nft`"
},
"order": {
"type": "string",
"description": "sort results by field \n Default: `market_cap_usd_desc`",
"enum": [
"h24_volume_native_asc",
"h24_volume_native_desc",
"h24_volume_usd_asc",
"h24_volume_usd_desc",
"market_cap_usd_asc",
"market_cap_usd_desc"
]
},
"page": {
"type": "number",
"description": "page through results \n Default: `1`"
},
"per_page": {
"type": "number",
"description": "total results per page \n Valid values: any integer between 1 and 250 \n Default: `100`"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_nfts_market_chart",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/market_chart_get_response',\n $defs: {\n market_chart_get_response: {\n type: 'object',\n properties: {\n floor_price_native: {\n type: 'array',\n description: 'NFT collection floor price in native currency',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n floor_price_usd: {\n type: 'array',\n description: 'NFT collection floor price in usd',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n h24_volume_native: {\n type: 'array',\n description: 'NFT collection volume in 24 hours in native currency',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n h24_volume_usd: {\n type: 'array',\n description: 'NFT collection volume in 24 hours in usd',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n market_cap_native: {\n type: 'array',\n description: 'NFT collection market cap in native currency',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n market_cap_usd: {\n type: 'array',\n description: 'NFT collection market cap in usd',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"days": {
"type": "string",
"description": "data up to number of days \n Valid values: any integer or max"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "days"]
}
},
{
"name": "get_onchain_categories",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported categories on GeckoTerminal**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_get_response',\n $defs: {\n category_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n description: {\n type: 'string'\n },\n fdv_usd: {\n type: 'string'\n },\n h24_tx_count: {\n type: 'integer'\n },\n h24_volume_usd: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n reserve_in_usd: {\n type: 'string'\n },\n volume_change_percentage: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h12: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "page through results \n Default value: `1`"
},
"sort": {
"type": "string",
"description": "sort the categories by field \n Default value: `h6_volume_percentage_desc`",
"enum": [
"h1_volume_percentage_desc",
"h6_volume_percentage_desc",
"h12_volume_percentage_desc",
"h24_tx_count_desc",
"h24_volume_usd_desc",
"fdv_usd_desc",
"reserve_in_usd_desc"
]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_pools_onchain_categories",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the pools based on the provided category ID**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_get_pools_response',\n $defs: {\n category_get_pools_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n base_token_price_native_currency: {\n type: 'string'\n },\n base_token_price_quote_token: {\n type: 'string'\n },\n base_token_price_usd: {\n type: 'string'\n },\n fdv_usd: {\n type: 'string'\n },\n h24_tx_count: {\n type: 'integer'\n },\n h24_volume_usd: {\n type: 'string'\n },\n market_cap_usd: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n pool_created_at: {\n type: 'string',\n format: 'date-time'\n },\n price_change_percentage: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n },\n m15: {\n type: 'string'\n },\n m30: {\n type: 'string'\n },\n m5: {\n type: 'string'\n }\n }\n },\n quote_token_price_base_token: {\n type: 'string'\n },\n quote_token_price_native_currency: {\n type: 'string'\n },\n quote_token_price_usd: {\n type: 'string'\n },\n reserve_in_usd: {\n type: 'string'\n }\n }\n },\n relationships: {\n type: 'object',\n properties: {\n base_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n dex: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n network: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n quote_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n },\n included: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n decimals: {\n type: 'integer'\n },\n image_url: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"category_id": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`, `network`. \n Example: `base_token` or `base_token,dex`"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: `1`"
},
"sort": {
"type": "string",
"description": "sort the pools by field \n Default value: `pool_created_at_desc`",
"enum": [
"m5_trending",
"h1_trending",
"h6_trending",
"h24_trending",
"h24_tx_count_desc",
"h24_volume_usd_desc",
"pool_created_at_desc",
"h24_price_change_percentage_desc"
]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["category_id"]
}
},
{
"name": "get_onchain_networks",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported networks on GeckoTerminal**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/network_get_response',\n $defs: {\n network_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n coingecko_asset_platform_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_networks_onchain_new_pools",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the latest pools across all networks on GeckoTerminal**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/new_pool_get_response',\n $defs: {\n new_pool_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n base_token_price_native_currency: {\n type: 'string'\n },\n base_token_price_quote_token: {\n type: 'string'\n },\n base_token_price_usd: {\n type: 'string'\n },\n community_sus_report: {\n type: 'number'\n },\n fdv_usd: {\n type: 'string'\n },\n market_cap_usd: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n pool_created_at: {\n type: 'string'\n },\n price_change_percentage: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n },\n m15: {\n type: 'string'\n },\n m30: {\n type: 'string'\n },\n m5: {\n type: 'string'\n }\n }\n },\n quote_token_price_base_token: {\n type: 'string'\n },\n quote_token_price_native_currency: {\n type: 'string'\n },\n quote_token_price_usd: {\n type: 'string'\n },\n reserve_in_usd: {\n type: 'string'\n },\n sentiment_vote_negative_percentage: {\n type: 'number'\n },\n sentiment_vote_positive_percentage: {\n type: 'number'\n },\n transactions: {\n type: 'object',\n properties: {\n h1: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n h24: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m15: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m30: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m5: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n }\n }\n },\n volume_usd: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n },\n m15: {\n type: 'string'\n },\n m30: {\n type: 'string'\n },\n m5: {\n type: 'string'\n }\n }\n }\n }\n },\n relationships: {\n type: 'object',\n properties: {\n base_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n dex: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n quote_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n },\n included: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n decimals: {\n type: 'integer'\n },\n image_url: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`, `network`"
},
"include_gt_community_data": {
"type": "boolean",
"description": "include GeckoTerminal community data (Sentiment votes, Suspicious reports) \n Default value: false"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_network_networks_onchain_new_pools",
"description": "This endpoint allows you to **query all the latest pools based on provided network**",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`"
},
"include_gt_community_data": {
"type": "boolean",
"description": "include GeckoTerminal community data (Sentiment votes, Suspicious reports) \n Default value: false"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
}
},
"required": ["network"]
}
},
{
"name": "get_networks_onchain_dexes",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/dex_get_response',\n $defs: {\n dex_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n name: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network"]
}
},
{
"name": "get_addresses_pools_networks_onchain_multi",
"description": "This endpoint allows you to **query multiple pools based on the provided network and pool address**",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"addresses": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`"
},
"include_composition": {
"type": "boolean",
"description": "include pool composition, default: false"
},
"include_volume_breakdown": {
"type": "boolean",
"description": "include volume breakdown, default: false"
}
},
"required": ["network", "addresses"]
}
},
{
"name": "get_pools_networks_onchain_info",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/info_get_response',\n $defs: {\n info_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n categories: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n coingecko_coin_id: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n discord_url: {\n type: 'string'\n },\n farcaster_url: {\n type: 'string'\n },\n freeze_authority: {\n type: 'string'\n },\n gt_categories_id: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n gt_score: {\n type: 'number'\n },\n gt_score_details: {\n type: 'object',\n properties: {\n creation: {\n type: 'number'\n },\n holders: {\n type: 'number'\n },\n info: {\n type: 'number'\n },\n pool: {\n type: 'number'\n },\n transaction: {\n type: 'number'\n }\n }\n },\n holders: {\n type: 'object',\n properties: {\n count: {\n type: 'integer'\n },\n distribution_percentage: {\n type: 'object',\n properties: {\n '11_30': {\n type: 'number'\n },\n '31_50': {\n type: 'number'\n },\n rest: {\n type: 'number'\n },\n top_10: {\n type: 'number'\n }\n }\n },\n last_updated: {\n type: 'string'\n }\n }\n },\n image: {\n type: 'object',\n properties: {\n large: {\n type: 'string'\n },\n small: {\n type: 'string'\n },\n thumb: {\n type: 'string'\n }\n }\n },\n image_url: {\n type: 'string'\n },\n is_honeypot: {\n anyOf: [ {\n type: 'boolean'\n },\n {\n type: 'string'\n }\n ]\n },\n mint_authority: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n },\n telegram_handle: {\n type: 'string'\n },\n twitter_handle: {\n type: 'string'\n },\n websites: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n zora_url: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n },\n included: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n base_token_address: {\n type: 'string'\n },\n community_sus_report: {\n type: 'number'\n },\n quote_token_address: {\n type: 'string'\n },\n sentiment_vote_negative_percentage: {\n type: 'number'\n },\n sentiment_vote_positive_percentage: {\n type: 'number'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"pool_address": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include",
"enum": ["pool"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "pool_address"]
}
},
{
"name": "get_timeframe_pools_networks_onchain_ohlcv",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/ohlcv_get_timeframe_response',\n $defs: {\n ohlcv_get_timeframe_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n ohlcv_list: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n },\n meta: {\n type: 'object',\n properties: {\n base: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n quote: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"pool_address": {
"type": "string"
},
"timeframe": {
"type": "string",
"enum": ["day", "hour", "minute", "second"]
},
"token": {
"type": "string",
"description": "return OHLCV for token \n use this to invert the chart \n Available values: 'base', 'quote' or token address \n Default value: 'base'"
},
"aggregate": {
"type": "string",
"description": "time period to aggregate each OHLCV \n Available values (day): `1` \n Available values (hour): `1` , `4` , `12` \n Available values (minute): `1` , `5` , `15` \n Available values (second): `1`, `15`, `30` \n Default value: 1"
},
"before_timestamp": {
"type": "integer",
"description": "return OHLCV data before this timestamp (integer seconds since epoch)"
},
"currency": {
"type": "string",
"description": "return OHLCV in USD or quote token \n Default value: usd",
"enum": ["usd", "token"]
},
"include_empty_intervals": {
"type": "boolean",
"description": "include empty intervals with no trade data, default: false"
},
"limit": {
"type": "integer",
"description": "number of OHLCV results to return, maximum 1000 \n Default value: 100"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "pool_address", "timeframe"]
}
},
{
"name": "get_pools_networks_onchain_trades",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the last 300 trades in the past 24 hours based on the provided pool address**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/trade_get_response',\n $defs: {\n trade_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n block_number: {\n type: 'integer'\n },\n block_timestamp: {\n type: 'string'\n },\n from_token_address: {\n type: 'string'\n },\n from_token_amount: {\n type: 'string'\n },\n kind: {\n type: 'string'\n },\n price_from_in_currency_token: {\n type: 'string'\n },\n price_from_in_usd: {\n type: 'string'\n },\n price_to_in_currency_token: {\n type: 'string'\n },\n price_to_in_usd: {\n type: 'string'\n },\n to_token_address: {\n type: 'string'\n },\n to_token_amount: {\n type: 'string'\n },\n tx_from_address: {\n type: 'string'\n },\n tx_hash: {\n type: 'string'\n },\n volume_in_usd: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"pool_address": {
"type": "string"
},
"token": {
"type": "string",
"description": "return trades for token \n use this to invert the chart \n Available values: 'base', 'quote' or token address \n Default value: 'base'"
},
"trade_volume_in_usd_greater_than": {
"type": "number",
"description": "filter trades by trade volume in USD greater than this value \n Default value: 0"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "pool_address"]
}
},
{
"name": "get_addresses_tokens_networks_onchain_multi",
"description": "This endpoint allows you to **query multiple tokens data based on the provided token contract addresses on a network**",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"addresses": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include",
"enum": ["top_pools"]
},
"include_composition": {
"type": "boolean",
"description": "include pool composition, default: false"
},
"include_inactive_source": {
"type": "boolean",
"description": "include tokens from inactive pools using the most recent swap, default: false"
}
},
"required": ["network", "addresses"]
}
},
{
"name": "get_tokens_networks_onchain_info",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/info_get_response',\n $defs: {\n info_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n categories: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n coingecko_coin_id: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n discord_url: {\n type: 'string'\n },\n farcaster_url: {\n type: 'string'\n },\n freeze_authority: {\n type: 'string'\n },\n gt_categories_id: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n gt_score: {\n type: 'number'\n },\n gt_score_details: {\n type: 'object',\n properties: {\n creation: {\n type: 'number'\n },\n holders: {\n type: 'number'\n },\n info: {\n type: 'number'\n },\n pool: {\n type: 'number'\n },\n transaction: {\n type: 'number'\n }\n }\n },\n holders: {\n type: 'object',\n properties: {\n count: {\n type: 'integer'\n },\n distribution_percentage: {\n type: 'object',\n properties: {\n '11_30': {\n type: 'number'\n },\n '31_50': {\n type: 'number'\n },\n rest: {\n type: 'number'\n },\n top_10: {\n type: 'number'\n }\n }\n },\n last_updated: {\n type: 'string'\n }\n }\n },\n image: {\n type: 'object',\n properties: {\n large: {\n type: 'string'\n },\n small: {\n type: 'string'\n },\n thumb: {\n type: 'string'\n }\n }\n },\n image_url: {\n type: 'string'\n },\n is_honeypot: {\n anyOf: [ {\n type: 'boolean'\n },\n {\n type: 'string'\n }\n ]\n },\n mint_authority: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n },\n telegram_handle: {\n type: 'string'\n },\n twitter_handle: {\n type: 'string'\n },\n websites: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n zora_url: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"address": {
"type": "string"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "address"]
}
},
{
"name": "get_tokens_networks_onchain_top_holders",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query top token holders based on the provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/top_holder_get_response',\n $defs: {\n top_holder_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n holders: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n amount: {\n type: 'string'\n },\n label: {\n type: 'string'\n },\n percentage: {\n type: 'string'\n },\n rank: {\n type: 'number'\n },\n value: {\n type: 'string'\n }\n }\n }\n },\n last_updated_at: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"address": {
"type": "string"
},
"holders": {
"type": "string",
"description": "number of top token holders to return, you may use any integer or `max` \n Default value: 10"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "address"]
}
},
{
"name": "get_tokens_networks_onchain_holders_chart",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the historical token holders chart based on the provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/holders_chart_get_response',\n $defs: {\n holders_chart_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n token_holders_list: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n },\n meta: {\n type: 'object',\n properties: {\n token: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"token_address": {
"type": "string"
},
"days": {
"type": "string",
"description": "number of days to return the historical token holders chart \n Default value: 7",
"enum": ["7", "30", "max"]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "token_address"]
}
},
{
"name": "get_timeframe_tokens_networks_onchain_ohlcv",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a token based on the provided token address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/ohlcv_get_timeframe_response',\n $defs: {\n ohlcv_get_timeframe_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n ohlcv_list: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n },\n meta: {\n type: 'object',\n properties: {\n base: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n quote: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"token_address": {
"type": "string"
},
"timeframe": {
"type": "string",
"enum": ["day", "hour", "minute", "second"]
},
"aggregate": {
"type": "string",
"description": "time period to aggregate each OHLCV \n Available values (day): `1` \n Available values (hour): `1` , `4` , `12` \n Available values (minute): `1` , `5` , `15` \n Available values (second): `1`, `15`, `30` \n Default value: 1"
},
"before_timestamp": {
"type": "integer",
"description": "return OHLCV data before this timestamp (integer seconds since epoch)"
},
"currency": {
"type": "string",
"description": "return OHLCV in USD or quote token \n Default value: usd",
"enum": ["usd", "token"]
},
"include_empty_intervals": {
"type": "boolean",
"description": "include empty intervals with no trade data, default: false"
},
"include_inactive_source": {
"type": "boolean",
"description": "include token data from inactive pools using the most recent swap, default: false"
},
"limit": {
"type": "integer",
"description": "number of OHLCV results to return, maximum 1000 \n Default value: 100"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "token_address", "timeframe"]
}
},
{
"name": "get_tokens_networks_onchain_pools",
"description": "This endpoint allows you to **query top pools based on the provided token contract address on a network**",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"token_address": {
"type": "string"
},
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`"
},
"include_inactive_source": {
"type": "boolean",
"description": "include tokens from inactive pools using the most recent swap, default: false"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"sort": {
"type": "string",
"description": "sort the pools by field \n Default value: h24_volume_usd_liquidity_desc",
"enum": [
"h24_volume_usd_liquidity_desc",
"h24_tx_count_desc",
"h24_volume_usd_desc"
]
}
},
"required": ["network", "token_address"]
}
},
{
"name": "get_tokens_networks_onchain_trades",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the last 300 trades in the past 24 hours, across all pools, based on the provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/trade_get_response',\n $defs: {\n trade_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n block_number: {\n type: 'integer'\n },\n block_timestamp: {\n type: 'string'\n },\n from_token_address: {\n type: 'string'\n },\n from_token_amount: {\n type: 'string'\n },\n kind: {\n type: 'string'\n },\n pool_address: {\n type: 'string'\n },\n pool_dex: {\n type: 'string'\n },\n price_from_in_currency_token: {\n type: 'string'\n },\n price_from_in_usd: {\n type: 'string'\n },\n price_to_in_currency_token: {\n type: 'string'\n },\n price_to_in_usd: {\n type: 'string'\n },\n to_token_address: {\n type: 'string'\n },\n to_token_amount: {\n type: 'string'\n },\n tx_from_address: {\n type: 'string'\n },\n tx_hash: {\n type: 'string'\n },\n volume_in_usd: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"token_address": {
"type": "string"
},
"trade_volume_in_usd_greater_than": {
"type": "number",
"description": "filter trades by trade volume in USD greater than this value \n Default value: 0"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "token_address"]
}
},
{
"name": "get_tokens_networks_onchain_top_traders",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query top token traders based on the provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/top_trader_get_response',\n $defs: {\n top_trader_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n traders: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n average_buy_price_usd: {\n type: 'string'\n },\n average_sell_price_usd: {\n type: 'string'\n },\n explorer_url: {\n type: 'string'\n },\n label: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n realized_pnl_usd: {\n type: 'string'\n },\n token_balance: {\n type: 'string'\n },\n total_buy_count: {\n type: 'integer'\n },\n total_buy_token_amount: {\n type: 'string'\n },\n total_buy_usd: {\n type: 'string'\n },\n total_sell_count: {\n type: 'integer'\n },\n total_sell_token_amount: {\n type: 'string'\n },\n total_sell_usd: {\n type: 'string'\n },\n type: {\n type: 'string'\n },\n unrealized_pnl_usd: {\n type: 'string'\n }\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network_id": {
"type": "string"
},
"token_address": {
"type": "string"
},
"include_address_label": {
"type": "boolean",
"description": "include address label data, default: false"
},
"sort": {
"type": "string",
"description": "sort the traders by field \n Default value: realized_pnl_usd_desc",
"enum": [
"realized_pnl_usd_desc",
"unrealized_pnl_usd_desc",
"total_buy_usd_desc",
"total_sell_usd_desc"
]
},
"traders": {
"type": "string",
"description": "number of top token traders to return, you may use any integer or `max` \n Default value: 10"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network_id", "token_address"]
}
},
{
"name": "get_pools_onchain_megafilter",
"description": "This endpoint allows you to **query pools based on various filters across all networks on GeckoTerminal**",
"inputSchema": {
"type": "object",
"properties": {
"buy_tax_percentage_max": {
"type": "number",
"description": "maximum buy tax percentage"
},
"buy_tax_percentage_min": {
"type": "number",
"description": "minimum buy tax percentage"
},
"buys_duration": {
"type": "string",
"description": "duration for buy transactions metric \n Default value: 24h",
"enum": ["5m", "1h", "6h", "24h"]
},
"buys_max": {
"type": "integer",
"description": "maximum number of buy transactions"
},
"buys_min": {
"type": "integer",
"description": "minimum number of buy transactions"
},
"checks": {
"type": "string",
"description": "filter options for various checks, comma-separated if more than one \n Available values: `no_honeypot`, `good_gt_score`, `on_coingecko`, `has_social`"
},
"dexes": {
"type": "string",
"description": "filter pools by DEXes, comma-separated if more than one \n DEX ID refers to [/networks/{network}/dexes](/reference/dexes-list)"
},
"fdv_usd_max": {
"type": "number",
"description": "maximum fully diluted value in USD"
},
"fdv_usd_min": {
"type": "number",
"description": "minimum fully diluted value in USD"
},
"h24_volume_usd_max": {
"type": "number",
"description": "maximum 24hr volume in USD"
},
"h24_volume_usd_min": {
"type": "number",
"description": "minimum 24hr volume in USD"
},
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`, `network`"
},
"include_unknown_honeypot_tokens": {
"type": "boolean",
"description": "when `checks` includes `no_honeypot`, set to **`true`** to also include 'unknown honeypot' tokens. Default value: `false`"
},
"networks": {
"type": "string",
"description": "filter pools by networks, comma-separated if more than one \n Network ID refers to [/networks](/reference/networks-list)"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"pool_created_hour_max": {
"type": "number",
"description": "maximum pool age in hours"
},
"pool_created_hour_min": {
"type": "number",
"description": "minimum pool age in hours"
},
"reserve_in_usd_max": {
"type": "number",
"description": "maximum reserve in USD"
},
"reserve_in_usd_min": {
"type": "number",
"description": "minimum reserve in USD"
},
"sell_tax_percentage_max": {
"type": "number",
"description": "maximum sell tax percentage"
},
"sell_tax_percentage_min": {
"type": "number",
"description": "minimum sell tax percentage"
},
"sells_duration": {
"type": "string",
"description": "duration for sell transactions metric \n Default value: 24h",
"enum": ["5m", "1h", "6h", "24h"]
},
"sells_max": {
"type": "integer",
"description": "maximum number of sell transactions"
},
"sells_min": {
"type": "integer",
"description": "minimum number of sell transactions"
},
"sort": {
"type": "string",
"description": "sort the pools by field \n Default value: h6_trending",
"enum": [
"m5_trending",
"h1_trending",
"h6_trending",
"h24_trending",
"h24_tx_count_desc",
"h24_volume_usd_desc",
"m5_price_change_percentage_asc",
"h1_price_change_percentage_asc",
"h6_price_change_percentage_asc",
"h24_price_change_percentage_asc",
"m5_price_change_percentage_desc",
"h1_price_change_percentage_desc",
"h6_price_change_percentage_desc",
"h24_price_change_percentage_desc",
"fdv_usd_asc",
"fdv_usd_desc",
"reserve_in_usd_asc",
"reserve_in_usd_desc",
"pool_created_at_desc"
]
},
"tx_count_duration": {
"type": "string",
"description": "duration for transaction count metric \n Default value: 24h",
"enum": ["5m", "1h", "6h", "24h"]
},
"tx_count_max": {
"type": "integer",
"description": "maximum transaction count"
},
"tx_count_min": {
"type": "integer",
"description": "minimum transaction count"
}
},
"required": []
}
},
{
"name": "get_pools_onchain_trending_search",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the trending search pools across all networks on GeckoTerminal**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/trending_search_get_response',\n $defs: {\n trending_search_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n fdv_usd: {\n type: 'string'\n },\n market_cap_usd: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n pool_created_at: {\n type: 'string'\n },\n reserve_in_usd: {\n type: 'string'\n },\n trending_rank: {\n type: 'number'\n },\n volume_usd: {\n type: 'object',\n properties: {\n h24: {\n type: 'string'\n }\n }\n }\n }\n },\n relationships: {\n type: 'object',\n properties: {\n base_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n dex: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n network: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n quote_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n },\n included: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n decimals: {\n type: 'integer'\n },\n image_url: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`, `network`"
},
"pools": {
"type": "integer",
"description": "number of pools to return, maximum 10 \n Default value: 4"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_search_onchain_pools",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **search for pools on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/pool_get_response',\n $defs: {\n pool_get_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n base_token_price_native_currency: {\n type: 'string'\n },\n base_token_price_quote_token: {\n type: 'string'\n },\n base_token_price_usd: {\n type: 'string'\n },\n fdv_usd: {\n type: 'string'\n },\n market_cap_usd: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n pool_created_at: {\n type: 'string'\n },\n price_change_percentage: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n },\n m15: {\n type: 'string'\n },\n m30: {\n type: 'string'\n },\n m5: {\n type: 'string'\n }\n }\n },\n quote_token_price_base_token: {\n type: 'string'\n },\n quote_token_price_native_currency: {\n type: 'string'\n },\n quote_token_price_usd: {\n type: 'string'\n },\n reserve_in_usd: {\n type: 'string'\n },\n transactions: {\n type: 'object',\n properties: {\n h1: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n h24: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m15: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m30: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n },\n m5: {\n type: 'object',\n properties: {\n buyers: {\n type: 'integer'\n },\n buys: {\n type: 'integer'\n },\n sellers: {\n type: 'integer'\n },\n sells: {\n type: 'integer'\n }\n }\n }\n }\n },\n volume_usd: {\n type: 'object',\n properties: {\n h1: {\n type: 'string'\n },\n h24: {\n type: 'string'\n },\n h6: {\n type: 'string'\n },\n m15: {\n type: 'string'\n },\n m30: {\n type: 'string'\n },\n m5: {\n type: 'string'\n }\n }\n }\n }\n },\n relationships: {\n type: 'object',\n properties: {\n base_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n dex: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n },\n quote_token: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n },\n included: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n address: {\n type: 'string'\n },\n coingecko_coin_id: {\n type: 'string'\n },\n decimals: {\n type: 'integer'\n },\n image_url: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n symbol: {\n type: 'string'\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"include": {
"type": "string",
"description": "attributes to include, comma-separated if more than one to include \n Available values: `base_token`, `quote_token`, `dex`"
},
"network": {
"type": "string",
"description": "network ID \n *refers to [/networks](/reference/networks-list)"
},
"page": {
"type": "integer",
"description": "page through results \n Default value: 1"
},
"query": {
"type": "string",
"description": "search query"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_addresses_networks_simple_onchain_token_price",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **get token price based on the provided token contract address on a network**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/token_price_get_addresses_response',\n $defs: {\n token_price_get_addresses_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n attributes: {\n type: 'object',\n properties: {\n h24_price_change_percentage: {\n type: 'object',\n additionalProperties: true\n },\n h24_volume_usd: {\n type: 'object',\n additionalProperties: true\n },\n last_trade_timestamp: {\n type: 'object',\n additionalProperties: true\n },\n market_cap_usd: {\n type: 'object',\n additionalProperties: true\n },\n token_prices: {\n type: 'object',\n additionalProperties: true\n },\n total_reserve_in_usd: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n type: {\n type: 'string'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"network": {
"type": "string"
},
"addresses": {
"type": "string"
},
"include_24hr_price_change": {
"type": "boolean",
"description": "include 24hr price change, default: false"
},
"include_24hr_vol": {
"type": "boolean",
"description": "include 24hr volume, default: false"
},
"include_inactive_source": {
"type": "boolean",
"description": "include token price data from inactive pools using the most recent swap, default: false"
},
"include_market_cap": {
"type": "boolean",
"description": "include market capitalization, default: false"
},
"include_total_reserve_in_usd": {
"type": "boolean",
"description": "include total reserve in USD, default: false"
},
"mcap_fdv_fallback": {
"type": "boolean",
"description": "return FDV if market cap is not available, default: false"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["network", "addresses"]
}
},
{
"name": "get_holding_chart_public_treasury",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query historical cryptocurrency holdings chart of public companies & governments** by Entity ID and Coin ID\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/public_treasury_get_holding_chart_response',\n $defs: {\n public_treasury_get_holding_chart_response: {\n type: 'object',\n properties: {\n holding_value_in_usd: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n },\n holdings: {\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"entity_id": {
"type": "string"
},
"coin_id": {
"type": "string"
},
"days": {
"type": "string",
"description": "data up to number of days ago \n Valid values: `7, 14, 30, 90, 180, 365, 730, max`"
},
"include_empty_intervals": {
"type": "boolean",
"description": "include empty intervals with no transaction data, default: false"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["entity_id", "coin_id", "days"]
}
},
{
"name": "get_transaction_history_public_treasury",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you **query public companies & governments' cryptocurrency transaction history** by Entity ID\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/public_treasury_get_transaction_history_response',\n $defs: {\n public_treasury_get_transaction_history_response: {\n type: 'object',\n properties: {\n transactions: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n average_entry_value_usd: {\n type: 'number',\n description: 'average entry value in usd after the transaction'\n },\n coin_id: {\n type: 'string',\n description: 'coin ID'\n },\n date: {\n type: 'number',\n description: 'transaction date in UNIX timestamp'\n },\n holding_balance: {\n type: 'number',\n description: 'total holding balance after the transaction'\n },\n holding_net_change: {\n type: 'number',\n description: 'net change in holdings after the transaction'\n },\n source_url: {\n type: 'string',\n description: 'source document URL'\n },\n transaction_value_usd: {\n type: 'number',\n description: 'transaction value in usd'\n },\n type: {\n type: 'string',\n description: 'transaction type: buy or sell',\n enum: [ 'buy',\n 'sell'\n ]\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"entity_id": {
"type": "string"
},
"coin_ids": {
"type": "string",
"description": "filter transactions by coin IDs, comma-separated if querying more than 1 coin \n *refers to [`/coins/list`](/reference/coins-list)."
},
"order": {
"type": "string",
"description": "use this to sort the order of transactions, default: `date_desc`",
"enum": [
"date_desc",
"date_asc",
"holding_net_change_desc",
"holding_net_change_asc",
"transaction_value_usd_desc",
"transaction_value_usd_asc",
"average_cost_desc",
"average_cost_asc"
]
},
"page": {
"type": "number",
"description": "page through results, default: `1`"
},
"per_page": {
"type": "number",
"description": "total results per page, default: `100` \n Valid values: 1...250"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["entity_id"]
}
},
{
"name": "get_search",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **search for coins, categories and markets listed on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/search_get_response',\n $defs: {\n search_get_response: {\n type: 'object',\n properties: {\n categories: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'category ID'\n },\n name: {\n type: 'string',\n description: 'category name'\n }\n }\n }\n },\n coins: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n api_symbol: {\n type: 'string',\n description: 'coin api symbol'\n },\n large: {\n type: 'string',\n description: 'coin large image url'\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin market cap rank'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n },\n thumb: {\n type: 'string',\n description: 'coin thumb image url'\n }\n }\n }\n },\n exchanges: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'exchange ID'\n },\n large: {\n type: 'string',\n description: 'exchange large image url'\n },\n market_type: {\n type: 'string',\n description: 'exchange market type'\n },\n name: {\n type: 'string',\n description: 'exchange name'\n },\n thumb: {\n type: 'string',\n description: 'exchange thumb image url'\n }\n }\n }\n },\n icos: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n nfts: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'NFT collection ID'\n },\n name: {\n type: 'string',\n description: 'NFT name'\n },\n symbol: {\n type: 'string',\n description: 'NFT collection symbol'\n },\n thumb: {\n type: 'string',\n description: 'NFT collection thumb image url'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "search query"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["query"]
}
},
{
"name": "get_search_trending",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/trending_get_response',\n $defs: {\n trending_get_response: {\n type: 'object',\n properties: {\n categories: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'number'\n },\n coins_count: {\n type: 'number',\n description: 'category number of coins'\n },\n data: {\n type: 'object',\n properties: {\n market_cap: {\n type: 'number',\n description: 'category market cap'\n },\n market_cap_btc: {\n type: 'number',\n description: 'category market cap in btc'\n },\n market_cap_change_percentage_24h: {\n type: 'object',\n description: 'category market cap change percentage in 24 hours',\n properties: {\n btc: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n sparkline: {\n type: 'string',\n description: 'category sparkline image url'\n },\n total_volume: {\n type: 'number',\n description: 'category total volume'\n },\n total_volume_btc: {\n type: 'number',\n description: 'category total volume in btc'\n }\n }\n },\n market_cap_1h_change: {\n type: 'number',\n description: 'category market cap 1 hour change'\n },\n name: {\n type: 'string',\n description: 'category name'\n },\n slug: {\n type: 'string',\n description: 'category web slug'\n }\n }\n }\n },\n coins: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'coin ID'\n },\n coin_id: {\n type: 'number'\n },\n data: {\n type: 'object',\n properties: {\n content: {\n type: 'string'\n },\n market_cap: {\n type: 'string',\n description: 'coin market cap in usd'\n },\n market_cap_btc: {\n type: 'string',\n description: 'coin market cap in btc'\n },\n price: {\n type: 'number',\n description: 'coin price in usd'\n },\n price_btc: {\n type: 'string',\n description: 'coin price in btc'\n },\n price_change_percentage_24h: {\n type: 'object',\n description: 'coin price change percentage in 24 hours',\n properties: {\n btc: {\n type: 'number'\n },\n usd: {\n type: 'number'\n }\n }\n },\n sparkline: {\n type: 'string',\n description: 'coin sparkline image url'\n },\n total_volume: {\n type: 'string',\n description: 'coin total volume in usd'\n },\n total_volume_btc: {\n type: 'string',\n description: 'coin total volume in btc'\n }\n }\n },\n large: {\n type: 'string',\n description: 'coin large image url'\n },\n market_cap_rank: {\n type: 'number',\n description: 'coin market cap rank'\n },\n name: {\n type: 'string',\n description: 'coin name'\n },\n price_btc: {\n type: 'number',\n description: 'coin price in btc'\n },\n score: {\n type: 'number',\n description: 'coin sequence in the list'\n },\n slug: {\n type: 'string',\n description: 'coin web slug'\n },\n small: {\n type: 'string',\n description: 'coin small image url'\n },\n symbol: {\n type: 'string',\n description: 'coin symbol'\n },\n thumb: {\n type: 'string',\n description: 'coin thumb image url'\n }\n }\n }\n },\n nfts: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'NFT collection ID'\n },\n data: {\n type: 'object',\n properties: {\n content: {\n type: 'string'\n },\n floor_price: {\n type: 'string',\n description: 'NFT collection floor price'\n },\n floor_price_in_usd_24h_percentage_change: {\n type: 'string',\n description: 'NFT collection floor price in usd 24 hours percentage change'\n },\n h24_average_sale_price: {\n type: 'string',\n description: 'NFT collection 24 hours average sale price'\n },\n h24_volume: {\n type: 'string',\n description: 'NFT collection volume in 24 hours'\n },\n sparkline: {\n type: 'string',\n description: 'NFT collection sparkline image url'\n }\n }\n },\n floor_price_24h_percentage_change: {\n type: 'number',\n description: 'NFT collection floor price 24 hours percentage change'\n },\n floor_price_in_native_currency: {\n type: 'number',\n description: 'NFT collection floor price in native currency'\n },\n name: {\n type: 'string',\n description: 'NFT collection name'\n },\n native_currency_symbol: {\n type: 'string',\n description: 'NFT collection native currency symbol'\n },\n nft_contract_id: {\n type: 'number'\n },\n symbol: {\n type: 'string',\n description: 'NFT collection symbol'\n },\n thumb: {\n type: 'string',\n description: 'NFT collection thumb image url'\n }\n }\n }\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"show_max": {
"type": "string",
"description": "show max number of results available for the given type \n Available values: `coins`, `nfts`, `categories` \n Example: `coins` or `coins,nfts,categories`"
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_simple_price",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query the prices of one or more coins by using their unique Coin API IDs**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/price_get_response',\n $defs: {\n price_get_response: {\n type: 'object',\n additionalProperties: true\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"vs_currencies": {
"type": "string",
"description": "target currency of coins, comma-separated if querying more than 1 currency. \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"ids": {
"type": "string",
"description": "coins' IDs, comma-separated if querying more than 1 coin. \n *refers to [`/coins/list`](/reference/coins-list)."
},
"include_24hr_change": {
"type": "boolean",
"description": "include 24hr change percentage, default: false"
},
"include_24hr_vol": {
"type": "boolean",
"description": "include 24hr volume, default: false"
},
"include_last_updated_at": {
"type": "boolean",
"description": "include last updated price time in UNIX, default: false"
},
"include_market_cap": {
"type": "boolean",
"description": "include market capitalization, default: false"
},
"include_tokens": {
"type": "string",
"description": "for `symbols` lookups, specify `all` to include all matching tokens \n Default `top` returns top-ranked tokens (by market cap or volume)",
"enum": ["top", "all"]
},
"names": {
"type": "string",
"description": "coins' names, comma-separated if querying more than 1 coin."
},
"precision": {
"type": "string",
"description": "decimal place for currency price value",
"enum": [
"full",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18"
]
},
"symbols": {
"type": "string",
"description": "coins' symbols, comma-separated if querying more than 1 coin."
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["vs_currencies"]
}
},
{
"name": "get_simple_supported_vs_currencies",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query all the supported currencies on CoinGecko**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/supported_vs_currency_get_response',\n $defs: {\n supported_vs_currency_get_response: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": []
}
},
{
"name": "get_id_simple_token_price",
"description": "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThis endpoint allows you to **query one or more token prices using their token contract addresses**\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/token_price_get_id_response',\n $defs: {\n token_price_get_id_response: {\n type: 'object',\n properties: {\n last_updated_at: {\n type: 'number',\n description: 'last updated timestamp'\n },\n usd: {\n type: 'number',\n description: 'price in USD'\n },\n usd_24h_change: {\n type: 'number',\n description: '24hr change in USD'\n },\n usd_24h_vol: {\n type: 'number',\n description: '24hr volume in USD'\n },\n usd_market_cap: {\n type: 'number',\n description: 'market cap in USD'\n }\n }\n }\n }\n}\n```",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"contract_addresses": {
"type": "string",
"description": "the contract addresses of tokens, comma-separated if querying more than 1 token's contract address"
},
"vs_currencies": {
"type": "string",
"description": "target currency of coins, comma-separated if querying more than 1 currency. \n *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."
},
"include_24hr_change": {
"type": "boolean",
"description": "include 24hr change \n default: false"
},
"include_24hr_vol": {
"type": "boolean",
"description": "include 24hr volume, default: false"
},
"include_last_updated_at": {
"type": "boolean",
"description": "include last updated price time in UNIX , default: false"
},
"include_market_cap": {
"type": "boolean",
"description": "include market capitalization, default: false"
},
"precision": {
"type": "string",
"description": "decimal place for currency price value",
"enum": [
"full",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18"
]
},
"jq_filter": {
"type": "string",
"title": "jq Filter",
"description": "A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide \".results[].name\".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/)."
}
},
"required": ["id", "contract_addresses", "vs_currencies"]
}
},
{
"name": "search_docs",
"description": "Search for documentation for how to use the client to interact with the API.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The query to search for."
},
"language": {
"type": "string",
"description": "The language for the SDK to search for.",
"enum": [
"http",
"python",
"go",
"typescript",
"javascript",
"terraform",
"ruby",
"java",
"kotlin"
]
},
"detail": {
"type": "string",
"description": "The amount of detail to return.",
"enum": ["default", "verbose"]
}
},
"required": ["query", "language"]
}
}
],
"error": null
},
"coingecko-pro": {
"name": "CoinGecko Pro MCP Client",
"package": "https://mcp.pro-api.coingecko.com/mcp",
"tools": [],
"error": "Remote MCP endpoint requires CoinGecko Pro API key authorization"
},
"abi": {
"name": "ABI MCP Client",
"package": "@iqai/mcp-abi",
"tools": [],
"error": "Tools are dynamically generated from a user-provided contract ABI"
},
"atp": {
"name": "ATP MCP Client",
"package": "@iqai/mcp-atp",
"tools": [
{
"name": "ATP_AGENT_STATS",
"description": "Get statistics and details of a given AI agent on the ATP platform.",
"inputSchema": {
"type": "object",
"properties": {
"tokenContract": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the agent token (e.g., 0x123...abc)."
}
},
"required": ["tokenContract"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_GET_AGENTS",
"description": "Retrieve a list of AI agents from the ATP platform with optional sorting and limiting.",
"inputSchema": {
"type": "object",
"properties": {
"sort": {
"type": "string",
"enum": ["mcap", "holders", "inferences"],
"description": "\n Sort agents by market cap, holders count, or inference count.\n Available options are:\n - mcap: Sort by market cap\n - holders: Sort by holders count\n - inferences: Sort by inference count\n Defaults to market cap if not specified.\n "
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_GET_AGENT_LOGS",
"description": "Retrieve logs for a specific AI agent, with pagination.",
"inputSchema": {
"type": "object",
"properties": {
"agentTokenContract": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the agent token."
},
"page": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Page number for pagination. Defaults to 1."
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Number of logs per page. Defaults to 10."
}
},
"required": ["agentTokenContract"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_ADD_AGENT_LOG",
"description": "Add a new log entry for a specific AI agent. Requires API key as a parameter.",
"inputSchema": {
"type": "object",
"properties": {
"agentTokenContract": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the agent token."
},
"content": {
"type": "string",
"minLength": 1,
"description": "The content of the log message."
},
"txHash": {
"type": "string",
"description": "Optional transaction hash associated with this log entry."
},
"chainId": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Optional chain ID associated with this log entry."
}
},
"required": ["agentTokenContract", "content"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_BUY_AGENT",
"description": "Buy AI agent tokens using IQ as the base currency.",
"inputSchema": {
"type": "object",
"properties": {
"tokenContract": {
"type": "string",
"pattern": "^0x",
"minLength": 42,
"maxLength": 42,
"description": "The contract address of the agent token to buy."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "The amount of base currency (IQ) to spend for buying the agent token, specified in wei units (e.g., '1000000000000000000' for 1 IQ)."
}
},
"required": ["tokenContract", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_SELL_AGENT",
"description": "Sell AI agent tokens back to the protocol.",
"inputSchema": {
"type": "object",
"properties": {
"tokenContract": {
"type": "string",
"pattern": "^0x",
"minLength": 42,
"maxLength": 42,
"description": "The contract address of the agent token to sell."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "The amount of agent tokens to sell, specified in wei units (e.g., '1000000000000000000' for 1 token)."
}
},
"required": ["tokenContract", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ATP_GET_AGENT_POSITIONS",
"description": "Retrieve the positions of the user's agent tokens.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}
],
"error": null
},
"bamm": {
"name": "BAMM MCP Client",
"package": "@iqai/mcp-bamm",
"tools": [
{
"name": "ADD_COLLATERAL",
"description": "Add collateral to your BAMM position",
"inputSchema": {
"type": "object",
"properties": {
"bammAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the BAMM contract"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "The amount of collateral to add"
},
"collateralToken": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the collateral token"
},
"collateralTokenSymbol": {
"type": "string",
"description": "The symbol of the collateral token (e.g., 'IQT')"
}
},
"required": ["bammAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "BORROW",
"description": "Borrow tokens from a BAMM position",
"inputSchema": {
"type": "object",
"properties": {
"bammAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the BAMM contract"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "The amount to borrow"
},
"borrowToken": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the token to borrow"
},
"borrowTokenSymbol": {
"type": "string",
"description": "The symbol of the token to borrow (e.g., 'IQT')"
}
},
"required": ["bammAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_POSITIONS",
"description": "Get all your active BAMM positions",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"name": "LEND",
"description": "Lend Fraxswap LP tokens to a BAMM contract",
"inputSchema": {
"type": "object",
"properties": {
"bammAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the BAMM contract"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "The amount of LP tokens to lend"
}
},
"required": ["bammAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "POOL_STATS",
"description": "Get statistics for all BAMM pools",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"name": "REMOVE_COLLATERAL",
"description": "Remove collateral from your BAMM position",
"inputSchema": {
"type": "object",
"properties": {
"bammAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the BAMM contract"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "The amount of collateral to remove"
},
"collateralToken": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the collateral token"
},
"collateralTokenSymbol": {
"type": "string",
"description": "The symbol of the collateral token (e.g., 'IQT')"
}
},
"required": ["bammAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "REPAY",
"description": "Repay borrowed tokens to a BAMM position",
"inputSchema": {
"type": "object",
"properties": {
"bammAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the BAMM contract"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "The amount to repay"
},
"borrowToken": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The address of the token to repay"
},
"borrowTokenSymbol": {
"type": "string",
"description": "The symbol of the token to repay (e.g., 'IQT')"
}
},
"required": ["bammAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"fraxlend": {
"name": "Fraxlend MCP Client",
"package": "@iqai/mcp-fraxlend",
"tools": [
{
"name": "FRAXLEND_ADD_COLLATERAL",
"description": "Add collateral to a FraxLend position",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the asset to add as collateral."
},
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to add as collateral in the FraxLend pool."
}
},
"required": ["pairAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_GET_POSITIONS",
"description": "Get your positions in FraxLend pools",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The address of the user to get the positions for"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_BORROW",
"description": "Borrow assets from a FraxLend pool",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the agent token to sell."
},
"receiver": {
"type": "string",
"pattern": "^0x",
"description": "The address to receive the borrowed assets."
},
"collateralAmount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the collateral asset to deposit in the FraxLend pool."
},
"borrowAmount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to borrow from the FraxLend pool."
}
},
"required": [
"pairAddress",
"receiver",
"collateralAmount",
"borrowAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_GET_STATS",
"description": "Get lending statistics from FraxLend pools",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"name": "FRAXLEND_LEND",
"description": "Lend assets to a FraxLend pool",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the asset to lend."
},
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to lend in the FraxLend pool."
}
},
"required": ["pairAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_GET_PAIR_ADDRESS",
"description": "Get FraxLend pair addresses and pool information",
"inputSchema": {
"type": "object",
"properties": {
"assetSymbol": {
"type": "string",
"description": "The symbol of the asset token."
},
"collateralSymbol": {
"type": "string",
"description": "The symbol of the collateral token."
},
"sortByApr": {
"type": "string",
"enum": ["highest", "lowest"],
"description": "Sort the results by APR, either highest or lowest."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_REMOVE_COLLATERAL",
"description": "Remove collateral from a FraxLend position",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the asset to remove as collateral."
},
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to remove collateral from the FraxLend pool."
}
},
"required": ["pairAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_REPAY",
"description": "Repay borrowed assets to a FraxLend pool",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the asset to repay."
},
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to repay in the FraxLend pool."
}
},
"required": ["pairAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FRAXLEND_WITHDRAW",
"description": "Withdraw assets from a FraxLend pool",
"inputSchema": {
"type": "object",
"properties": {
"pairAddress": {
"type": "string",
"pattern": "^0x",
"description": "The contract address of the asset to withdraw."
},
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$",
"description": "The amount for the asset to withdraw from the FraxLend pool."
}
},
"required": ["pairAddress", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"iqwiki": {
"name": "IQWiki MCP Client",
"package": "@iqai/mcp-iqwiki",
"tools": [
{
"name": "GET_WIKI",
"description": "Get details about a specific wiki from IQ.wiki by ID",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The ID of the wiki to retrieve"
}
},
"required": ["id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_CREATED_WIKIS",
"description": "Get wikis created by a specific user on IQ.wiki",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The Ethereum address of the user"
},
"timeFrameSeconds": {
"type": "number",
"description": "Optional time frame in seconds to filter results"
}
},
"required": ["id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_EDITED_WIKIS",
"description": "Get wikis edited by a specific user on IQ.wiki",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The Ethereum address of the user"
},
"timeFrameSeconds": {
"type": "number",
"description": "Optional time frame in seconds to filter results"
}
},
"required": ["id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_WIKI_ACTIVITIES",
"description": "Get wiki activities (creations or edits) for a specific user on IQ.wiki",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The Ethereum address of the user"
},
"activityType": {
"type": "string",
"enum": ["CREATED", "UPDATED"],
"description": "Type of activity: CREATED or UPDATED"
},
"timeFrameSeconds": {
"type": "number",
"description": "Optional time frame in seconds to filter results"
}
},
"required": ["id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "SEARCH_WIKI",
"description": "Search for a wiki from IQ.wiki by query",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "The query to search for"
}
},
"required": ["query"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"near-agent": {
"name": "NEAR Agent MCP Client",
"package": "@iqai/mcp-near-agent",
"tools": [
{
"name": "watch_near_event",
"description": "Start watching for specific events on a NEAR contract and process them with AI responses",
"inputSchema": {
"type": "object",
"properties": {
"eventName": {
"type": "string",
"description": "Name of the NEAR event to watch for"
},
"contractId": {
"type": "string",
"description": "NEAR contract ID to monitor"
},
"responseMethodName": {
"type": "string",
"default": "agent_response",
"description": "Contract method to call with the response (defaults to agent_response)"
},
"responseParameterName": {
"type": "string",
"default": "response",
"description": "Name of the parameter to pass to the response method (defaults to response)"
},
"cronExpression": {
"type": "string",
"default": "*/10 * * * * *",
"description": "Cron expression for polling frequency (default: every 10 seconds)"
}
},
"required": ["eventName", "contractId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "stop_watching_near_event",
"description": "Stop watching for specific events on a NEAR contract",
"inputSchema": {
"type": "object",
"properties": {
"contractId": {
"type": "string",
"description": "NEAR contract ID to stop monitoring"
},
"eventName": {
"type": "string",
"description": "Name of the event to stop watching"
}
},
"required": ["contractId", "eventName"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "list_watched_near_events",
"description": "List all currently watched NEAR events and their status",
"inputSchema": {
"type": "object",
"properties": {
"includeStats": {
"type": "boolean",
"description": "Include detailed statistics"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"near-intents": {
"name": "Near Intents Swaps MCP Client",
"package": "@iqai/mcp-near-intent-swaps",
"tools": [
{
"name": "GET_NEAR_SWAP_SIMPLE_QUOTE",
"description": "[STEP 1] Get a simple quote for a NEAR intent swap between different chains and assets. This is a dry run that doesn't require any addresses - perfect for users who want to check swap rates and fees before committing to a swap. Use this when users want to explore swap options without providing recipient addresses. NOTE: If users provide simple token names (e.g., 'ETH', 'USDC'), first use GET_NEAR_SWAP_TOKENS to discover the exact token IDs required for this API.",
"inputSchema": {
"type": "object",
"properties": {
"originAsset": {
"type": "string",
"minLength": 1,
"description": "ID of the origin asset (e.g. 'nep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near')"
},
"destinationAsset": {
"type": "string",
"minLength": 1,
"description": "ID of the destination asset (e.g. 'nep141:sol-5ce3bf3a31af18be40ba30f721101b4341690186.omft.near')"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "Amount to swap as the base amount, denoted in the smallest unit of the specified currency (e.g., wei for ETH)"
},
"swapType": {
"type": "string",
"enum": ["EXACT_INPUT", "EXACT_OUTPUT"],
"default": "EXACT_INPUT",
"description": "(Optional, defaults to EXACT_INPUT) Whether to use the amount as input or output for the swap calculation"
},
"slippageTolerance": {
"type": "number",
"default": 100,
"description": "(Optional, defaults to 100) Slippage tolerance in basis points (100 = 1%)"
},
"quoteWaitingTimeMs": {
"type": "number",
"default": 3000,
"description": "(Optional, defaults to 3000) Time in milliseconds to wait for quote from relay"
}
},
"required": ["originAsset", "destinationAsset", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_NEAR_SWAP_FULL_QUOTE",
"description": "[STEP 2] Get a full quote with deposit address for a NEAR intent swap. This requires recipient and refund addresses and returns a unique deposit address where users can send their funds to initiate the swap. Use this when users are ready to proceed with the swap after checking the simple quote. NOTE: If users provide simple token names (e.g., 'ETH', 'USDC'), first use GET_NEAR_SWAP_TOKENS to discover the exact token IDs required for this API.",
"inputSchema": {
"type": "object",
"properties": {
"swapType": {
"type": "string",
"enum": ["EXACT_INPUT", "EXACT_OUTPUT"],
"default": "EXACT_INPUT",
"description": "(Optional, defaults to EXACT_INPUT) Whether to use the amount as the output or the input for the basis of the swap: EXACT_INPUT - request output amount for exact input, EXACT_OUTPUT - request output amount for exact output. The refundTo address will always receive excess tokens back even after the swap is complete."
},
"originAsset": {
"type": "string",
"minLength": 1,
"description": "ID of the origin asset (e.g. 'nep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near')"
},
"destinationAsset": {
"type": "string",
"minLength": 1,
"description": "ID of the destination asset (e.g. 'nep141:sol-5ce3bf3a31af18be40ba30f721101b4341690186.omft.near')"
},
"amount": {
"type": "string",
"minLength": 1,
"description": "Amount to swap as the base amount (can be switched to exact input/output using the dedicated flag), denoted in the smallest unit of the specified currency (e.g., wei for ETH)"
},
"recipient": {
"type": "string",
"minLength": 1,
"description": "Recipient address. The format should match recipientType."
},
"recipientType": {
"type": "string",
"enum": ["DESTINATION_CHAIN", "INTENTS"],
"default": "DESTINATION_CHAIN",
"description": "(Optional, defaults to DESTINATION_CHAIN) Type of recipient address: DESTINATION_CHAIN - assets will be transferred to chain of destinationAsset, INTENTS - assets will be transferred to account inside intents"
},
"refundTo": {
"type": "string",
"description": "(Optional) Address for user refund"
},
"refundType": {
"type": "string",
"enum": ["ORIGIN_CHAIN", "INTENTS"],
"default": "ORIGIN_CHAIN",
"description": "(Optional, defaults to ORIGIN_CHAIN) Type of refund address: ORIGIN_CHAIN - assets will be refunded to refundTo address on the origin chain, INTENTS - assets will be refunded to refundTo intents account"
},
"slippageTolerance": {
"type": "number",
"default": 100,
"description": "(Optional, defaults to 100) Slippage tolerance for the swap. This value is in basis points (1/100th of a percent), e.g. 100 for 1% slippage."
},
"dry": {
"type": "boolean",
"default": false,
"description": "(Optional, defaults to false) Flag indicating whether this is a dry run request. If true, the response will NOT contain the following fields: depositAddress, timeWhenInactive, deadline."
},
"depositType": {
"type": "string",
"enum": ["ORIGIN_CHAIN", "INTENTS"],
"default": "ORIGIN_CHAIN",
"description": "(Optional, defaults to ORIGIN_CHAIN) Type of the deposit address: ORIGIN_CHAIN - deposit address on the origin chain, INTENTS - account ID inside near intents to which you should transfer assets inside intents"
},
"deadline": {
"type": "string",
"default": "2026-02-28T23:13:23.969Z",
"description": "(Optional, defaults to 1 hour from now) Timestamp in ISO format, that identifies when user refund will begin if the swap isn't completed by then. It needs to exceed the time required for the deposit tx to be minted, e.g. for Bitcoin it might require ~1h depending on the gas fees paid."
},
"referral": {
"type": "string",
"description": "(Optional) Referral identifier (lower case only). It will be reflected in the on-chain data and displayed on public analytics platforms."
},
"quoteWaitingTimeMs": {
"type": "number",
"default": 3000,
"description": "(Optional, defaults to 3000) Time in milliseconds user is willing to wait for quote from relay"
}
},
"required": [
"originAsset",
"destinationAsset",
"amount",
"recipient"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "EXECUTE_NEAR_SWAP",
"description": "[STEP 4] Submit a deposit transaction hash to initiate the swap after sending funds to the deposit address. This notifies the 1Click service that funds have been sent and triggers the swap execution process. Use this after users have sent their funds to the deposit address from the full quote response.",
"inputSchema": {
"type": "object",
"properties": {
"txHash": {
"type": "string",
"minLength": 1,
"description": "Transaction hash of your deposit transaction that was sent to the deposit address from the quote"
},
"depositAddress": {
"type": "string",
"minLength": 1,
"description": "The deposit address that was provided in the quote response and to which the deposit transaction was sent"
}
},
"required": ["txHash", "depositAddress"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CHECK_NEAR_SWAP_STATUS",
"description": "[STEP 5] Check the current execution status of a NEAR intent swap. Returns the swap state (PENDING_DEPOSIT, PROCESSING, SUCCESS, REFUNDED, FAILED, etc.) along with detailed transaction information. Use this to monitor swap progress after initiating the swap, and continue polling until the swap is complete.",
"inputSchema": {
"type": "object",
"properties": {
"depositAddress": {
"type": "string",
"minLength": 1,
"description": "The unique deposit address from the quote response - used to track and retrieve the current status of the swap"
}
},
"required": ["depositAddress"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_NEAR_SWAP_TOKENS",
"description": "[DISCOVERY] Get a list of tokens currently supported by the 1Click API for NEAR Intents. Returns token metadata including blockchain, contract address, current USD price, symbol, decimals, and price update timestamp. Use this to help users discover available tokens before requesting quotes.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"odos": {
"name": "ODOS MCP Client",
"package": "@iqai/mcp-odos",
"tools": [
{
"name": "ODOS_GET_QUOTE",
"description": "Get a quote for a swap or exchange operation",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "The blockchain network to execute the transaction on. uses fraxtal as default",
"default": "fraxtal"
},
"fromToken": {
"type": "string",
"description": "The token to swap from (address)."
},
"toToken": {
"type": "string",
"description": "The token to swap to (address)."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "The amount of tokens to swap, in wei."
},
"prettyFormat": {
"type": "boolean",
"description": "Whether to pretty format the quote.",
"default": true
}
},
"required": ["fromToken", "toToken", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ODOS_SWAP",
"description": "Execute a swap transaction",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "The blockchain network to execute the transaction on. uses fraxtal as default",
"default": "fraxtal"
},
"fromToken": {
"type": "string",
"description": "The token to swap from (address)."
},
"toToken": {
"type": "string",
"description": "The token to swap to (address)."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "The amount of tokens to swap, in wei."
},
"prettyFormat": {
"type": "boolean",
"description": "Whether to pretty format the quote.",
"default": true
}
},
"required": ["fromToken", "toToken", "amount"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "ODOS_GET_CHAIN_ID",
"description": "Get the chain ID for a given chain name",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "The chain name to get the ID for"
}
},
"required": ["chain"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"telegram": {
"name": "Telegram MCP Client",
"package": "@iqai/mcp-telegram",
"tools": [
{
"name": "SEND_MESSAGE",
"description": "Send a message to a Telegram chat or channel",
"inputSchema": {
"type": "object",
"properties": {
"chatId": {
"type": ["string", "number"],
"description": "The chat ID or channel username (e.g., @channelname or -1001234567890)"
},
"text": {
"type": "string",
"minLength": 1,
"description": "The message text to send"
},
"topicId": {
"type": "number",
"description": "The topic ID for forum channels (optional)"
}
},
"required": ["chatId", "text"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_CHANNEL_INFO",
"description": "Get information about a Telegram channel or chat",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": ["string", "number"],
"description": "The channel ID or username (e.g., @channelname or -1001234567890)"
}
},
"required": ["channelId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "FORWARD_MESSAGE",
"description": "Forward a message from one chat to another",
"inputSchema": {
"type": "object",
"properties": {
"fromChatId": {
"type": ["string", "number"],
"description": "Source chat ID or username"
},
"toChatId": {
"type": ["string", "number"],
"description": "Destination chat ID or username"
},
"messageId": {
"type": "number",
"description": "ID of the message to forward"
},
"disableNotification": {
"type": "boolean",
"description": "Forward message silently"
}
},
"required": ["fromChatId", "toChatId", "messageId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "PIN_MESSAGE",
"description": "Pin a message in a Telegram chat or channel",
"inputSchema": {
"type": "object",
"properties": {
"chatId": {
"type": ["string", "number"],
"description": "The chat ID or channel username"
},
"messageId": {
"type": "number",
"description": "ID of the message to pin"
},
"disableNotification": {
"type": "boolean",
"description": "Pin message silently"
}
},
"required": ["chatId", "messageId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_CHANNEL_MEMBERS",
"description": "Get a list of channel administrators and members",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": ["string", "number"],
"description": "The channel ID or username"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Maximum number of members to retrieve (1-50)"
}
},
"required": ["channelId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"discord": {
"name": "Discord MCP Client",
"package": "@iqai/mcp-discord",
"tools": [
{
"name": "discord_create_category",
"description": "Creates a new category in a Discord server.",
"inputSchema": {
"type": "object",
"properties": {
"guildId": {
"type": "string"
},
"name": {
"type": "string"
},
"position": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"required": ["guildId", "name"]
}
},
{
"name": "discord_edit_category",
"description": "Edits an existing Discord category (name and position).",
"inputSchema": {
"type": "object",
"properties": {
"categoryId": {
"type": "string"
},
"name": {
"type": "string"
},
"position": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"required": ["categoryId"]
}
},
{
"name": "discord_delete_category",
"description": "Deletes a Discord category by ID.",
"inputSchema": {
"type": "object",
"properties": {
"categoryId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["categoryId"]
}
},
{
"name": "discord_login",
"description": "Logs in to Discord using the configured token",
"inputSchema": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"required": []
}
},
{
"name": "discord_send",
"description": "Sends a message to a specified Discord text channel",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": ["channelId", "message"]
}
},
{
"name": "discord_get_forum_channels",
"description": "Lists all forum channels in a specified Discord server (guild)",
"inputSchema": {
"type": "object",
"properties": {
"guildId": {
"type": "string"
}
},
"required": ["guildId"]
}
},
{
"name": "discord_create_forum_post",
"description": "Creates a new post in a Discord forum channel with optional tags",
"inputSchema": {
"type": "object",
"properties": {
"forumChannelId": {
"type": "string"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["forumChannelId", "title", "content"]
}
},
{
"name": "discord_get_forum_post",
"description": "Retrieves details about a forum post including its messages",
"inputSchema": {
"type": "object",
"properties": {
"threadId": {
"type": "string"
}
},
"required": ["threadId"]
}
},
{
"name": "discord_reply_to_forum",
"description": "Adds a reply to an existing forum post or thread",
"inputSchema": {
"type": "object",
"properties": {
"threadId": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": ["threadId", "message"]
}
},
{
"name": "discord_create_text_channel",
"description": "Creates a new text channel in a Discord server with an optional topic",
"inputSchema": {
"type": "object",
"properties": {
"guildId": {
"type": "string"
},
"channelName": {
"type": "string"
},
"topic": {
"type": "string"
}
},
"required": ["guildId", "channelName"]
}
},
{
"name": "discord_delete_channel",
"description": "Deletes a Discord channel with an optional reason",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["channelId"]
}
},
{
"name": "discord_read_messages",
"description": "Retrieves messages from a Discord text channel with a configurable limit",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": ["channelId"]
}
},
{
"name": "discord_get_server_info",
"description": "Retrieves detailed information about a Discord server including channels and member count",
"inputSchema": {
"type": "object",
"properties": {
"guildId": {
"type": "string"
}
},
"required": ["guildId"]
}
},
{
"name": "discord_add_reaction",
"description": "Adds an emoji reaction to a specific Discord message",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"messageId": {
"type": "string"
},
"emoji": {
"type": "string"
}
},
"required": ["channelId", "messageId", "emoji"]
}
},
{
"name": "discord_add_multiple_reactions",
"description": "Adds multiple emoji reactions to a Discord message at once",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"messageId": {
"type": "string"
},
"emojis": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["channelId", "messageId", "emojis"]
}
},
{
"name": "discord_remove_reaction",
"description": "Removes a specific emoji reaction from a Discord message",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"messageId": {
"type": "string"
},
"emoji": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": ["channelId", "messageId", "emoji"]
}
},
{
"name": "discord_delete_forum_post",
"description": "Deletes a forum post or thread with an optional reason",
"inputSchema": {
"type": "object",
"properties": {
"threadId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["threadId"]
}
},
{
"name": "discord_delete_message",
"description": "Deletes a specific message from a Discord text channel",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["channelId", "messageId"]
}
},
{
"name": "discord_create_webhook",
"description": "Creates a new webhook for a Discord channel",
"inputSchema": {
"type": "object",
"properties": {
"channelId": {
"type": "string"
},
"name": {
"type": "string"
},
"avatar": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["channelId", "name"]
}
},
{
"name": "discord_send_webhook_message",
"description": "Sends a message to a Discord channel using a webhook",
"inputSchema": {
"type": "object",
"properties": {
"webhookId": {
"type": "string"
},
"webhookToken": {
"type": "string"
},
"content": {
"type": "string"
},
"username": {
"type": "string"
},
"avatarURL": {
"type": "string"
},
"threadId": {
"type": "string"
}
},
"required": ["webhookId", "webhookToken", "content"]
}
},
{
"name": "discord_edit_webhook",
"description": "Edits an existing webhook for a Discord channel",
"inputSchema": {
"type": "object",
"properties": {
"webhookId": {
"type": "string"
},
"webhookToken": {
"type": "string"
},
"name": {
"type": "string"
},
"avatar": {
"type": "string"
},
"channelId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["webhookId"]
}
},
{
"name": "discord_delete_webhook",
"description": "Deletes an existing webhook for a Discord channel",
"inputSchema": {
"type": "object",
"properties": {
"webhookId": {
"type": "string"
},
"webhookToken": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": ["webhookId"]
}
}
],
"error": null
},
"upbit": {
"name": "Upbit MCP Client",
"package": "@iqai/mcp-upbit",
"tools": [
{
"name": "GET_TICKER",
"description": "Get the latest ticker data from Upbit for a single market",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string",
"minLength": 3,
"description": "Upbit market code, e.g., KRW-BTC"
}
},
"required": ["market"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDERBOOK",
"description": "Get orderbook snapshot for a given market",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string",
"minLength": 3,
"description": "Upbit market code, e.g., KRW-BTC"
}
},
"required": ["market"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_TRADES",
"description": "Get recent trades for a market",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string",
"minLength": 3,
"description": "Upbit market code, e.g., KRW-BTC"
}
},
"required": ["market"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ACCOUNTS",
"description": "Get Upbit account balances (requires private API enabled)",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CREATE_ORDER",
"description": "Create an Upbit order (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string"
},
"side": {
"type": "string",
"enum": ["bid", "ask"]
},
"ord_type": {
"type": "string",
"enum": ["limit", "price", "market"]
},
"volume": {
"type": "string"
},
"price": {
"type": "string"
},
"time_in_force": {
"type": "string",
"enum": ["ioc", "fok", "post_only"]
},
"smp_type": {
"type": "string",
"enum": ["cancel_maker", "cancel_taker", "reduce"]
},
"identifier": {
"type": "string"
}
},
"required": ["market", "side", "ord_type"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDERS",
"description": "List Upbit orders (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string"
},
"state": {
"type": "string",
"enum": ["wait", "done", "cancel"],
"default": "wait"
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDER",
"description": "Get a single Upbit order (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"uuid": {
"type": "string"
},
"identifier": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_ORDER",
"description": "Cancel an existing Upbit order (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1
}
},
"required": ["uuid"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LIST_WITHDRAWAL_ADDRESSES",
"description": "List registered withdrawal-allowed addresses (requires private API)",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CREATE_WITHDRAWAL",
"description": "Request a digital asset withdrawal (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"amount": {
"type": "string"
},
"address": {
"type": "string"
},
"net_type": {
"type": "string"
},
"secondary_address": {
"type": "string"
},
"transaction_type": {
"type": "string",
"enum": ["default", "internal"]
}
},
"required": ["currency", "amount", "address", "net_type"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_WITHDRAWAL",
"description": "Get a single withdrawal by UUID (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1
}
},
"required": ["uuid"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LIST_WITHDRAWALS",
"description": "List withdrawals (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"state": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_WITHDRAWAL",
"description": "Cancel a digital asset withdrawal by UUID (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1
}
},
"required": ["uuid"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_DEPOSIT_CHANCE",
"description": "Get deposit availability information for a currency (private)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"net_type": {
"type": "string"
}
},
"required": ["currency"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CREATE_DEPOSIT_ADDRESS",
"description": "Request creation of a deposit address (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"net_type": {
"type": "string"
}
},
"required": ["currency", "net_type"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_DEPOSIT_ADDRESS",
"description": "Get a single deposit address for a currency and net_type (private)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"net_type": {
"type": "string"
}
},
"required": ["currency", "net_type"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LIST_DEPOSIT_ADDRESSES",
"description": "List deposit addresses for all currencies (requires private API)",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_DEPOSIT",
"description": "Get a single deposit by UUID (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1
}
},
"required": ["uuid"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LIST_DEPOSITS",
"description": "List deposits (requires private API)",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"state": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"polymarket": {
"name": "Polymarket MCP Client",
"package": "@iqai/mcp-polymarket",
"tools": [
{
"name": "get_market_by_slug",
"description": "Get detailed information about a specific market by its slug identifier. The slug can be extracted from the Polymarket URL.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The market slug identifier (e.g., 'will-trump-win-2024')"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_event_by_slug",
"description": "Get detailed information about a specific event by its slug identifier. Events group multiple related markets.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The event slug identifier"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "list_active_markets",
"description": "List all currently active markets with pagination. Returns markets that are not yet closed.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 20,
"description": "Number of markets to return (default: 20, max: 100)"
},
"offset": {
"type": "number",
"default": 0,
"description": "Number of markets to skip for pagination (default: 0)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "search_markets",
"description": "Search for markets, events, and profiles using text search.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query text"
}
},
"required": ["query"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_markets_by_tag",
"description": "Get markets filtered by a specific tag ID. Useful for finding markets in specific categories.",
"inputSchema": {
"type": "object",
"properties": {
"tag_id": {
"type": "string",
"description": "The tag ID to filter by"
},
"limit": {
"type": "number",
"default": 20,
"description": "Number of markets to return (default: 20)"
},
"closed": {
"type": "boolean",
"default": false,
"description": "Include closed markets (default: false)"
}
},
"required": ["tag_id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_all_tags",
"description": "Get a list of all available tags for categorizing markets.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_order_book",
"description": "Get the current order book for a specific market token. Shows all active buy and sell orders.",
"inputSchema": {
"type": "object",
"properties": {
"token_id": {
"type": "string",
"description": "The token ID for the market outcome"
}
},
"required": ["token_id"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "approve_allowances",
"description": "Grant the USDC and Conditional Tokens approvals required to trade on Polymarket. Automatically approves only the contracts that don't already have approvals set. Includes both regular and NegRisk markets. These approvals are standard ERC20/ERC1155 approvals, revocable at any time in your wallet.",
"inputSchema": {
"type": "object",
"properties": {
"waitForConfirmations": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "How many confirmations to wait before returning (0 = return immediately after broadcasting). Default: 0"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "place_order",
"description": "Place a limit order on Polymarket at a specific price. Specify the number of shares (size) and price (0-1). For both BUY and SELL, you specify the number of shares you want to trade. Example: size=10, price=0.6 means buy/sell 10 shares at $0.60 per share (total: $6).",
"inputSchema": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"description": "The token ID of the market outcome to trade"
},
"price": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "The limit price for the order (between 0 and 1). This is the probability/price per share."
},
"size": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Number of shares to trade. For both BUY and SELL orders, this is always the number of outcome tokens/shares."
},
"side": {
"type": "string",
"enum": ["BUY", "SELL"],
"description": "The side of the order: BUY or SELL"
},
"orderType": {
"type": "string",
"enum": ["GTC", "GTD"],
"description": "Order type: GTC (Good Till Cancelled) or GTD (Good Till Date). Default: GTC"
}
},
"required": ["tokenId", "price", "size", "side"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "place_market_order",
"description": "Place a market order that executes immediately at current market price. IMPORTANT: For BUY orders, amount is the dollar amount ($USD) you want to spend. For SELL orders, amount is the number of shares to sell. Example: amount=5, side=BUY means 'spend $5 to buy shares at market price'. Minimum $1 for BUY orders.",
"inputSchema": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"description": "The token ID of the market outcome to trade"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "BUY orders: Dollar amount ($) to spend. SELL orders: Number of shares to sell. Minimum $1 for BUY orders."
},
"side": {
"type": "string",
"enum": ["BUY", "SELL"],
"description": "The side of the order: BUY or SELL"
},
"orderType": {
"type": "string",
"enum": ["FOK", "FAK"],
"description": "Order type: FOK (Fill or Kill) or FAK (Fill and Kill). Default: FOK"
}
},
"required": ["tokenId", "amount", "side"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_open_orders",
"description": "Get all open orders for the authenticated account. Can optionally filter by market.",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string",
"description": "Optional market address to filter orders by"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_order",
"description": "Get details of a specific order by its ID.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"description": "The unique identifier of the order"
}
},
"required": ["orderId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "cancel_order",
"description": "Cancel a specific order by its ID.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"description": "The unique identifier of the order to cancel"
}
},
"required": ["orderId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "cancel_all_orders",
"description": "Cancel all open orders for the authenticated account.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_trade_history",
"description": "Get trade history for the authenticated account. Can optionally filter by market or maker address.",
"inputSchema": {
"type": "object",
"properties": {
"market": {
"type": "string",
"description": "Optional market address to filter trades by"
},
"maker_address": {
"type": "string",
"description": "Optional maker address to filter trades by"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_balance_allowance",
"description": "Get balance and allowance information for the authenticated account. Can check COLLATERAL or CONDITIONAL tokens.",
"inputSchema": {
"type": "object",
"properties": {
"assetType": {
"type": "string",
"enum": ["COLLATERAL", "CONDITIONAL"],
"description": "Asset type to check balance for: COLLATERAL or CONDITIONAL"
},
"tokenID": {
"type": "string",
"description": "Optional token ID for conditional token balance"
}
},
"required": ["assetType"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "update_balance_allowance",
"description": "Update balance and allowance for the authenticated account. Required before trading.",
"inputSchema": {
"type": "object",
"properties": {
"assetType": {
"type": "string",
"enum": ["COLLATERAL", "CONDITIONAL"],
"description": "Asset type to update allowance for: COLLATERAL or CONDITIONAL"
},
"tokenID": {
"type": "string",
"description": "Optional token ID for conditional token"
}
},
"required": ["assetType"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "redeem_positions",
"description": "Redeem (claim) winnings from a resolved Polymarket prediction market. Use this to collect USDC from positions in markets that have been settled. For regular markets, you need the conditionId. For negative risk markets, you also need the tokenId and should set negRisk=true. The market must be resolved before redemption is possible.",
"inputSchema": {
"type": "object",
"properties": {
"conditionId": {
"type": "string",
"description": "The condition ID (market ID) for the resolved market. This is typically a 32-byte hex string."
},
"tokenId": {
"type": "string",
"description": "The token ID of the position to redeem. Required for negRisk markets, optional for regular markets."
},
"outcomeIndex": {
"type": "number",
"enum": [0, 1],
"description": "The outcome index: 0 for Yes/first outcome, 1 for No/second outcome. Used for negRisk markets to determine which tokens to redeem."
},
"negRisk": {
"type": "boolean",
"default": false,
"description": "Whether this is a negative risk market. Negative risk markets use the NegRiskAdapter contract for redemption. Default: false"
}
},
"required": ["conditionId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_positions",
"description": "Get all positions for a wallet address with current values. Returns position details including size, current price, current value, and P&L. Uses the Polymarket Data API for accurate position valuation.",
"inputSchema": {
"type": "object",
"properties": {
"user": {
"type": "string",
"description": "Wallet address to fetch positions for. If not provided, uses POLYMARKET_FUNDER env var."
},
"limit": {
"type": "number",
"default": 100,
"description": "Maximum number of positions to return (default: 100)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"debank": {
"name": "DeBank MCP Client",
"package": "@iqai/mcp-debank",
"tools": [
{
"name": "debank_get_supported_chain_list",
"description": "Retrieve a comprehensive list of all blockchain chains supported by the DeBank API. Returns information about each chain including their IDs, names, logo URLs, native token IDs, wrapped token IDs, and pre-execution support status. Use this to discover available chains before calling other chain-specific endpoints.",
"inputSchema": {
"type": "object",
"properties": {
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_chain",
"description": "Retrieve detailed information about a specific blockchain chain supported by DeBank. Returns chain details including ID, name, logo URL, native token ID, wrapped token ID, and whether it supports pre-execution of transactions. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_all_protocols_of_supported_chains",
"description": "Retrieve a list of all DeFi protocols across specified or all supported blockchain chains. Returns essential information about each protocol including ID, chain ID, name, logo URL, site URL, portfolio support status, and TVL. Returns top 20 protocols by default. Filter by specific chains using chain_ids parameter. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC'→'eth,bsc', 'Polygon'→'matic'). If omitted, returns protocols across all supported chains. Existing chain IDs like 'eth,bsc,matic' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_protocol_information",
"description": "Fetch detailed information about a specific DeFi protocol. Returns protocol details including ID, associated chain, name, logo URL, site URL, portfolio support status, and total value locked (TVL). Useful for analyzing individual protocols across different chains.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the protocol (e.g., 'bsc_pancakeswap' for PancakeSwap on BSC, 'uniswap', 'aave', 'curve'). Use debank_get_all_protocols_of_supported_chains to discover protocol IDs."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_top_holders_of_protocol",
"description": "Retrieve a list of top holders within a specified DeFi protocol, ranked by their holdings. Provides insights into the distribution and concentration of holdings among participants. Supports pagination for large result sets.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the protocol (e.g., 'uniswap', 'aave', 'compound'). Use debank_get_all_protocols_of_supported_chains to find protocol IDs."
},
"start": {
"description": "Pagination offset to specify where to start in the list. Default is 0, maximum is 1000.",
"type": "integer",
"minimum": 0,
"maximum": 1000
},
"limit": {
"description": "Maximum number of top holders to retrieve. Default and maximum is 100.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_pool_information",
"description": "Retrieve detailed information about a specific liquidity pool. Returns pool details including ID, chain, protocol ID, contract IDs, name, USD value of deposited assets, total user count, and count of valuable users (>$100 USD value). Essential for analyzing specific pools for investment or research. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the pool (typically a contract address, e.g., '0x00000000219ab540356cbb839cbe05303d7705fa')."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_token_information",
"description": "Fetch comprehensive details about a specific token on a blockchain. Returns token information including contract address, chain, name, symbol, decimals, logo URL, associated protocol ID, USD price, verification status, and deployment timestamp. Essential for token analysis and display. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc'). **WRAPPED TOKEN RESOLUTION:** Keywords like 'WETH', 'wrapped native', or 'native token' automatically resolve to the chain's wrapped token address.",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"id": {
"type": "string",
"description": "Token contract address, native token ID, or wrapped token keyword. Auto-resolves: 'WETH'→WETH address, 'wrapped native'→chain's wrapped token, 'native token'→chain's wrapped token. Examples: 'WETH', 'wrapped ETH', 'native token', '0xdac17f958d2ee523a2206206994597c13d831ec7' (USDT)."
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id", "id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_list_token_information",
"description": "Retrieve detailed information for multiple tokens at once on a specific chain. Returns an array of token objects with comprehensive details. Useful for bulk token data retrieval, with support for up to 100 token addresses per request. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"ids": {
"type": "string",
"description": "Comma-separated list of token addresses (up to 100). Example: '0xdac17f958d2ee523a2206206994597c13d831ec7,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'"
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id", "ids"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_top_holders_of_token",
"description": "Fetch the top holders of a specified token, showing the largest token holders ranked by their holdings. Supports both contract addresses and native token IDs. Useful for analyzing token distribution and ownership concentration. Supports pagination for detailed analysis. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc'). **WRAPPED TOKEN RESOLUTION:** Keywords like 'WETH', 'wrapped native', or 'native token' automatically resolve to the chain's wrapped token address.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Token contract address, native token ID, or wrapped token keyword. Auto-resolves: 'WETH'→WETH address, 'wrapped native'→chain's wrapped token, 'native token'→chain's wrapped token. Examples: 'WETH', 'wrapped BNB', '0xdac17f958d2ee523a2206206994597c13d831ec7'."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"start": {
"description": "Pagination offset. Default is 0, maximum is 10000.",
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"limit": {
"description": "Maximum number of holders to return. Default is 100.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_token_history_price",
"description": "Retrieve the historical price of a specified token for a given date. Essential for financial analysis, historical comparison, and tracking price movements over time. Returns price data for the UTC time zone on the specified date. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc'). **WRAPPED TOKEN RESOLUTION:** Keywords like 'WETH', 'wrapped native', or 'native token' automatically resolve to the chain's wrapped token address.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Token contract address, native token ID, or wrapped token keyword. Auto-resolves: 'WETH'→WETH address, 'wrapped native'→chain's wrapped token, 'native token'→chain's wrapped token. Examples: 'WETH', 'wrapped MATIC', '0xdac17f958d2ee523a2206206994597c13d831ec7'."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"date_at": {
"type": "string",
"description": "The date for historical price data in UTC time zone. Format: YYYY-MM-DD (e.g., '2023-05-18')."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id", "date_at"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_used_chain_list",
"description": "Retrieve a list of blockchain chains that a specific user has interacted with. Returns details about each chain including ID, name, logo URL, native token ID, wrapped token ID, and the birth time of the user's address on each chain.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_chain_balance",
"description": "Fetch the current balance of a user's account on a specified blockchain chain. Returns the balance in USD value, providing a snapshot of the user's holdings on that chain. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"id": {
"type": "string",
"description": "The user's wallet address."
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id", "id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_protocol",
"description": "Get detailed information about a user's positions within a specified DeFi protocol. Returns protocol details and the user's portfolio items including assets, debts, and rewards in that protocol.",
"inputSchema": {
"type": "object",
"properties": {
"protocol_id": {
"type": "string",
"description": "The protocol ID (e.g., 'bsc_pancakeswap', 'uniswap', 'aave')Use debank_get_all_protocols_of_supported_chains to discover protocol IDs.."
},
"id": {
"type": "string",
"description": "The user's wallet address."
},
"_userQuery": {
"type": "string"
}
},
"required": ["protocol_id", "id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_complex_protocol_list",
"description": "Retrieve detailed portfolios of a user on a specific chain across multiple protocols. Returns comprehensive information about the user's engagements including protocol details and portfolio items with assets, debts, and positions. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"id": {
"type": "string",
"description": "The user's wallet address."
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id", "id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_all_complex_protocol_list",
"description": "Retrieve a user's detailed portfolios across all supported chains within multiple protocols. Provides a comprehensive overview of investments and positions across the entire DeFi ecosystem. Can be filtered by specific chains. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC'→'eth,bsc', 'Polygon'→'matic'). If omitted, includes all supported chains. Existing chain IDs like 'eth,bsc,matic' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_all_simple_protocol_list",
"description": "Fetch a user's balances in protocols across all supported chains. Returns simplified protocol information including TVL and basic details. Useful for getting a quick overview of a user's protocol engagements. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC, Polygon'→'eth,bsc,matic', 'Arbitrum'→'arb'). If omitted, includes all supported chains. Existing chain IDs like 'eth,bsc,polygon' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_token_balance",
"description": "Retrieve a user's balance for a specific token. Returns detailed token information including name, symbol, decimals, USD price, and the user's balance amount. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc'). **WRAPPED TOKEN RESOLUTION:** Keywords like 'WETH', 'wrapped native', or 'native token' automatically resolve to the chain's wrapped token address.",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"id": {
"type": "string",
"description": "The user's wallet address."
},
"token_id": {
"type": "string",
"description": "Token contract address, native token ID, or wrapped token keyword. Auto-resolves: 'WETH'→WETH address, 'wrapped native'→chain's wrapped token, 'native token'→chain's wrapped token. Examples: 'WETH', 'wrapped token', '0xdac17f958d2ee523a2206206994597c13d831ec7'."
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id", "id", "token_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_token_list",
"description": "Retrieve a list of tokens held by a user on a specific chain. Returns token details including symbol, decimals, USD price, and balance amounts. Can filter for core/verified tokens or include all tokens. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"is_all": {
"description": "If true, returns all tokens including non-core tokens. Default is true.",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_all_token_list",
"description": "Retrieve a user's token balances across all supported chains. Provides a comprehensive list of all tokens held by the user, offering insights into their wider cryptocurrency portfolio.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"is_all": {
"description": "If true, includes all tokens in the response. Default is true.",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_nft_list",
"description": "Fetch a list of NFTs owned by a user on a specific chain. Returns NFT details including contract ID, name, description, content type, and attributes. Can filter for verified collections only. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"is_all": {
"description": "If false, only returns NFTs from verified collections. Default is true.",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_all_nft_list",
"description": "Retrieve a user's NFT holdings across all supported chains. Provides an aggregate list of NFTs held by the user with details including contract ID, name, and content type. Can be filtered by specific chains. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"is_all": {
"description": "If true, includes all NFTs. Default is true.",
"type": "boolean"
},
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC, Polygon'→'eth,bsc,matic', 'Arbitrum'→'arb'). If omitted, includes all supported chains. Existing chain IDs like 'eth,bsc,polygon' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_history_list",
"description": "Fetch a user's transaction history on a specified chain. Returns a list of past transactions with details including transaction type, tokens involved, values, and timestamps. Supports filtering by token and pagination. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc'). **WRAPPED TOKEN RESOLUTION:** Keywords like 'WETH', 'wrapped native', or 'native token' automatically resolve to the chain's wrapped token address.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"token_id": {
"description": "Optional token contract address, native token ID, or wrapped token keyword to filter history. Auto-resolves: 'WETH'→WETH address, 'wrapped native'→chain's wrapped token, 'native token'→chain's wrapped token.",
"type": "string"
},
"start_time": {
"description": "Optional timestamp to return history earlier than this time (Unix timestamp).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"page_count": {
"description": "Number of entries to return. Maximum is 20.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_all_history_list",
"description": "Retrieve a user's transaction history across all supported chains. Provides a comprehensive overview of DeFi activities across the entire blockchain ecosystem. Supports pagination and chain filtering. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"start_time": {
"description": "Optional timestamp to return history earlier than this time.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"page_count": {
"description": "Number of entries to return. Maximum is 20.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20
},
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC, Polygon'→'eth,bsc,matic', 'Arbitrum'→'arb'). If omitted, includes all supported chains. Existing chain IDs like 'eth,bsc,polygon' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_token_authorized_list",
"description": "Fetch a list of tokens for which a user has granted spending approvals on a specified chain. Returns details about each approval including amount, spender address, and associated protocol information. Useful for security audits. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_nft_authorized_list",
"description": "Retrieve a list of NFTs for which a user has given spending permissions on a specified chain. Returns details including contract IDs, names, symbols, spender addresses, and approved amounts for ERC1155 tokens. Important for security reviews. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_total_balance",
"description": "Retrieve a user's total net assets across all supported chains. Calculates and returns the total USD value of assets including both tokens and protocol positions. Provides a complete snapshot of the user's DeFi portfolio.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_chain_net_curve",
"description": "Retrieve a user's 24-hour net asset value curve on a single chain. Shows the changes in total USD value of assets over the last 24 hours, providing insights into portfolio fluctuations on that specific chain. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["id", "chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_user_total_net_curve",
"description": "Retrieve a user's 24-hour net asset value curve across all chains. Provides a comprehensive view of total USD value changes over the last 24 hours, helping track overall portfolio performance. Can be filtered by specific chains. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum, BSC, Polygon') - automatically resolved to chain IDs ('eth,bsc,matic').",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The user's wallet address."
},
"chain_ids": {
"description": "Comma-separated chain names or IDs - auto-resolved (e.g., 'Ethereum, BSC, Polygon'→'eth,bsc,matic', 'Arbitrum'→'arb'). If omitted, includes all supported chains. Existing chain IDs like 'eth,bsc,polygon' also work.",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_get_gas_prices",
"description": "Fetch current gas prices for different transaction speed levels on a specified chain. Returns prices for slow, normal, and fast transaction speeds with estimated confirmation times. Crucial for transaction cost estimation. **AUTO-RESOLUTION ENABLED:** Pass chain names as users mention them (e.g., 'Ethereum', 'BSC', 'Binance Smart Chain') - automatically resolved to chain IDs ('eth', 'bsc').",
"inputSchema": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"description": "Chain name or ID - auto-resolved (e.g., 'Ethereum'→'eth', 'BSC'→'bsc', 'Polygon'→'matic', 'Arbitrum'→'arb'). Existing chain IDs like 'eth', 'bsc' also work."
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain_id"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_pre_exec_transaction",
"description": "Simulate the execution of a transaction or sequence of transactions before submitting them on-chain. Returns detailed information about balance changes, gas estimates, and success status. Useful for DEX swaps requiring token approvals or complex transaction sequences.",
"inputSchema": {
"type": "object",
"properties": {
"tx": {
"type": "string",
"description": "The main transaction object as a JSON string. Must include fields like from, to, data, value, etc."
},
"pending_tx_list": {
"description": "Optional JSON string array of transactions to execute before the main transaction (e.g., approval transactions).",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"required": ["tx"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "debank_explain_transaction",
"description": "Decode and explain a given transaction in human-readable terms. Returns details about function calls, parameters, and actions derived from the transaction data. Supports complex transactions across multiple protocols.",
"inputSchema": {
"type": "object",
"properties": {
"tx": {
"type": "string",
"description": "The transaction object as a JSON string to be explained. Must include transaction data field."
},
"_userQuery": {
"type": "string"
}
},
"required": ["tx"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
}
],
"error": null
},
"defillama": {
"name": "DefiLlama MCP Client",
"package": "@iqai/defillama-mcp",
"tools": [
{
"name": "defillama_get_chains",
"description": "Fetches blockchain chains ranked by Total Value Locked (TVL), returning the top 20. Use this tool to: (1) answer user queries about leading DeFi blockchains, or (2) discover valid chain name formats before calling other tools. The returned chain names (e.g., 'Ethereum', 'Arbitrum', 'Polygon') can be used directly in the 'chain' parameter of defillama_get_dexs_data, defillama_get_fees_and_revenue, and defillama_get_historical_chain_tvl",
"inputSchema": {
"type": "object",
"properties": {
"order": {
"default": "desc",
"description": "Sort order by TVL. Use 'desc' (default) for highest TVL first (e.g., Ethereum, BSC, Tron), or 'asc' for lowest TVL first",
"type": "string",
"enum": ["asc", "desc"]
},
"_userQuery": {
"type": "string"
}
},
"required": ["order"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_protocol_data",
"description": "Fetches TVL (Total Value Locked) data for DeFi protocols. **AUTO-RESOLUTION ENABLED:** Pass protocol names as users mention them (e.g., 'Lido', 'Uniswap', 'Aave', 'MakerDAO') - they're automatically resolved to correct slugs via AI. For multiple versions, specify the version (e.g., 'Aave V3') or the most common version is matched. If protocol parameter is omitted, returns top 10 protocols sorted by your chosen criteria.",
"inputSchema": {
"type": "object",
"properties": {
"protocol": {
"description": "Protocol name as mentioned by the user - auto-resolved via AI (e.g., 'Lido', 'Uniswap', 'Aave V3', 'Curve', 'MakerDAO'). Exact slugs also work. Flexible matching handles name variations. If omitted, returns top 10 protocols sorted by the specified condition.",
"type": "string"
},
"sortCondition": {
"default": "tvl",
"description": "Field to sort results by. Only used when protocol parameter is omitted.",
"type": "string",
"enum": ["change_1h", "change_1d", "change_7d", "tvl"]
},
"order": {
"default": "desc",
"description": "Sort order. Only used when protocol parameter is omitted.",
"type": "string",
"enum": ["asc", "desc"]
},
"_userQuery": {
"type": "string"
}
},
"required": ["sortCondition", "order"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_historical_chain_tvl",
"description": "Fetches historical TVL (Total Value Locked) data for blockchain chains over time. Returns the last 10 data points showing TVL evolution. Can return data for a specific chain or aggregated data across all chains. **AUTO-RESOLUTION ENABLED:** Chain names are automatically matched (e.g., 'Ethereum', 'BSC', 'Polygon', 'Avalanche').",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"description": "Blockchain name - auto-resolved (e.g., 'Ethereum', 'Arbitrum', 'Polygon', 'BSC', 'Avalanche'). Common variations are handled automatically. If omitted, returns aggregated historical TVL across all chains combined",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_dexs_data",
"description": "Fetches DEX (decentralized exchange) trading volume data and metrics. Returns different levels of data based on parameters: specific protocol data (most detailed), chain-specific overview, or global overview (all DEXs). **AUTO-RESOLUTION ENABLED:** Protocol and chain names are automatically matched.",
"inputSchema": {
"type": "object",
"properties": {
"excludeTotalDataChart": {
"default": true,
"description": "Whether to exclude total data chart from response",
"type": "boolean"
},
"excludeTotalDataChartBreakdown": {
"default": true,
"description": "Whether to exclude chart breakdown from response",
"type": "boolean"
},
"protocol": {
"description": "DEX protocol name - auto-resolved (e.g., 'Uniswap', 'PancakeSwap', 'Curve'). When provided, returns detailed data for that protocol only. Takes priority over chain parameter",
"type": "string"
},
"chain": {
"description": "Blockchain name - auto-resolved (e.g., 'Ethereum', 'BSC', 'Polygon', 'Arbitrum'). Returns overview of all DEXs operating on that chain. Only used when protocol is not specified. If both protocol and chain are omitted, returns global overview of all DEXs",
"type": "string"
},
"sortCondition": {
"default": "total24h",
"description": "Field to sort results by",
"type": "string",
"enum": [
"total24h",
"total7d",
"total30d",
"change_1d",
"change_7d",
"change_1m"
]
},
"order": {
"default": "desc",
"description": "Sort order (ascending or descending)",
"type": "string",
"enum": ["asc", "desc"]
},
"_userQuery": {
"type": "string"
}
},
"required": [
"excludeTotalDataChart",
"excludeTotalDataChartBreakdown",
"sortCondition",
"order"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_fees_and_revenue",
"description": "Fetches fees and revenue metrics for DeFi protocols. Can filter by specific protocol and/or chain. **AUTO-RESOLUTION ENABLED:** Protocol and chain names are automatically matched.",
"inputSchema": {
"type": "object",
"properties": {
"excludeTotalDataChart": {
"default": true,
"description": "Whether to exclude total data chart",
"type": "boolean"
},
"excludeTotalDataChartBreakdown": {
"default": true,
"description": "Whether to exclude chart breakdown",
"type": "boolean"
},
"dataType": {
"default": "dailyFees",
"description": "Type of metric to retrieve",
"type": "string",
"enum": ["dailyFees", "dailyRevenue", "dailyHoldersRevenue"]
},
"chain": {
"description": "Chain name - auto-resolved (e.g., 'Ethereum', 'Polygon', 'BSC'). If omitted, includes all chains",
"type": "string"
},
"protocol": {
"description": "Protocol name - auto-resolved (e.g., 'Uniswap', 'Aave'). If omitted, includes all protocols",
"type": "string"
},
"sortCondition": {
"default": "total24h",
"description": "Field to sort results by",
"type": "string",
"enum": [
"change_1d",
"change_7d",
"change_1m",
"total24h",
"total7d",
"total30d",
"dailyUserFees",
"dailyHoldersRevenue",
"dailySupplySideRevenue",
"holdersRevenue30d"
]
},
"order": {
"default": "desc",
"description": "Sort order",
"type": "string",
"enum": ["asc", "desc"]
},
"_userQuery": {
"type": "string"
}
},
"required": [
"excludeTotalDataChart",
"excludeTotalDataChartBreakdown",
"dataType",
"sortCondition",
"order"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_stablecoin",
"description": "Fetches stablecoin data including circulation and price information. Returns top 20 stablecoins",
"inputSchema": {
"type": "object",
"properties": {
"includePrices": {
"description": "Whether to include price data",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_stablecoin_chains",
"description": "Fetches stablecoin data by chains. Returns last 3 chains with market cap data",
"inputSchema": {
"type": "object",
"properties": {
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_stablecoin_charts",
"description": "Fetches historical market cap charts for stablecoins over time. Returns the last 10 data points showing circulation, USD values, and bridged amounts. Can filter by blockchain or specific stablecoin, or show global aggregated data",
"inputSchema": {
"type": "object",
"properties": {
"stablecoin": {
"description": "Stablecoin ID or name (e.g., 1 for USDT, 2 for USDC, or 'USDC', 'Tether', 'DAI'). **AUTO-RESOLUTION ENABLED:** You can now pass stablecoin names directly (like 'USDC', 'Tether', 'DAI') and they will be automatically resolved to their numeric IDs. Numeric IDs are also still accepted. Can be combined with chain parameter to show that stablecoin's data on a specific chain",
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "string"
}
]
},
"chain": {
"description": "Blockchain name to filter stablecoin data by (e.g., 'Ethereum', 'Polygon', 'Arbitrum'). Returns stablecoin market cap data for that specific chain. **If the user mentions a blockchain but you're unsure of the exact name format, call defillama_get_chains first to discover valid chain names**. If omitted, returns global aggregated data across all chains",
"type": "string"
},
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_stablecoin_prices",
"description": "Fetches historical stablecoin price data. Returns last 3 data points",
"inputSchema": {
"type": "object",
"properties": {
"_userQuery": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_prices_current_coins",
"description": "Fetches current token prices from DefiLlama. Requires token addresses in the format chain:address (e.g., 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7' for USDT). Can fetch multiple tokens at once by comma-separating them",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"type": "string",
"description": "Comma-separated list of tokens in the format {chain}:{contractAddress}. Examples: 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7' (single token), 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7,bsc:0x55d398326f99059ff775485246999027b3197955' (multiple tokens). If the user mentions a token but you don't know its contract address, you may need to search for it first or ask the user. If unsure about the exact chain name format, call defillama_get_chains to see available chains (e.g., 'ethereum', 'bsc', 'polygon', 'arbitrum')"
},
"searchWidth": {
"default": "4h",
"description": "Time window to search for price data. Accepts duration strings (e.g., '4h', '1d', '30m') or seconds as a number (e.g., 600 for 10 minutes). Defaults to 4 hours. Use larger values if recent price data might not be available",
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins", "searchWidth"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_prices_first_coins",
"description": "Fetches the first recorded historical prices for specified cryptocurrency tokens. Useful for finding when a token was first listed/tracked or its initial price point",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"type": "string",
"description": "Comma-separated list of tokens in the format '{chain}:{tokenAddress}'. Each token must specify its blockchain and contract address. Examples: 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7' (USDT), 'bsc:0x55d398326f99059ff775485246999027b3197955' (USDT on BSC), or multiple tokens: 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7,ethereum:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'. Chain names must match exactly - if unsure about the correct chain name format, call defillama_get_chains first to discover valid chain names (e.g., 'ethereum' not 'Ethereum', 'bsc' not 'BSC'). Token addresses are checksummed contract addresses on the specified chain"
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_batch_historical",
"description": "Fetches historical price data for multiple cryptocurrencies at specific timestamps. Useful for getting prices of multiple coins at the same or different points in time",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"minItems": 1,
"type": "array",
"items": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
]
}
}
}
],
"description": "Coin identifiers with timestamps. Use object format: { 'chain:address': [timestamp1, timestamp2, ...] }. Examples: { 'ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7': [1648680149] } for USDT on Ethereum, or { 'coingecko:bitcoin': [1648680149, 1648766549] } for Bitcoin at multiple times. Chain names should match format from defillama_get_chains (e.g., 'ethereum', 'bsc', 'polygon'). For well-known coins, use 'coingecko:' prefix with coin ID. Timestamps are Unix timestamps in seconds. If you're unsure about the correct chain:address format for a token, you may need to search for the token's contract address first"
},
"searchWidth": {
"default": "6h",
"description": "Time range around each timestamp to search for price data. Accepts duration strings (e.g., '4h', '1d', '30m') or seconds as a number (e.g., 600 for 10 minutes). Defaults to '6h' (6 hours). Wider ranges increase chances of finding data but may be less precise",
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins", "searchWidth"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_historical_prices_by_contract",
"description": "Fetches historical prices for tokens at a specific point in time using their contract addresses. Useful for getting price data at exact timestamps for analysis or backtesting",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"type": "string",
"description": "Comma-separated list of tokens in format '{chain}:{contractAddress}'. Each token must specify its blockchain and contract address. Examples: 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1' (single token) or 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1,bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878' (multiple tokens). **IMPORTANT: If user mentions a chain name, call defillama_get_chains first to get the correct chain identifier. For contract addresses, ensure you have the exact address for the token on that specific chain**"
},
"timestamp": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
],
"description": "Point in time to query prices for. Accepts Unix timestamp (seconds) or ISO 8601 format (e.g., '2024-01-15T12:00:00Z'). Example: 1705320000 or '2024-01-15T12:00:00Z'"
},
"searchWidth": {
"default": "6h",
"description": "Time window to search for price data around the timestamp if exact data unavailable. Accepts duration string (e.g., '4h', '1d') or seconds (e.g., 600). Defaults to 6 hours. Larger windows increase chances of finding data but may be less accurate",
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number",
"exclusiveMinimum": 0
}
]
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins", "timestamp", "searchWidth"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_percentage_coins",
"description": "Fetches percentage price change for tokens over a specified time period. Calculates how much token prices changed from a starting point, either looking backward (default) or forward in time",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"type": "string",
"description": "Comma-separated list of tokens in format '{chain}:{contractAddress}'. Each token must specify its blockchain and contract address. Examples: 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1' (single token) or 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1,bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878,ethereum:0xdB25f211AB05b1c97D595516F45794528a807ad8' (multiple tokens). **IMPORTANT: If user mentions a chain name, call defillama_get_chains first to get the correct chain identifier. For contract addresses, ensure you have the exact address for the token on that specific chain**"
},
"timestamp": {
"description": "Starting point in time for percentage calculation. Accepts Unix timestamp (seconds) or ISO 8601 format. If omitted, uses current time. Examples: 1705320000 or '2024-01-15T12:00:00Z'",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
]
},
"period": {
"default": "1d",
"description": "Time period over which to calculate percentage change. Format: number + unit (h=hours, d=days). Examples: '1h' (1 hour), '8h' (8 hours), '2d' (2 days), '7d' (7 days). Defaults to '1d' (24 hours)",
"type": "string"
},
"lookForward": {
"default": false,
"description": "Direction to calculate change. If false (default), calculates change from [timestamp - period] to [timestamp] (looking backward). If true, calculates change from [timestamp] to [timestamp + period] (looking forward). Use true for historical predictions/projections",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins", "period", "lookForward"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_chart_coins",
"description": "Fetches historical price chart data for one or more cryptocurrency tokens across different blockchains. Returns time-series price data with customizable time range and data point frequency",
"inputSchema": {
"type": "object",
"properties": {
"coins": {
"type": "string",
"description": "Comma-separated list of tokens in the format '{chain}:{contractAddress}'. Each token must be specified with its blockchain and contract address. Examples: 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1' (single token), 'ethereum:0xdF574c24545E5FfEcb9a659c229253D4111d87e1,bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878' (multiple tokens). You can also use CoinGecko IDs like 'coingecko:ethereum'. If you don't know the contract address for a token, search for it first using other available tools or use the CoinGecko ID format"
},
"start": {
"description": "Unix timestamp (in seconds) for the earliest data point. If omitted, defaults to earliest available data. Example: 1640995200 (Jan 1, 2022)",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
]
},
"end": {
"description": "Unix timestamp (in seconds) for the latest data point. If omitted, defaults to current time. Example: 1672531200 (Jan 1, 2023)",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
]
},
"span": {
"description": "Number of data points to return in the chart. Higher values provide more granular data. If omitted, returns all available points within the time range. Example: 10 returns 10 evenly-spaced data points",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"period": {
"description": "Time interval between data points. Determines chart granularity. Format: number + unit (h for hours, d for days). Examples: '1h' (hourly data), '8h' (every 8 hours), '1d' (daily data), '7d' (weekly data). If omitted, defaults to 24 hours (daily)",
"type": "string"
},
"searchWidth": {
"default": "6h",
"description": "Time window for finding price data around each period point. Can be specified as seconds (number) or duration string. Wider search windows are more forgiving but may be less precise. Examples: '600' (10 minutes), '6h' (6 hours). Defaults to 6 hours",
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number",
"exclusiveMinimum": 0
}
]
},
"_userQuery": {
"type": "string"
}
},
"required": ["coins", "searchWidth"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_latest_pool_data",
"description": "Fetches current yield farming pool data including APY rates, TVL, and rewards. Returns a list of pools that can be filtered and sorted by various metrics",
"inputSchema": {
"type": "object",
"properties": {
"sortCondition": {
"default": "tvlUsd",
"description": "Field to sort results by (e.g., tvlUsd for total value locked, apy for annual percentage yield)",
"type": "string",
"enum": [
"tvlUsd",
"apy",
"apyBase",
"apyReward",
"apyPct1D",
"apyPct7D",
"apyPct30D",
"apyMean30d"
]
},
"order": {
"default": "desc",
"description": "Sort order (ascending or descending)",
"type": "string",
"enum": ["asc", "desc"]
},
"limit": {
"default": 10,
"description": "Number of pools to return (between 1-100)",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"_userQuery": {
"type": "string"
}
},
"required": ["sortCondition", "order", "limit"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_historical_pool_data",
"description": "Fetches historical APY and TVL data for a specific yield farming pool over time. Returns the last 10 data points showing how the pool's metrics have changed",
"inputSchema": {
"type": "object",
"properties": {
"pool": {
"type": "string",
"description": "Unique pool identifier (UUID format). **IMPORTANT: Always call defillama_get_latest_pool_data first** to discover available pools and their IDs. The pool ID is returned in the 'pool' property of each result (e.g., '742c4e8f-1f3d-4c3e-9c1e-2a3b4c5d6e7f')"
},
"_userQuery": {
"type": "string"
}
},
"required": ["pool"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_options_data",
"description": "Fetches options protocol data including trading volume and premium metrics. Returns different levels of data: specific protocol data (most detailed), chain-specific overview, or global overview (all options protocols). **AUTO-RESOLUTION ENABLED:** Protocol and chain names are automatically matched.",
"inputSchema": {
"type": "object",
"properties": {
"dataType": {
"default": "dailyNotionalVolume",
"description": "Type of volume data to retrieve: premium volume (actual premiums paid) or notional volume (value of underlying assets)",
"type": "string",
"enum": ["dailyPremiumVolume", "dailyNotionalVolume"]
},
"protocol": {
"description": "Options protocol name - auto-resolved (e.g., 'Lyra', 'Hegic', 'Aevo'). When provided, returns detailed data for that protocol only. Takes priority over chain parameter",
"type": "string"
},
"chain": {
"description": "Blockchain name - auto-resolved (e.g., 'Ethereum', 'Arbitrum', 'Optimism'). Returns overview of all options protocols operating on that chain. Only used when protocol is not specified. If both protocol and chain are omitted, returns global overview of all options protocols",
"type": "string"
},
"sortCondition": {
"default": "total24h",
"description": "Field to sort results by",
"type": "string",
"enum": [
"total24h",
"total7d",
"total30d",
"change_1d",
"change_7d",
"change_1m"
]
},
"order": {
"default": "desc",
"description": "Sort order (ascending or descending)",
"type": "string",
"enum": ["asc", "desc"]
},
"excludeTotalDataChart": {
"default": true,
"description": "Whether to exclude aggregated chart data from response",
"type": "boolean"
},
"excludeTotalDataChartBreakdown": {
"default": true,
"description": "Whether to exclude broken down chart data from response",
"type": "boolean"
},
"_userQuery": {
"type": "string"
}
},
"required": [
"dataType",
"sortCondition",
"order",
"excludeTotalDataChart",
"excludeTotalDataChartBreakdown"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
},
{
"name": "defillama_get_blockchain_timestamp",
"description": "Fetches blockchain block information for a specific chain at a given timestamp. Returns the block number, timestamp, and height that existed at that point in time. This is essential for historical DeFi queries - many blockchain APIs require a specific block number to retrieve historical state (e.g., 'What was the TVL on date X?' requires knowing which block number corresponded to date X). Use this tool to convert human-readable dates into block numbers. **AUTO-RESOLUTION ENABLED:** Chain names are automatically matched.",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "Blockchain name - auto-resolved (e.g., 'Ethereum', 'Polygon', 'Arbitrum', 'Avalanche', 'BSC'). Common variations are handled automatically"
},
"timestamp": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1
}
],
"description": "Time to query block data for. Accepts both Unix timestamp in seconds (e.g., 1640000000) or ISO 8601 date string (e.g., '2024-01-15T10:30:00Z', '2024-01-15'). Relative dates work too - the converter will handle them. Will be automatically converted to Unix timestamp for the API call"
},
"_userQuery": {
"type": "string"
}
},
"required": ["chain", "timestamp"],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
}
],
"error": null
},
"kalshi": {
"name": "Kalshi MCP Client",
"package": "@iqai/mcp-kalshi",
"tools": [
{
"name": "GET_MARKETS",
"description": "List and discover prediction markets on Kalshi. Markets represent binary outcomes users can trade on. Returns paginated results with market details including ticker, title, prices, and volume.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 1000,
"description": "Number of results per page (1-1000, default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor from previous response"
},
"eventTicker": {
"type": "string",
"description": "Filter by event ticker (comma-separated, max 10)"
},
"seriesTicker": {
"type": "string",
"description": "Filter by series ticker"
},
"status": {
"type": "string",
"enum": ["unopened", "open", "paused", "closed", "settled"],
"description": "Filter by market status"
},
"tickers": {
"type": "string",
"description": "Filter by specific market tickers (comma-separated)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET",
"description": "Get detailed information about a specific prediction market by its ticker, including current prices, volume, open interest, and settlement rules.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"minLength": 1,
"description": "The market ticker (e.g., 'INXD-25JAN20')"
}
},
"required": ["ticker"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET_ORDERBOOK",
"description": "Get the current orderbook for a market showing bid prices and quantities for both Yes and No sides.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"minLength": 1,
"description": "The market ticker"
},
"depth": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Depth of orderbook to retrieve (1-100, default 10)"
}
},
"required": ["ticker"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_TRADES",
"description": "Get recent public trades across all markets or for a specific market. Each trade shows price, quantity, and timestamp.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Filter by market ticker"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 1000,
"description": "Number of results (1-1000, default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"minTs": {
"type": "number",
"description": "Filter trades after this Unix timestamp"
},
"maxTs": {
"type": "number",
"description": "Filter trades before this Unix timestamp"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_SERIES",
"description": "Get information about a series, which is a template for recurring events (e.g., monthly jobs reports, daily weather).",
"inputSchema": {
"type": "object",
"properties": {
"seriesTicker": {
"type": "string",
"minLength": 1,
"description": "The series ticker (e.g., 'INXD' for S&P 500)"
}
},
"required": ["seriesTicker"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_BALANCE",
"description": "Get the current account balance and portfolio value. Values are returned in dollars.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_POSITIONS",
"description": "Get your current portfolio positions showing market exposure, cost basis, and P&L for each position.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Filter by market ticker"
},
"eventTicker": {
"type": "string",
"description": "Filter by event ticker (comma-separated, max 10)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 1000,
"description": "Number of results (default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"countFilter": {
"type": "string",
"description": "Filter: 'position' for non-zero positions, 'total_traded' for traded"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_FILLS",
"description": "Get your trade fill history. A fill occurs when your order is matched with another trader.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Filter by market ticker"
},
"orderId": {
"type": "string",
"description": "Filter by order ID"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Number of results (1-200, default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"minTs": {
"type": "number",
"description": "Filter fills after this Unix timestamp"
},
"maxTs": {
"type": "number",
"description": "Filter fills before this Unix timestamp"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_SETTLEMENTS",
"description": "Get your settlement history showing resolved markets and their payouts.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Filter by market ticker"
},
"eventTicker": {
"type": "string",
"description": "Filter by event ticker (comma-separated, max 10)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Number of results (1-200, default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor"
},
"minTs": {
"type": "number",
"description": "Filter settlements after this Unix timestamp"
},
"maxTs": {
"type": "number",
"description": "Filter settlements before this Unix timestamp"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDERS",
"description": "Get your orders with optional filtering by market, status, or time range.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Filter by market ticker"
},
"eventTicker": {
"type": "string",
"description": "Filter by event ticker (comma-separated, max 10)"
},
"status": {
"type": "string",
"enum": ["resting", "canceled", "executed"],
"description": "Filter by order status"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Number of results (1-200, default 100)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDER",
"description": "Get detailed information about a specific order by its ID.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order ID"
}
},
"required": ["orderId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CREATE_ORDER",
"description": "Create a new order to buy or sell contracts in a prediction market. Use limit orders with a price, or market orders for immediate execution.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"minLength": 1,
"description": "Market ticker to trade"
},
"side": {
"type": "string",
"enum": ["yes", "no"],
"description": "Side to trade: 'yes' or 'no'"
},
"action": {
"type": "string",
"enum": ["buy", "sell"],
"description": "Action: 'buy' or 'sell'"
},
"count": {
"type": "number",
"minimum": 1,
"description": "Number of contracts"
},
"type": {
"type": "string",
"enum": ["limit", "market"],
"default": "limit",
"description": "Order type (default: limit)"
},
"yesPrice": {
"type": "number",
"minimum": 1,
"maximum": 99,
"description": "Yes price in cents (1-99) - required for limit orders on yes side"
},
"noPrice": {
"type": "number",
"minimum": 1,
"maximum": 99,
"description": "No price in cents (1-99) - required for limit orders on no side"
},
"timeInForce": {
"type": "string",
"enum": [
"fill_or_kill",
"good_till_canceled",
"immediate_or_cancel"
],
"description": "Time in force (default: good_till_canceled)"
},
"postOnly": {
"type": "boolean",
"description": "If true, order will only be placed if it will rest on the book"
},
"reduceOnly": {
"type": "boolean",
"description": "If true, order will only reduce existing position"
}
},
"required": ["ticker", "side", "action", "count"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_ORDER",
"description": "Cancel an existing open order by its ID.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order ID to cancel"
}
},
"required": ["orderId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "BATCH_CANCEL_ORDERS",
"description": "Cancel multiple orders at once (up to 20 orders per batch).",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "Array of order IDs to cancel (max 20)"
}
},
"required": ["ids"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "DECREASE_ORDER",
"description": "Decrease the quantity of an existing order. This is the only way to reduce order size without fully canceling.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order ID to decrease"
},
"reduceBy": {
"type": "number",
"minimum": 1,
"description": "Number of contracts to reduce by"
}
},
"required": ["orderId", "reduceBy"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"limitless": {
"name": "Limitless MCP Client",
"package": "@iqai/mcp-limitless",
"tools": [
{
"name": "GET_AUTH_STATUS",
"description": "Check the current authentication status for the Limitless API session. Returns whether you're logged in and your Ethereum address. Session persists automatically across all tool calls.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_SIGNING_MESSAGE",
"description": "Get a signing message with a randomly generated nonce for authentication purposes. Use this before logging in. Requires a wallet address.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The wallet address to get a signing message for"
}
},
"required": ["address"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "VERIFY_AUTH",
"description": "Verify if the user is authenticated by checking the session cookie. Returns the authenticated Ethereum address.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LOGIN",
"description": "Authenticate a user with a signed message and create a session. First get a signing message, sign it with your wallet, then call this with the signature.",
"inputSchema": {
"type": "object",
"properties": {
"account": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The Ethereum address of the user"
},
"signingMessage": {
"type": "string",
"description": "The signing message generated by the server"
},
"signature": {
"type": "string",
"description": "The signature generated by signing the message with the wallet"
},
"userData": {
"type": "object",
"properties": {
"client": {
"type": "string",
"enum": ["eoa", "etherspot", "base"]
}
},
"required": ["client"],
"additionalProperties": true,
"description": "User data to be stored"
}
},
"required": ["account", "signingMessage", "signature", "userData"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "LOGOUT",
"description": "Log out the user by clearing the session cookie. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "SEARCH_MARKETS",
"description": "Search for prediction markets on Limitless based on semantic similarity. Returns markets matching the search query with details like volume, liquidity, and end dates.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "The search query for markets"
},
"limit": {
"type": "number",
"description": "Maximum number of results (default: 10)"
},
"page": {
"type": "number",
"description": "Page number for pagination (default: 1)"
},
"similarityThreshold": {
"type": "number",
"description": "Minimum similarity score 0-1 (default: 0.5)"
}
},
"required": ["query"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET",
"description": "Get detailed information about a specific prediction market on Limitless. Provides market question, outcomes, prices, volume, liquidity, and other trading data.",
"inputSchema": {
"type": "object",
"properties": {
"addressOrSlug": {
"type": "string",
"minLength": 1,
"description": "Market address (0x...) or slug identifier (e.g., crypto-predictions-2025)"
}
},
"required": ["addressOrSlug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ACTIVE_MARKETS",
"description": "Browse active (unresolved) prediction markets on Limitless. Returns markets with volume, liquidity, and other trading data. Supports filtering by category and sorting.",
"inputSchema": {
"type": "object",
"properties": {
"categoryId": {
"type": "number",
"description": "Filter by category ID (optional)"
},
"page": {
"type": "number",
"description": "Page number for pagination (default: 1)"
},
"limit": {
"type": "number",
"description": "Number of results per page (default: 10)"
},
"sortBy": {
"type": "string",
"description": "Sort order: newest, oldest, volume, liquidity (default: newest)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ACTIVE_MARKETS_BY_CATEGORY",
"description": "Browse active (unresolved) markets filtered by category ID with optional pagination and sorting.",
"inputSchema": {
"type": "object",
"properties": {
"categoryId": {
"type": "number",
"description": "Category ID to filter markets by"
},
"page": {
"type": "number",
"description": "Page number for pagination"
},
"limit": {
"type": "number",
"description": "Number of items per page"
},
"sortBy": {
"type": "string",
"description": "Sort order (e.g., newest, volume)"
}
},
"required": ["categoryId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_CATEGORIES",
"description": "Get all available categories on Limitless with their IDs, names, priorities, and metadata. Use this to discover available categories for filtering markets.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_CATEGORIES_COUNT",
"description": "Get the number of active markets for each category and the total market count.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ACTIVE_SLUGS",
"description": "Get slugs, strike prices, tickers, and deadlines for all active markets and groups. Useful for discovering available markets.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET_ORDERBOOK",
"description": "Get the current orderbook for a prediction market on Limitless. Shows all open buy (bids) and sell (asks) orders with prices and sizes.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Market slug identifier (e.g., presidential-election-2024)"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_HISTORICAL_PRICE",
"description": "Retrieve historical price data for a specific market with configurable time intervals. Useful for analyzing price trends.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug identifier"
},
"from": {
"type": "string",
"description": "Start date for historical data (ISO 8601 format)"
},
"to": {
"type": "string",
"description": "End date for historical data (ISO 8601 format)"
},
"interval": {
"type": "string",
"enum": ["1h", "6h", "1d", "1w", "1m", "all"],
"description": "Time interval for data points"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_FEED_EVENTS",
"description": "Get the latest feed events related to a specific market with pagination support.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug identifier"
},
"page": {
"type": "number",
"description": "Page number for pagination"
},
"limit": {
"type": "number",
"description": "Number of events per page"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET_EVENTS",
"description": "Get recent events for a specific market including trades, orders, and liquidity changes.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug identifier"
},
"page": {
"type": "number",
"description": "Page number for pagination"
},
"limit": {
"type": "number",
"description": "Number of events per page"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_LOCKED_BALANCE",
"description": "Get the amount of funds locked in open orders for the authenticated user in a specific market. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug identifier"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_ORDERS",
"description": "Get all orders placed by the authenticated user for a specific market. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug identifier"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PORTFOLIO_POSITIONS",
"description": "Get your active portfolio positions on Limitless with P&L calculations and market values. Requires authentication via session token.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PORTFOLIO_TRADES",
"description": "Retrieve all trades executed by the authenticated user. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PORTFOLIO_HISTORY",
"description": "Get paginated history including AMM trades, CLOB trades, splits/merges, and NegRisk conversions. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number for pagination"
},
"limit": {
"type": "number",
"description": "Number of items per page"
},
"from": {
"type": "string",
"description": "Start date for filtering (ISO 8601 format)"
},
"to": {
"type": "string",
"description": "End date for filtering (ISO 8601 format)"
}
},
"required": ["page", "limit"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PORTFOLIO_POINTS",
"description": "Get points breakdown for the authenticated user. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_TRADED_VOLUME",
"description": "Get total traded volume and statistics for a specific user. This is a public endpoint that doesn't require authentication.",
"inputSchema": {
"type": "object",
"properties": {
"account": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "User Ethereum address"
}
},
"required": ["account"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PUBLIC_USER_POSITIONS",
"description": "Get all positions for a specific user address. This is a public endpoint that doesn't require authentication.",
"inputSchema": {
"type": "object",
"properties": {
"account": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "User Ethereum address"
}
},
"required": ["account"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_USER_PROFILE",
"description": "Get detailed profile information for a user by their Ethereum address. Returns comprehensive user data including username, bio, profile picture, rank, points, leaderboard position, referral information, and account status. Requires authentication. Users can view their own profile when authenticated.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "The Ethereum address of the user whose profile to retrieve"
}
},
"required": ["address"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_TRADING_ALLOWANCE",
"description": "Check USDC allowance for CLOB or NegRisk trading contracts. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["clob", "negrisk"],
"description": "Trading type: CLOB or NegRisk"
}
},
"required": ["type"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CREATE_ORDER",
"description": "Create a buy or sell order for prediction market positions on Limitless. Requires signed order data and authentication. Returns order details and match information if filled immediately.",
"inputSchema": {
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"salt": {
"type": "number",
"description": "Unique random value for signature uniqueness"
},
"maker": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Ethereum address of the maker (order creator)"
},
"signer": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address that signed the order"
},
"taker": {
"type": "string",
"description": "Specific taker address (0x0 for open orders)"
},
"tokenId": {
"type": "string",
"description": "Token ID being traded (YES or NO position)"
},
"makerAmount": {
"type": "number",
"minimum": 0,
"description": "Amount maker is offering (in wei)"
},
"takerAmount": {
"type": "number",
"minimum": 0,
"description": "Amount maker wants in return (in wei)"
},
"expiration": {
"type": "string",
"description": "Order expiration timestamp"
},
"nonce": {
"type": "number",
"description": "Order nonce for cancellation tracking"
},
"price": {
"type": "number",
"minimum": 0.01,
"maximum": 0.99,
"description": "Order price as decimal (0.01-0.99)"
},
"feeRateBps": {
"type": "number",
"description": "Fee rate in basis points"
},
"side": {
"type": "string",
"enum": ["BUY", "SELL"],
"description": "Order side"
},
"signatureType": {
"type": "number",
"description": "Signature type"
},
"signature": {
"type": "string",
"description": "Order signature"
}
},
"required": [
"salt",
"maker",
"signer",
"taker",
"tokenId",
"makerAmount",
"takerAmount",
"expiration",
"nonce",
"price",
"feeRateBps",
"side",
"signatureType",
"signature"
],
"additionalProperties": false,
"description": "Order details including signature and amounts"
},
"ownerId": {
"type": "number",
"description": "Profile ID of the order owner"
},
"orderType": {
"type": "string",
"enum": ["FOK", "GTC"],
"description": "Order type (GTC=Good Till Cancelled, FOK=Fill Or Kill)"
},
"marketSlug": {
"type": "string",
"description": "Market identifier slug"
}
},
"required": ["order", "ownerId", "orderType", "marketSlug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_ORDER",
"description": "Cancel an open order on Limitless and return locked funds. Requires authentication and order ownership.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"description": "Unique identifier of the order to be cancelled"
}
},
"required": ["orderId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_ORDER_BATCH",
"description": "Cancel multiple orders in a single batch operation on Limitless. All orders must be from the same market. Requires authentication and order ownership.",
"inputSchema": {
"type": "object",
"properties": {
"orderIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of order IDs to be cancelled in a single batch operation"
}
},
"required": ["orderIds"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "CANCEL_ALL_ORDERS",
"description": "Cancel all of a user's open orders in a specific market on Limitless. Requires authentication.",
"inputSchema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market slug to cancel all user orders in"
}
},
"required": ["slug"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"opinion": {
"name": "Opinion MCP Client",
"package": "@iqai/mcp-opinion",
"tools": [
{
"name": "GET_MARKETS",
"description": "Get a list of prediction markets from Opinion.trade with optional filters for status and market type",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Number of markets to return (max 20)"
},
"status": {
"type": "number",
"minimum": 1,
"maximum": 4,
"description": "Filter by status: 1=Created, 2=Active, 3=Resolving, 4=Resolved"
},
"marketType": {
"type": "number",
"minimum": 0,
"maximum": 2,
"description": "Market type: 0=Binary, 1=Categorical, 2=All"
},
"page": {
"type": "number",
"minimum": 1,
"description": "Page number for pagination"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_MARKET_DETAILS",
"description": "Get detailed information about a specific prediction market by its ID",
"inputSchema": {
"type": "object",
"properties": {
"marketId": {
"type": "number",
"description": "The unique identifier of the market"
}
},
"required": ["marketId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "SEARCH_MARKETS",
"description": "Search for prediction markets by keyword in the market title",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Search keyword to find in market titles"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Maximum number of results to return"
},
"status": {
"type": "number",
"minimum": 1,
"maximum": 4,
"description": "Filter by status: 1=Created, 2=Active, 3=Resolving, 4=Resolved"
}
},
"required": ["query"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_ORDERBOOK",
"description": "Get the order book (bids and asks) for a specific prediction market token",
"inputSchema": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"minLength": 1,
"description": "The token ID to get the order book for"
}
},
"required": ["tokenId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_PRICE_HISTORY",
"description": "Get historical price data for a prediction market token",
"inputSchema": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"minLength": 1,
"description": "The token ID to get price history for"
},
"interval": {
"type": "string",
"enum": ["1m", "5m", "1h", "1d"],
"default": "1h",
"description": "Time interval: 1m (1 minute), 5m (5 minutes), 1h (1 hour), 1d (1 day)"
}
},
"required": ["tokenId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_LATEST_PRICE",
"description": "Get the current/latest trade price for a prediction market token",
"inputSchema": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"minLength": 1,
"description": "The token ID to get the latest price for"
}
},
"required": ["tokenId"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_POSITIONS",
"description": "Get the current prediction market positions held by a wallet address",
"inputSchema": {
"type": "object",
"properties": {
"walletAddress": {
"type": "string",
"minLength": 1,
"description": "The wallet address to get positions for"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Maximum number of positions to return"
},
"page": {
"type": "number",
"minimum": 1,
"description": "Page number for pagination"
}
},
"required": ["walletAddress"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_TRADE_HISTORY",
"description": "Get the trade history for a wallet address on Opinion.trade",
"inputSchema": {
"type": "object",
"properties": {
"walletAddress": {
"type": "string",
"minLength": 1,
"description": "The wallet address to get trade history for"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Maximum number of trades to return"
},
"page": {
"type": "number",
"minimum": 1,
"description": "Page number for pagination"
}
},
"required": ["walletAddress"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "GET_QUOTE_TOKENS",
"description": "Get the list of available quote tokens (currencies) that can be used for trading on Opinion.trade",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"filesystem": {
"name": "Filesystem MCP Client",
"package": "@modelcontextprotocol/server-filesystem",
"tools": [
{
"name": "read_file",
"description": "Read the complete contents of a file as text. DEPRECATED: Use read_text_file instead.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"tail": {
"description": "If provided, returns only the last N lines of the file",
"type": "number"
},
"head": {
"description": "If provided, returns only the first N lines of the file",
"type": "number"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "read_text_file",
"description": "Read the complete contents of a file from the file system as text. Handles various text encodings and provides detailed error messages if the file cannot be read. Use this tool when you need to examine the contents of a single file. Use the 'head' parameter to read only the first N lines of a file, or the 'tail' parameter to read only the last N lines of a file. Operates on the file as text regardless of extension. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"tail": {
"description": "If provided, returns only the last N lines of the file",
"type": "number"
},
"head": {
"description": "If provided, returns only the first N lines of the file",
"type": "number"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "read_media_file",
"description": "Read an image or audio file. Returns the base64 encoded data and MIME type. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "read_multiple_files",
"description": "Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"paths": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
},
"description": "Array of file paths to read. Each path must be a string pointing to a valid file within allowed directories."
}
},
"required": ["paths"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "write_file",
"description": "Create a new file or completely overwrite an existing file with new content. Use with caution as it will overwrite existing files without warning. Handles text content with proper encoding. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"content": {
"type": "string"
}
},
"required": ["path", "content"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "edit_file",
"description": "Make line-based edits to a text file. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"edits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"oldText": {
"type": "string",
"description": "Text to search for - must match exactly"
},
"newText": {
"type": "string",
"description": "Text to replace with"
}
},
"required": ["oldText", "newText"]
}
},
"dryRun": {
"default": false,
"description": "Preview changes using git-style diff format",
"type": "boolean"
}
},
"required": ["path", "edits"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "create_directory",
"description": "Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently. Perfect for setting up directory structures for projects or ensuring required paths exist. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "list_directory",
"description": "Get a detailed listing of all files and directories in a specified path. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "list_directory_with_sizes",
"description": "Get a detailed listing of all files and directories in a specified path, including sizes. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is useful for understanding directory structure and finding specific files within a directory. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"sortBy": {
"default": "name",
"description": "Sort entries by name or size",
"type": "string",
"enum": ["name", "size"]
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "directory_tree",
"description": "Get a recursive tree view of files and directories as a JSON structure. Each entry includes 'name', 'type' (file/directory), and 'children' for directories. Files have no children array, while directories always have a children array (which may be empty). The output is formatted with 2-space indentation for readability. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"excludePatterns": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "move_file",
"description": "Move or rename files and directories. Can move files between directories and rename them in a single operation. If the destination exists, the operation will fail. Works across different directories and can be used for simple renaming within the same directory. Both source and destination must be within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"destination": {
"type": "string"
}
},
"required": ["source", "destination"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "search_files",
"description": "Recursively search for files and directories matching a pattern. The patterns should be glob-style patterns that match paths relative to the working directory. Use pattern like '*.ext' to match files in current directory, and '**/*.ext' to match files in all subdirectories. Returns full paths to all matching items. Great for finding files when you don't know their exact location. Only searches within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"pattern": {
"type": "string"
},
"excludePatterns": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["path", "pattern"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "get_file_info",
"description": "Retrieve detailed metadata about a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. This tool is perfect for understanding file characteristics without reading the actual content. Only works within allowed directories.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": ["path"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "list_allowed_directories",
"description": "Returns the list of directories that this server is allowed to access. Subdirectories within these allowed directories are also accessible. Use this to understand which directories and their nested paths are available before trying to access files.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"memory": {
"name": "Memory MCP Client",
"package": "@modelcontextprotocol/server-memory",
"tools": [
{
"name": "create_entities",
"description": "Create multiple new entities in the knowledge graph",
"inputSchema": {
"type": "object",
"properties": {
"entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the entity"
},
"entityType": {
"type": "string",
"description": "The type of the entity"
},
"observations": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of observation contents associated with the entity"
}
},
"required": ["name", "entityType", "observations"]
}
}
},
"required": ["entities"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "create_relations",
"description": "Create multiple new relations between entities in the knowledge graph. Relations should be in active voice",
"inputSchema": {
"type": "object",
"properties": {
"relations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "The name of the entity where the relation starts"
},
"to": {
"type": "string",
"description": "The name of the entity where the relation ends"
},
"relationType": {
"type": "string",
"description": "The type of the relation"
}
},
"required": ["from", "to", "relationType"]
}
}
},
"required": ["relations"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "add_observations",
"description": "Add new observations to existing entities in the knowledge graph",
"inputSchema": {
"type": "object",
"properties": {
"observations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"entityName": {
"type": "string",
"description": "The name of the entity to add the observations to"
},
"contents": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of observation contents to add"
}
},
"required": ["entityName", "contents"]
}
}
},
"required": ["observations"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "delete_entities",
"description": "Delete multiple entities and their associated relations from the knowledge graph",
"inputSchema": {
"type": "object",
"properties": {
"entityNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of entity names to delete"
}
},
"required": ["entityNames"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "delete_observations",
"description": "Delete specific observations from entities in the knowledge graph",
"inputSchema": {
"type": "object",
"properties": {
"deletions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"entityName": {
"type": "string",
"description": "The name of the entity containing the observations"
},
"observations": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of observations to delete"
}
},
"required": ["entityName", "observations"]
}
}
},
"required": ["deletions"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "delete_relations",
"description": "Delete multiple relations from the knowledge graph",
"inputSchema": {
"type": "object",
"properties": {
"relations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "The name of the entity where the relation starts"
},
"to": {
"type": "string",
"description": "The name of the entity where the relation ends"
},
"relationType": {
"type": "string",
"description": "The type of the relation"
}
},
"required": ["from", "to", "relationType"]
},
"description": "An array of relations to delete"
}
},
"required": ["relations"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "read_graph",
"description": "Read the entire knowledge graph",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "search_nodes",
"description": "Search for nodes in the knowledge graph based on a query",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query to match against entity names, types, and observation content"
}
},
"required": ["query"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "open_nodes",
"description": "Open specific nodes in the knowledge graph by their names",
"inputSchema": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of entity names to retrieve"
}
},
"required": ["names"],
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"playwright": {
"name": "Playwright MCP Client",
"package": "@playwright/mcp",
"tools": [
{
"name": "browser_close",
"description": "Close the page",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_resize",
"description": "Resize the browser window",
"inputSchema": {
"type": "object",
"properties": {
"width": {
"type": "number",
"description": "Width of the browser window"
},
"height": {
"type": "number",
"description": "Height of the browser window"
}
},
"required": ["width", "height"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_console_messages",
"description": "Returns all console messages",
"inputSchema": {
"type": "object",
"properties": {
"level": {
"default": "info",
"description": "Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to \"info\".",
"type": "string",
"enum": ["error", "warning", "info", "debug"]
},
"filename": {
"description": "Filename to save the console messages to. If not provided, messages are returned as text.",
"type": "string"
}
},
"required": ["level"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_handle_dialog",
"description": "Handle a dialog",
"inputSchema": {
"type": "object",
"properties": {
"accept": {
"type": "boolean",
"description": "Whether to accept the dialog."
},
"promptText": {
"description": "The text of the prompt in case of a prompt dialog.",
"type": "string"
}
},
"required": ["accept"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_evaluate",
"description": "Evaluate JavaScript expression on page or element",
"inputSchema": {
"type": "object",
"properties": {
"function": {
"type": "string",
"description": "() => { /* code */ } or (element) => { /* code */ } when element is provided"
},
"element": {
"description": "Human-readable element description used to obtain permission to interact with the element",
"type": "string"
},
"ref": {
"description": "Exact target element reference from the page snapshot",
"type": "string"
}
},
"required": ["function"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_file_upload",
"description": "Upload one or multiple files",
"inputSchema": {
"type": "object",
"properties": {
"paths": {
"description": "The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.",
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_fill_form",
"description": "Fill multiple form fields",
"inputSchema": {
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable field name"
},
"type": {
"type": "string",
"enum": [
"textbox",
"checkbox",
"radio",
"combobox",
"slider"
],
"description": "Type of the field"
},
"ref": {
"type": "string",
"description": "Exact target field reference from the page snapshot"
},
"value": {
"type": "string",
"description": "Value to fill in the field. If the field is a checkbox, the value should be `true` or `false`. If the field is a combobox, the value should be the text of the option."
}
},
"required": ["name", "type", "ref", "value"],
"additionalProperties": false
},
"description": "Fields to fill in"
}
},
"required": ["fields"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_install",
"description": "Install the browser specified in the config. Call this if you get an error about the browser not being installed.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_press_key",
"description": "Press a key on the keyboard",
"inputSchema": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Name of the key to press or a character to generate, such as `ArrowLeft` or `a`"
}
},
"required": ["key"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_type",
"description": "Type text into editable element",
"inputSchema": {
"type": "object",
"properties": {
"element": {
"description": "Human-readable element description used to obtain permission to interact with the element",
"type": "string"
},
"ref": {
"type": "string",
"description": "Exact target element reference from the page snapshot"
},
"text": {
"type": "string",
"description": "Text to type into the element"
},
"submit": {
"description": "Whether to submit entered text (press Enter after)",
"type": "boolean"
},
"slowly": {
"description": "Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.",
"type": "boolean"
}
},
"required": ["ref", "text"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_navigate",
"description": "Navigate to a URL",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL to navigate to"
}
},
"required": ["url"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_navigate_back",
"description": "Go back to the previous page in the history",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_network_requests",
"description": "Returns all network requests since loading the page",
"inputSchema": {
"type": "object",
"properties": {
"includeStatic": {
"default": false,
"description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
"type": "boolean"
},
"filename": {
"description": "Filename to save the network requests to. If not provided, requests are returned as text.",
"type": "string"
}
},
"required": ["includeStatic"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_run_code",
"description": "Run Playwright code snippet",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "A JavaScript function containing Playwright code to execute. It will be invoked with a single argument, page, which you can use for any page interaction. For example: `async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }`"
}
},
"required": ["code"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_take_screenshot",
"description": "Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.",
"inputSchema": {
"type": "object",
"properties": {
"type": {
"default": "png",
"description": "Image format for the screenshot. Default is png.",
"type": "string",
"enum": ["png", "jpeg"]
},
"filename": {
"description": "File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified. Prefer relative file names to stay within the output directory.",
"type": "string"
},
"element": {
"description": "Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too.",
"type": "string"
},
"ref": {
"description": "Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too.",
"type": "string"
},
"fullPage": {
"description": "When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.",
"type": "boolean"
}
},
"required": ["type"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_snapshot",
"description": "Capture accessibility snapshot of the current page, this is better than screenshot",
"inputSchema": {
"type": "object",
"properties": {
"filename": {
"description": "Save snapshot to markdown file instead of returning it in the response.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_click",
"description": "Perform click on a web page",
"inputSchema": {
"type": "object",
"properties": {
"element": {
"description": "Human-readable element description used to obtain permission to interact with the element",
"type": "string"
},
"ref": {
"type": "string",
"description": "Exact target element reference from the page snapshot"
},
"doubleClick": {
"description": "Whether to perform a double click instead of a single click",
"type": "boolean"
},
"button": {
"description": "Button to click, defaults to left",
"type": "string",
"enum": ["left", "right", "middle"]
},
"modifiers": {
"description": "Modifier keys to press",
"type": "array",
"items": {
"type": "string",
"enum": ["Alt", "Control", "ControlOrMeta", "Meta", "Shift"]
}
}
},
"required": ["ref"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_drag",
"description": "Perform drag and drop between two elements",
"inputSchema": {
"type": "object",
"properties": {
"startElement": {
"type": "string",
"description": "Human-readable source element description used to obtain the permission to interact with the element"
},
"startRef": {
"type": "string",
"description": "Exact source element reference from the page snapshot"
},
"endElement": {
"type": "string",
"description": "Human-readable target element description used to obtain the permission to interact with the element"
},
"endRef": {
"type": "string",
"description": "Exact target element reference from the page snapshot"
}
},
"required": ["startElement", "startRef", "endElement", "endRef"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_hover",
"description": "Hover over element on page",
"inputSchema": {
"type": "object",
"properties": {
"element": {
"description": "Human-readable element description used to obtain permission to interact with the element",
"type": "string"
},
"ref": {
"type": "string",
"description": "Exact target element reference from the page snapshot"
}
},
"required": ["ref"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_select_option",
"description": "Select an option in a dropdown",
"inputSchema": {
"type": "object",
"properties": {
"element": {
"description": "Human-readable element description used to obtain permission to interact with the element",
"type": "string"
},
"ref": {
"type": "string",
"description": "Exact target element reference from the page snapshot"
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of values to select in the dropdown. This can be a single value or multiple values."
}
},
"required": ["ref", "values"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_tabs",
"description": "List, create, close, or select a browser tab.",
"inputSchema": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": ["list", "new", "close", "select"],
"description": "Operation to perform"
},
"index": {
"description": "Tab index, used for close/select. If omitted for close, current tab is closed.",
"type": "number"
}
},
"required": ["action"],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
},
{
"name": "browser_wait_for",
"description": "Wait for text to appear or disappear or a specified time to pass",
"inputSchema": {
"type": "object",
"properties": {
"time": {
"description": "The time to wait in seconds",
"type": "number"
},
"text": {
"description": "The text to wait for",
"type": "string"
},
"textGone": {
"description": "The text to wait for to disappear",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}
}
],
"error": null
},
"sequential-thinking": {
"name": "Sequential Thinking MCP Client",
"package": "@modelcontextprotocol/server-sequential-thinking",
"tools": [
{
"name": "sequentialthinking",
"description": "A detailed tool for dynamic and reflective problem-solving through thoughts.\nThis tool helps analyze problems through a flexible thinking process that can adapt and evolve.\nEach thought can build on, question, or revise previous insights as understanding deepens.\n\nWhen to use this tool:\n- Breaking down complex problems into steps\n- Planning and design with room for revision\n- Analysis that might need course correction\n- Problems where the full scope might not be clear initially\n- Problems that require a multi-step solution\n- Tasks that need to maintain context over multiple steps\n- Situations where irrelevant information needs to be filtered out\n\nKey features:\n- You can adjust total_thoughts up or down as you progress\n- You can question or revise previous thoughts\n- You can add more thoughts even after reaching what seemed like the end\n- You can express uncertainty and explore alternative approaches\n- Not every thought needs to build linearly - you can branch or backtrack\n- Generates a solution hypothesis\n- Verifies the hypothesis based on the Chain of Thought steps\n- Repeats the process until satisfied\n- Provides a correct answer\n\nParameters explained:\n- thought: Your current thinking step, which can include:\n * Regular analytical steps\n * Revisions of previous thoughts\n * Questions about previous decisions\n * Realizations about needing more analysis\n * Changes in approach\n * Hypothesis generation\n * Hypothesis verification\n- nextThoughtNeeded: True if you need more thinking, even if at what seemed like the end\n- thoughtNumber: Current number in sequence (can go beyond initial total if needed)\n- totalThoughts: Current estimate of thoughts needed (can be adjusted up/down)\n- isRevision: A boolean indicating if this thought revises previous thinking\n- revisesThought: If is_revision is true, which thought number is being reconsidered\n- branchFromThought: If branching, which thought number is the branching point\n- branchId: Identifier for the current branch (if any)\n- needsMoreThoughts: If reaching end but realizing more thoughts needed\n\nYou should:\n1. Start with an initial estimate of needed thoughts, but be ready to adjust\n2. Feel free to question or revise previous thoughts\n3. Don't hesitate to add more thoughts if needed, even at the \"end\"\n4. Express uncertainty when present\n5. Mark thoughts that revise previous thinking or branch into new paths\n6. Ignore information that is irrelevant to the current step\n7. Generate a solution hypothesis when appropriate\n8. Verify the hypothesis based on the Chain of Thought steps\n9. Repeat the process until satisfied with the solution\n10. Provide a single, ideally correct answer as the final output\n11. Only set nextThoughtNeeded to false when truly done and a satisfactory answer is reached",
"inputSchema": {
"type": "object",
"properties": {
"thought": {
"type": "string",
"description": "Your current thinking step"
},
"nextThoughtNeeded": {
"type": "boolean",
"description": "Whether another thought step is needed"
},
"thoughtNumber": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Current thought number (numeric value, e.g., 1, 2, 3)"
},
"totalThoughts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Estimated total thoughts needed (numeric value, e.g., 5, 10)"
},
"isRevision": {
"description": "Whether this revises previous thinking",
"type": "boolean"
},
"revisesThought": {
"description": "Which thought is being reconsidered",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"branchFromThought": {
"description": "Branching point thought number",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"branchId": {
"description": "Branch identifier",
"type": "string"
},
"needsMoreThoughts": {
"description": "If more thoughts are needed",
"type": "boolean"
}
},
"required": [
"thought",
"nextThoughtNeeded",
"thoughtNumber",
"totalThoughts"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"error": null
},
"notion": {
"name": "Notion MCP Client",
"package": "@notionhq/notion-mcp-server",
"tools": [
{
"name": "API-get-user",
"description": "Notion | Retrieve a user\nError Responses:\n400: 400",
"inputSchema": {
"type": "object",
"properties": {
"user_id": {
"type": "string",
"format": "uuid"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["user_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-get-users",
"description": "Notion | List all users\nError Responses:\n400: 400",
"inputSchema": {
"type": "object",
"properties": {
"start_cursor": {
"type": "string",
"description": "If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "The number of items from the full list desired in the response. Maximum: 100"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": [],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-get-self",
"description": "Notion | Retrieve your token's bot user\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": [],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-post-search",
"description": "Notion | Search by title\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"query": {
"type": "string",
"description": "The text that the API compares page and database titles against."
},
"sort": {
"type": "object",
"description": "A set of criteria, `direction` and `timestamp` keys, that orders the results. The **only** supported timestamp value is `\"last_edited_time\"`. Supported `direction` values are `\"ascending\"` and `\"descending\"`. If `sort` is not provided, then the most recently edited results are returned first.",
"properties": {
"direction": {
"type": "string",
"description": "The direction to sort. Possible values include `ascending` and `descending`."
},
"timestamp": {
"type": "string",
"description": "The name of the timestamp to sort against. Possible values include `last_edited_time`."
}
},
"additionalProperties": true
},
"filter": {
"type": "object",
"description": "A set of criteria, `value` and `property` keys, that limits the results to either only pages or only data sources. Possible `value` values are `\"page\"` or `\"data_source\"`. The only supported `property` value is `\"object\"`.",
"properties": {
"value": {
"type": "string",
"description": "The value of the property to filter the results by. Possible values for object type include `page` or `data_source`. **Limitation**: Currently the only filter allowed is `object` which will filter by type of object (either `page` or `data_source`)",
"enum": ["page", "data_source"]
},
"property": {
"type": "string",
"description": "The name of the property to filter by. Currently the only property you can filter by is the object type. Possible values include `object`. Limitation: Currently the only filter allowed is `object` which will filter by type of object (either `page` or `data_source`)"
}
},
"additionalProperties": true
},
"start_cursor": {
"type": "string",
"description": "A `cursor` value returned in a previous response that If supplied, limits the response to results starting after the `cursor`. If not supplied, then the first page of results is returned. Refer to [pagination](https://developers.notion.com/reference/intro#pagination) for more details."
},
"page_size": {
"type": "integer",
"format": "int32",
"description": "The number of items from the full list to include in the response. Maximum: `100`.",
"default": 100
}
},
"required": [],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-get-block-children",
"description": "Notion | Retrieve block children\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a [block](ref:block)"
},
"start_cursor": {
"type": "string",
"description": "If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results."
},
"page_size": {
"type": "integer",
"format": "int32",
"default": 100,
"description": "The number of items from the full list desired in the response. Maximum: 100"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["block_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-patch-block-children",
"description": "Notion | Append block children\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a [block](ref:block). Also accepts a [page](ref:page) ID."
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"children": {
"type": "array",
"description": "Child content to append to a container block as an array of [block objects](ref:block)",
"items": {
"$ref": "#/$defs/blockObjectRequest"
}
},
"after": {
"type": "string",
"description": "The ID of the existing block that the new block should be appended after."
}
},
"required": ["block_id", "children"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-block",
"description": "Notion | Retrieve a block\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a Notion block"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["block_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-update-a-block",
"description": "Notion | Update a block\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a Notion block"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"type": {
"type": "object",
"description": "The [block object `type`](ref:block#block-object-keys) value with the properties to be updated. Currently only `text` (for supported block types) and `checked` (for `to_do` blocks) fields can be updated.",
"properties": {},
"additionalProperties": true
},
"archived": {
"type": "boolean",
"description": "Set to true to archive (delete) a block. Set to false to un-archive (restore) a block.",
"default": true
}
},
"required": ["block_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-delete-a-block",
"description": "Notion | Delete a block\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a Notion block"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["block_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-page",
"description": "Notion | Retrieve a page\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"description": "Identifier for a Notion page"
},
"filter_properties": {
"type": "string",
"description": "A list of page property value IDs associated with the page. Use this param to limit the response to a specific page property value or values. To retrieve multiple properties, specify each page property ID. For example: `?filter_properties=iAk8&filter_properties=b7dh`."
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["page_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-patch-page",
"description": "Notion | Update page properties\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"description": "The identifier for the Notion page to be updated."
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"properties": {
"type": "object",
"description": "The property values to update for the page. The keys are the names or IDs of the property and the values are property values. If a page property ID is not included, then it is not changed.",
"additionalProperties": true
},
"in_trash": {
"type": "boolean",
"description": "Set to true to delete a block. Set to false to restore a block.",
"default": false
},
"archived": {
"type": "boolean"
},
"icon": {
"type": "object",
"description": "A page icon for the page. Supported types are [external file object](https://developers.notion.com/reference/file-object) or [emoji object](https://developers.notion.com/reference/emoji-object).",
"properties": {
"emoji": {
"type": "string"
}
},
"required": ["emoji"],
"additionalProperties": false
},
"cover": {
"type": "object",
"description": "A cover image for the page. Only [external file objects](https://developers.notion.com/reference/file-object) are supported.",
"properties": {
"external": {
"type": "object",
"properties": {
"url": {
"type": "string"
}
},
"required": ["url"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["external"]
}
},
"required": ["external"],
"additionalProperties": false
}
},
"required": ["page_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-post-page",
"description": "Notion | Create a page\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"parent": {
"$ref": "#/$defs/parentRequest"
},
"properties": {
"type": "object",
"description": "The property values for the new page. The keys are the names or IDs of the property and the values are property values.",
"additionalProperties": true
},
"children": {
"type": "array",
"description": "The content to be rendered on the new page, represented as an array of [block objects](https://developers.notion.com/reference/block).",
"items": {
"type": "string"
}
},
"icon": {
"type": "string",
"format": "json",
"description": "The icon of the new page. Either an [emoji object](https://developers.notion.com/reference/emoji-object) or an [external file object](https://developers.notion.com/reference/file-object).."
},
"cover": {
"type": "string",
"format": "json",
"description": "The cover image of the new page, represented as a [file object](https://developers.notion.com/reference/file-object)."
}
},
"required": ["parent", "properties"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-page-property",
"description": "Notion | Retrieve a page property item\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"description": "Identifier for a Notion page"
},
"property_id": {
"type": "string",
"description": "Identifier for a page [property](https://developers.notion.com/reference/page#all-property-values)"
},
"page_size": {
"type": "integer",
"format": "int32",
"description": "For paginated properties. The max number of property item objects on a page. The default size is 100"
},
"start_cursor": {
"type": "string",
"description": "For paginated properties."
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["page_id", "property_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-comment",
"description": "Notion | Retrieve comments\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"block_id": {
"type": "string",
"description": "Identifier for a Notion block or page"
},
"start_cursor": {
"type": "string",
"description": "If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results."
},
"page_size": {
"type": "integer",
"format": "int32",
"description": "The number of items from the full list desired in the response. Maximum: 100"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["block_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-create-a-comment",
"description": "Notion | Create comment\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"parent": {
"type": "object",
"description": "The page that contains the comment",
"properties": {
"page_id": {
"type": "string",
"description": "the page ID"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"rich_text": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The content of the comment"
}
},
"required": ["content"],
"additionalProperties": true
}
},
"required": ["text"],
"additionalProperties": true
}
}
},
"required": ["parent", "rich_text"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-query-data-source",
"description": "Notion | Query a data source\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"data_source_id": {
"type": "string",
"description": "Identifier for a Notion data source (database)"
},
"filter_properties": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of page property value IDs to limit the response"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"filter": {
"type": "object",
"description": "Filter conditions for querying the data source",
"additionalProperties": true
},
"sorts": {
"type": "array",
"items": {
"$ref": "#/$defs/sortObject"
}
},
"start_cursor": {
"type": "string"
},
"page_size": {
"type": "integer",
"default": 100
},
"archived": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": ["data_source_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-data-source",
"description": "Notion | Retrieve a data source\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"data_source_id": {
"type": "string",
"description": "Identifier for a Notion data source"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["data_source_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-update-a-data-source",
"description": "Notion | Update a data source\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"data_source_id": {
"type": "string",
"description": "Identifier for a Notion data source"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"title": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
},
"description": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
},
"properties": {
"type": "object",
"description": "Property schema updates",
"additionalProperties": true
}
},
"required": ["data_source_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-create-a-data-source",
"description": "Notion | Create a data source\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"parent": {
"$ref": "#/$defs/pageIdParentRequest"
},
"properties": {
"type": "object",
"description": "Property schema of data source",
"additionalProperties": true
},
"title": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["parent", "properties"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-list-data-source-templates",
"description": "Notion | List templates in a data source\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"data_source_id": {
"type": "string",
"description": "Identifier for a Notion data source"
},
"start_cursor": {
"type": "string"
},
"page_size": {
"type": "integer",
"default": 100
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["data_source_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-retrieve-a-database",
"description": "Notion | Retrieve a database\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"database_id": {
"type": "string",
"description": "Identifier for a Notion database"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
}
},
"required": ["database_id"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
},
{
"name": "API-move-page",
"description": "Notion | Move a page\nError Responses:\n400: Bad request",
"inputSchema": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid",
"description": "Identifier for a Notion page"
},
"Notion-Version": {
"type": "string",
"default": "2025-09-03",
"description": "The Notion API version"
},
"parent": {
"$ref": "#/$defs/movePageParentRequest"
}
},
"required": ["page_id", "parent"],
"$defs": {
"richTextRequest": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"link": {
"type": ["object", "null"]
}
},
"required": ["content"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["text"]
}
},
"required": ["text"],
"additionalProperties": false
},
"pageIdParentRequest": {
"type": "object",
"properties": {
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["page_id"],
"additionalProperties": true
},
"dataSourceIdParentRequest": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["database_id"],
"additionalProperties": true
},
"parentRequest": {
"oneOf": [
{
"$ref": "#/$defs/pageIdParentRequest"
},
{
"$ref": "#/$defs/dataSourceIdParentRequest"
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"movePageParentRequest": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "page_id"
},
"page_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "page_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "database_id"
},
"database_id": {
"type": "string",
"format": "uuid"
}
},
"required": ["type", "database_id"],
"additionalProperties": true
},
{
"type": "object",
"properties": {
"type": {
"const": "workspace"
}
},
"required": ["type"],
"additionalProperties": true
}
]
},
"sortObject": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"direction": {
"type": "string",
"enum": ["ascending", "descending"]
}
},
"required": ["property", "direction"],
"additionalProperties": true
},
"paragraphBlockRequest": {
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["paragraph"]
}
},
"additionalProperties": false
},
"bulletedListItemBlockRequest": {
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/$defs/richTextRequest"
}
}
},
"required": ["rich_text"],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": ["bulleted_list_item"]
}
},
"additionalProperties": false
},
"blockObjectRequest": {
"anyOf": [
{
"$ref": "#/$defs/paragraphBlockRequest"
},
{
"$ref": "#/$defs/bulletedListItemBlockRequest"
}
]
}
}
}
}
],
"error": null
}
}
}