Skip to content

Installation

Docs > Getting Started
  • Node.js 22+ — required for ES module support and modern JavaScript features
  • npm or yarn — for package management

Check your Node.js version:

Terminal window
node --version
# Must be v22.x or higher

The core library provides schema validation, API execution, and MCP server activation.

Install via GitHub:

npm install github:FlowMCP/flowmcp-core

FlowMCP packages are not published to NPM. They are installed directly from GitHub.

import { FlowMCP } from 'flowmcp-core'

Use FlowMCP Core when you want to:

  • Validate schemas programmatically
  • Execute API calls via FlowMCP.fetch()
  • Build MCP servers with FlowMCP.activateServerTools()
  • Integrate FlowMCP into your own applications

The CLI provides interactive access to the full schema catalog from the command line.

Install via GitHub:

npm install -g github:FlowMCP/flowmcp-cli

FlowMCP packages are not published to NPM. They are installed directly from GitHub.

Verify the installation:

Terminal window
flowmcp status

Use the CLI when you want to:

  • Search the schema catalog (flowmcp search coingecko)
  • Activate schemas for a project (flowmcp add coingecko_ping)
  • Call APIs directly (flowmcp call coingecko_ping '{}')
  • Validate schemas during development

373+ production-ready schemas ship with the CLI, covering providers like Etherscan, Moralis, DeFi Llama, Dune Analytics, OpenWeather, GitHub, and many more. Each schema is validated, tested, and follows the v4.1.0 specification.

Browse and activate schemas directly from the CLI:

Terminal window
flowmcp search ethereum
# Shows matching schemas with descriptions
flowmcp add get_contract_abi_etherscan
# Activates the schema and shows its parameters

For building MCP servers, you also need the Model Context Protocol SDK:

Terminal window
npm install @modelcontextprotocol/sdk

This provides the Server, StdioServerTransport, and SSEServerTransport classes needed to expose your schemas as MCP tools.

Create a file called verify.mjs:

import { FlowMCP } from 'flowmcp-core'
const schema = {
namespace: 'test',
name: 'Verify',
description: 'Installation verification',
version: '4.1.0',
root: 'https://httpbin.org',
requiredServerParams: [],
requiredLibraries: [],
headers: {},
tools: {
check: {
method: 'GET',
path: '/get',
description: 'Simple GET request',
parameters: []
}
}
}
const { status } = FlowMCP.validateSchema( { schema } )
console.log( status ? 'FlowMCP Core installed successfully!' : 'Validation failed' )
Terminal window
node verify.mjs
# → FlowMCP Core installed successfully!
Terminal window
flowmcp status
# Shows version, configuration, and active tools
flowmcp search ping
# Should return matching schemas from the catalog

For a new project using FlowMCP, a minimal package.json looks like this:

{
"name": "my-flowmcp-project",
"version": "1.0.0",
"type": "module",
"dependencies": {
"flowmcp-core": "github:FlowMCP/flowmcp-core",
"@modelcontextprotocol/sdk": "latest"
}
}