Skip to content

What is FlowMCP?

AI agents need tools — “get crypto prices”, “check wallet balances”, “query open data”. But APIs are chaotic: different authentication methods, URL structures, response formats, and rate limits. Every integration requires custom server code, parameter validation, error handling, and response formatting.

At 5 APIs this is tedious. At 50 it is unmaintainable. At 500 it is impossible without a systematic approach.

FlowMCP is a schema-driven normalization layer that transforms any data source into MCP-compatible tools. You write a declarative .mjs schema. FlowMCP handles validation, URL construction, authentication, and response formatting.

No custom server code. No boilerplate. One schema per provider.

FlowMCP v3.0.0 supports four primitives in a single schema file:

A complete, runnable schema — everything an AI agent needs to call the CoinGecko price API:

export const main = {
namespace: 'coingecko',
name: 'CoinGecko Prices',
description: 'Cryptocurrency price data from CoinGecko',
version: '3.0.0',
root: 'https://api.coingecko.com/api/v3',
tools: {
simplePrice: {
method: 'GET',
path: '/simple/price',
description: 'Get current price of cryptocurrencies',
parameters: {
ids: { type: 'string', required: true, description: 'Coin IDs (comma-separated)' },
vs_currencies: { type: 'string', required: true, description: 'Target currencies' }
}
}
}
}
  1. Install FlowMCP

    Terminal window
    npm install -g github:FlowMCP/flowmcp-cli
  2. Search available schemas

    FlowMCP ships with 450+ pre-built schemas across crypto, DeFi, open data, and more.

    Terminal window
    flowmcp search coingecko
  3. Add a tool to your project

    Activates the tool and shows its expected input parameters.

    Terminal window
    flowmcp add simple_price_coingecko
  4. Call the tool

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

FlowMCP separates each schema into two exports:

ExportPurposeDescription
mainDeclarative configJSON-serializable, hashable — describes tools, resources, prompts, and skills
handlersExecutable logicOptional factory function that transforms API responses

This separation enables integrity hashing (detect schema tampering), security scanning (analyze handlers before execution), and shared list injection (reusable value lists loaded at runtime).