Skip to main content
The FlowMCP Schema Library is a curated collection of 187+ production-ready schemas covering DeFi, blockchain analytics, utilities, and more. Each schema follows the FlowMCP v2.0.0 specification and is validated, tested, and ready to use. Browse schemas: flowmcp.github.io/flowmcp-schemas

Categories

DeFi & Blockchain

Etherscan — Contract ABI, balances, transactions, gas tracking across EVM chainsCoinGecko — Prices, market data, coin metadata, trendingDeFi Llama — Protocol TVL, chain analytics, yields, stablecoin dataMoralis — Token transfers, NFT data, wallet historyDune Analytics — SQL query execution and result retrievalCoinCap — Real-time asset pricing and exchange data

Blockchain Infrastructure

Solscan — Solana account data, transactions, token infoHelius — Solana RPC and DAS APICryptoCompare — Crypto pricing and historical dataDeBank — Portfolio tracking across chainsDexScreener — DEX pair analytics and trading data

How to Use

1

Browse available schemas

Visit flowmcp.github.io/flowmcp-schemas to explore all available schemas, or use the CLI:
flowmcp search etherscan
flowmcp search "gas price"
flowmcp search defi
2

Import schemas

Import the full schema library into your FlowMCP CLI:
flowmcp import https://github.com/FlowMCP/flowmcp-schemas
Or if you already ran flowmcp init, schemas may already be imported.
3

Add tools to your project

Activate specific tools:
flowmcp add coingecko_simplePrice
flowmcp add etherscan_getGasOracle
Or create a group with multiple tools:
flowmcp group append defi --tools "flowmcp-schemas/coingecko/simplePrice.mjs,flowmcp-schemas/defillama/protocols.mjs"
flowmcp group set-default defi
4

Call tools

Execute tools directly:
flowmcp call coingecko_simplePrice '{"ids":"bitcoin","vs_currencies":"usd"}'
Or start an MCP server to expose them to AI clients:
flowmcp run

Using Schemas Programmatically

Import schemas directly in your Node.js code:
import { FlowMCP } from 'flowmcp-core'

// Load a schema from file
const { status, main, handlerMap } = await FlowMCP.loadSchema( {
    filePath: './node_modules/flowmcp-schemas/coingecko/simplePrice.mjs'
} )

// Execute a tool call
const result = await FlowMCP.fetch( {
    main,
    handlerMap,
    userParams: { ids: 'bitcoin', vs_currencies: 'usd' },
    serverParams: {},
    routeName: 'simplePrice'
} )

console.log( result.dataAsString )

API Keys

Some schemas require API keys. These are declared in the schema’s requiredServerParams field:
ProviderRequired KeyFree Tier
EtherscanETHERSCAN_API_KEYYes
CoinGeckoCOINGECKO_API_KEYYes (limited)
MoralisMORALIS_API_KEYYes
Dune AnalyticsDUNE_API_KEYYes (limited)
HeliusHELIUS_API_KEYYes
Store API keys in ~/.flowmcp/.env:
ETHERSCAN_API_KEY=your_key_here
COINGECKO_API_KEY=your_key_here
MORALIS_API_KEY=your_key_here
Schemas without requiredServerParams (like CoinGecko ping or DeFi Llama protocols) work without any API keys.

Shared Lists

Many schemas reference shared lists for cross-provider value normalization. The most common shared list is evmChains, which provides a unified chain registry:
// Schema references the shared list
sharedLists: [
    { ref: 'evmChains', version: '1.0.0', filter: { key: 'etherscanAlias', exists: true } }
]

// Parameter uses the list for enum generation
z: { primitive: 'enum({{evmChains:etherscanAlias}})', options: [] }
This means a single schema can support multiple EVM chains through the same parameter, with the chain list maintained centrally.

Contributing

New schemas are welcome. Follow these steps:
1

Fork the repository

Fork FlowMCP/flowmcp-schemas on GitHub.
2

Create your schema

Write your schema following the Schema Creation Guide. Place it in the appropriate provider directory.
3

Validate

Run validation against the FlowMCP specification:
flowmcp validate ./your-schema.mjs
4

Test

Test with live API calls:
flowmcp test single ./your-schema.mjs
5

Submit a pull request

Open a PR with your schema. Include the validation and test results in the PR description.

Quality Standards

All schemas in the library must meet these requirements:
  • v2.0.0 format with all required fields (namespace, name, description, version, routes)
  • Output schemas for all routes (output.schema with JSON Schema describing the response)
  • Documentation links in the docs field
  • Tags for discoverability
  • Passing validation via flowmcp validate
  • Passing tests via flowmcp test single (at least one route must return data)
Schemas that fail validation or testing will not be merged. Run both flowmcp validate and flowmcp test single before submitting.