FlowAPI MCP Server
MCP server providing system-level access to FlowAPI endpoints for art, user, and invite operations using sys_key authentication.
README
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.
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 build
Configuration
Copy the example configuration:
cp .env.example .env
Edit .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.0
Usage
Development
npm run dev
Production
npm run build
npm start
Testing
# Test all available endpoints
node dist/test-final.js
Integration 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
FlowApiClient - Create the tool definition in appropriate tool file
- Add the handler in the tool's
handlefunction - Update 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 test - Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions, please use the GitHub Issues page.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.