Schema Validation Errors
Namespace format errors
Namespace format errors
Error:
namespace must contain only lowercase lettersThe namespace field accepts only lowercase a-z characters. No numbers, hyphens, underscores, or uppercase.Version field errors
Version field errors
Error:
version must be a valid semver stringThe version field must be a full semver string without prefix.Parameter structure errors
Parameter structure errors
Error:
parameter must have position and z fieldsEvery parameter in v2.0.0 requires a position block and a z block.Route limit exceeded
Route limit exceeded
Error:
schema exceeds maximum of 8 routesv2.0.0 limits schemas to a maximum of 8 routes. Split large schemas into multiple files grouped by endpoint type.Missing required fields
Missing required fields
Error:
main.root is required or main.requiredServerParams is requiredv2.0.0 requires several fields that were optional in v1. Check the full list:Server Startup Issues
Port already in use
Port already in use
Error:
EADDRINUSE: address already in use :::3000Another process is using the port. Find and stop it:Missing environment variables
Missing environment variables
Error:
Required server parameter API_KEY is not setThe schema declares requiredServerParams that must be present in the environment.MCP SDK version mismatch
MCP SDK version mismatch
Error:
Cannot find module '@modelcontextprotocol/sdk' or unexpected API errorsEnsure you are using a compatible MCP SDK version:Schema file not found
Schema file not found
Error:
ENOENT: no such file or directoryVerify the schema path is correct and the file exists:API Request Failures
401 Unauthorized
401 Unauthorized
429 Rate Limited
429 Rate Limited
The API is throttling your requests.Solutions:
- Check the API documentation for rate limit quotas
- Add delays between requests in batch operations
- Use a paid API tier for higher limits
- Cache responses when possible
Request timeout
Request timeout
The API did not respond within the timeout window.Solutions:
- Verify the API endpoint is accessible:
curl -I https://api.example.com - Check network connectivity
- Some APIs have slow endpoints for large data sets — consider pagination parameters
Invalid JSON response
Invalid JSON response
Error:
Unexpected token < in JSON at position 0The API returned HTML or XML instead of JSON. Common causes:- Wrong base URL (hitting a web page instead of API)
- API requires authentication and returns an HTML login page
- API endpoint has changed
Claude Desktop Integration
MCP server not showing in Claude
MCP server not showing in Claude
-
Verify your config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Check config format:
- Use absolute paths in
args— relative paths may not resolve correctly - Restart Claude Desktop completely (quit and reopen, not just close the window)
Tools not appearing after server starts
Tools not appearing after server starts
- Verify schemas load without errors by running the server manually in a terminal
- Check that
loadSchema()returnsstatus: truefor all schemas - Confirm tools are registered using the MCP SDK’s tool listing
- Check Claude Desktop logs for MCP-related errors
Tool calls returning errors
Tool calls returning errors
- Test the same route with
FlowMCP.fetch()outside Claude to isolate the issue - Check that all
requiredServerParamsare set in the Claude Desktop configenvblock - Verify the API endpoint is reachable from your machine
Handler Issues (v2.0.0)
Handler factory function errors
Handler factory function errors
Error:
handlers export must be a functionThe handlers export must be a factory function, not a plain object.Dependency injection errors
Dependency injection errors
Error:
Library 'ethers' is not on the allowlistLibraries must be declared in requiredLibraries in the main export. Only allowlisted libraries can be injected.Shared list not found
Shared list not found
Handler not matching route name
Handler not matching route name
Error:
Handler key 'getprice' does not match any route nameHandler keys must exactly match route names from main.routes.Error Messages Reference
Schema Errors
| Error | Cause | Solution |
|---|---|---|
namespace invalid | Contains non-lowercase-letter characters | Use only a-z |
route missing method | Route has no method field | Add method: 'GET' (or POST, etc.) |
parameter missing z | Parameter lacks Zod validation | Add z block to parameter |
serverParams not declared | Header uses {{KEY}} but KEY not in requiredServerParams | Add to requiredServerParams array |
routes exceed max count | More than 8 routes in one schema | Split into multiple schema files |
handlers is not a function | handlers exported as object | Convert to factory function |
Runtime Errors
| Error | Cause | Solution |
|---|---|---|
ECONNREFUSED | Target server not running | Verify API endpoint is accessible |
ETIMEDOUT | Request timeout | Check network, increase timeout |
ENOTFOUND | Invalid hostname in URL | Verify root URL in schema |
Invalid JSON | Response is not valid JSON | Check API endpoint returns JSON |
Required server parameter missing | serverParams value not set | Set the environment variable |
Debug Checklist
Before reporting an issue, verify the following:- Schema validates — Run
FlowMCP.validateMain( { main } )and check for errors - Security scan passes — Run
FlowMCP.scanSecurity( { filePath } )on the schema file - Schema loads — Run
FlowMCP.loadSchema()and verifystatus: true - Environment variables set — All
requiredServerParamsvalues are available - API reachable — Test the API endpoint directly with
curl - Node.js version — Verify Node.js 22+ is installed (
node --version) - Dependencies installed — Run
npm cito ensure clean install - Test with simple schema — Try a minimal schema with one route and no handlers