FlowAPI MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FlowAPI MCP Server list the first 10 recommended arts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FlowAPI MCP Server
Model Context Protocol (MCP) server for integration with FlowAPI system operations.
Overview
This MCP server provides system-level access to FlowAPI endpoints through Claude Code integration, enabling automated operations with sys_key authentication only. The server focuses on read operations and system queries that work reliably with system-level authentication.
Related MCP server: Flow Boards MCP Server
Features
System Authentication: Uses X-SYS-KEY for system-level operations
Read-Only Focus: Optimized for data retrieval and system queries
Typed API: Full TypeScript type safety
Error Handling: Comprehensive error handling and logging
Reliable Operations: Only includes endpoints verified to work with sys_key auth
Supported Operations
Art & NFT Operations
list_arts- Get list of arts with filters and paginationget_art- Get detailed art information by IDget_recommended_arts- Get recommended arts for discoverylist_art_collections- List art collections with optional filtersget_art_collection- Get collection details by ID
User Management
search_users- Search users with filters and paginationget_user- Get user information by various IDs (user_id, webapp_user_id, telegram_user_id, discord_user_id, camunda_user_id)get_user_wallets- Retrieve user wallet information
Invite System
get_invited_wallets- Get invited wallet addresses for blockchain integrationget_invited_wallets_by_token- Get invited wallets for specific token
External Workers & Strategies
list_external_workers- List external worker configurationsget_external_worker- Get external worker detailslist_strategies- List available strategiesget_strategy- Get strategy details
System Information
health_check- Check API health and statusget_available_tools- List all available MCP tools
Installation
npm install
npm run buildConfiguration
Copy the example configuration:
cp .env.example .envEdit .env with your FlowAPI configuration:
# FlowAPI Configuration
FLOW_API_URL=https://your-flowapi-instance.com/api
FLOW_API_SYS_KEY=your-system-key-here
# Environment
NODE_ENV=production
# Logging
LOG_LEVEL=info
# MCP Server Configuration
MCP_SERVER_NAME=flowapi-server
MCP_SERVER_VERSION=1.0.0Usage
Development
npm run devProduction
npm run build
npm startTesting
# Test all available endpoints
node dist/test-final.jsIntegration with Claude Code
Add to your Claude Code MCP configuration (~/.claude/mcp_servers.json):
{
"mcpServers": {
"flowapi": {
"command": "node",
"args": ["/path/to/flowapi-mcp-server/dist/index.js"],
"env": {
"FLOW_API_URL": "https://your-flowapi-instance.com/api",
"FLOW_API_SYS_KEY": "your-system-key-here",
"NODE_ENV": "production"
}
}
}
}Architecture
Authentication Strategy
This server exclusively uses system key authentication (X-SYS-KEY header) for all operations. JWT-dependent endpoints have been removed to ensure reliability and consistency.
Error Handling
Comprehensive error responses with detailed information
HTTP status code preservation
Structured error messages for debugging
Type Safety
Full TypeScript implementation
Zod schema validation for all inputs
Strict API response typing
API Examples
List Arts with Filters
// Get the first 10 arts
await client.getArts(10, 0, '{"active": true}');Search Users
// Search for premium users
await client.searchUsers({
is_premium: true,
page: 1,
page_size: 10
});Get User Information
// Get user by different ID types
await client.getUserBy({ user_id: "uuid-here" });
await client.getUserBy({ camunda_user_id: "camunda-id" });
await client.getUserBy({ webapp_user_id: "webapp-uuid" });Development Notes
Removed Features
The following endpoints were removed due to JWT authentication requirements:
create_art- Requires user context via JWTupdate_art- Requires user ownership validationcreate_art_collection- Requires user authenticationget_next_arts- Requires user personalizationget_arts_history- Requires user context
Adding New Endpoints
Add the endpoint method to
FlowApiClientCreate the tool definition in appropriate tool file
Add the handler in the tool's
handlefunctionUpdate type definitions if needed
Test with sys_key authentication
Contributing
Fork the repository
Create a feature branch
Make your changes
Ensure all tests pass:
npm testSubmit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions, please use the GitHub Issues page.
Available Tools
19 toolscreate_external_workerC
Create a new external worker. System-level operation for worker management.
Inputs: name (required), endpoint (required), config, is_active.
create_userB
Create a new user in the system. System-level operation for user management.
Inputs: is_admin, is_premium, blofin_user_id, webapp_user_id, +3 more.
delete_external_workerC
Delete an external worker. System-level administrative operation.
Inputs: worker_id (required).
delete_userA
Delete a user by user ID. System-level administrative operation.
Inputs: user_id (required).
flowapi_health_checkB
Check FlowAPI system health and connectivity. Verifies system is operational.
Inputs: no named parameters.
flowapi_system_infoA
Get system information including configuration and connectivity status.
Inputs: no named parameters.
get_artA
Get art details by ID. System-level operation.
Inputs: art_id (required).
get_art_collectionB
Get art collection details by ID. System-level operation.
Inputs: collection_id (required).
get_external_workerB
Get external worker details by ID. System-level operation.
Inputs: worker_id (required).
get_invited_walletsB
Get invited wallet addresses for a specific chain. System-level operation for invite management.
Inputs: chain_id (required), only_updated.
get_invited_wallets_by_tokenC
Get invited wallet addresses for a specific chain and token. System-level operation requiring authentication.
Inputs: chain_id (required), token_id (required).
get_recommended_artsC
Get recommended arts for discovery. System-level operation.
Inputs: count.
get_userA
Get user information by various identifiers. At least one identifier must be provided.
Inputs: user_id, blofin_user_id, webapp_user_id, camunda_user_id, +2 more.
get_user_walletsC
Get wallet information for a user by various identifiers. System-level operation for wallet management.
Inputs: user_id, webapp_user_id, camunda_user_id, discord_user_id, +1 more.
list_art_collectionsC
List art collections with optional filters. System-level operation.
Inputs: limit, offset, parent_id.
list_artsC
Get list of arts with optional parameters and filters. Works with sys_key authentication.
Inputs: limit, offset, parameters.
list_external_workersB
List external workers with pagination. System-level operation for worker management.
Inputs: limit, offset.
search_usersC
Search for users with optional filters. System-level operation for administrative purposes.
Inputs: page, is_admin, is_block, page_size, +1 more.
update_external_workerC
Update external worker configuration. System-level operation.
Inputs: worker_id (required), name, config, endpoint, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Most tools have distinct purposes, but there is slight overlap between health_check and system_info (both check system status) and between get_invited_wallets and get_invited_wallets_by_token (similar but differentiated by token parameter). Overall, descriptions are clear enough to avoid major confusion.
Tool names are inconsistent in prefix usage: some start with 'flowapi_' (e.g., flowapi_health_check), others do not (e.g., search_users). The pattern is mostly verb_noun but varies between 'search' and 'list' for similar operations. This mix reduces consistency.
With 19 tools covering multiple domains (users, workers, arts, collections, wallets), the count is appropriate for the server's scope. It is slightly on the higher side but still well-scoped without feeling bloated.
The tool set provides full CRUD for external workers but lacks update for users and delete for arts and collections. Also, arts and art collections are limited to read-only operations. There are notable gaps that agents may need to work around.
Maintenance
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server for SFLUV that exposes workflows, votes, and wallet data to AI agents with per-user OAuth authorization.-
- FlicenseBqualityDmaintenanceMCP server that exposes the full Flow Boards REST API as Claude tools, enabling natural language management of tickets, flows, bins, boards, comments, and more.386 npm1-
- AlicenseBqualityDmaintenanceMCP server for managing n8n workflows and executions. Enables listing, activating, deactivating, and executing workflows, as well as monitoring executions and instance health.9MIT
- AlicenseNot gradedqualityCmaintenanceProvides a sovereign, MIT-licensed MCP server for professional-service workflows, running entirely on your infrastructure with Ed25519 cryptographic signing for every action.MIT