Skip to content

Schema Library

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

  1. Browse available schemas

    Visit flowmcp.github.io/flowmcp-schemas to explore all available schemas, or use the CLI:

    Terminal window
    flowmcp search etherscan
    flowmcp search "gas price"
    flowmcp search defi
  2. Import schemas

    Import the full schema library into your FlowMCP CLI:

    Terminal window
    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:

    Terminal window
    flowmcp add coingecko_simplePrice
    flowmcp add etherscan_getGasOracle

    Or create a group with multiple tools:

    Terminal window
    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:

    Terminal window
    flowmcp call coingecko_simplePrice '{"ids":"bitcoin","vs_currencies":"usd"}'

    Or start an MCP server to expose them to AI clients:

    Terminal window
    flowmcp run

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 )

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:

Terminal window
ETHERSCAN_API_KEY=your_key_here
COINGECKO_API_KEY=your_key_here
MORALIS_API_KEY=your_key_here

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.

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:

    Terminal window
    flowmcp validate ./your-schema.mjs
  4. Test

    Test with live API calls:

    Terminal window
    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.

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)