Hi,
I’ve set up an MCP Server with a tool linked to a FileMaker script. The MCP connection from Claude Code works, but when executing the tool I get:
Failed to make OData call: 401 Unauthorized - {"error":{"code":"212","message":"(212): Invalid account/password"}}
Environment:
• OttoFMS 4.16.1
• FMS 22.0.1
• macOS 26.2 (Apple Silicon M1)
• LAN-only server, self-signed certificate (default FMS cert + mkcert trusted cert tried)
What works:
• Direct OData call to FMS (curl https://localhost/fmi/odata/v4/… with Basic auth) — script runs and returns correct result ![]()
• OttoFMS OData proxy (/otto/fmi/odata/v4/… with Bearer token from Data API Key) ![]()
• Data API authentication with the same account/password ![]()
• MCP connection from Claude Code (-t http) ![]()
What fails:
• MCP tool execution — OttoFMS’s internal OData call returns 401 ![]()
Setup:
• Data API Key created with both Data API and OData enabled
• FileMaker account has fmrest, fmodata, and fmapp extended privileges (Full Access privilege set)
• MCP Server with one tool pointing to a simple test script
• NODE_TLS_REJECT_UNAUTHORIZED=0 set in the OttoFMS launch daemon plist
OttoFMS error log:
Error executing OData MCP tool 'hello': Failed to make OData call: 401 Unauthorized - {"error":{"code":"212","message":"(212): Invalid account/password"}}
It seems like the credentials stored in the Data API Key are not being passed correctly to the internal OData call when executing an MCP tool, even though the same key works fine for external OData proxy requests.
Additional note: I also encountered an “Already connected to a transport” error when the OttoFMS console (browser) had the MCP Servers page open. Closing the browser tab and restarting OttoFMS resolved that.
Any ideas? Thanks!