Connection Issues
Diagnose and fix MCP connection failures and REST API authentication errors.
Connection Issues
MCP connection refused or timeout
Symptom: Your AI assistant reports that it cannot connect to Ferrule, or the MCP connection times out during setup.
Cause: The MCP endpoint URL is incorrect, the Ferrule service is not running, or a firewall is blocking outbound HTTPS on port 443.
Solution:
- Confirm the MCP URL ends with
/api/mcp(not/sse):https://app.ferrule.io/api/mcp. - Test connectivity with curl:
Acurl -I https://app.ferrule.io/api/mcp {"\n"} -H "Authorization: Bearer <your-api-key>"200 OKor405 Method Not Allowedresponse confirms the host is reachable. - If using the SSE transport (legacy clients), the endpoint is
/sse. - Check that port 443 is open outbound from the machine running your AI assistant.
See Getting Started to verify your MCP URL.
REST API returning 401 Unauthorized
Symptom: Every REST request returns {"error":"Unauthorized"} with HTTP 401.
Cause: The API key is missing, malformed, or has been revoked.
Solution:
- Confirm the
Authorizationheader is present and formatted correctly:Authorization: Bearer frl_... - Verify the key has not expired. In the Ferrule dashboard, go to API Keys and check the Expires column. If it shows "Expired," generate a new key.
- Check that the key was not revoked. A revoked key does not appear in the dashboard list.
- Ensure there are no extra spaces or newline characters around the token value.
REST API returning 403 Forbidden
Symptom: Requests return HTTP 403 even though the API key is valid.
Cause: The API key belongs to a member whose custom role does not grant access to the requested integration, or the integration has REST protocol disabled.
Solution:
- Open Dashboard → Integrations → Configure for the affected integration and confirm REST is toggled on. REST is disabled by default for new integrations.
- If your account has a custom role, ask an admin to verify the role includes the integration you are trying to call. See Organizations & Teams for role details.
- Admins and owners always have full access — if an admin's key is returning 403, the issue is the protocol toggle, not the role.
Rate limiting — HTTP 429 Too Many Requests
Symptom: Requests intermittently return HTTP 429 with a Retry-After header.
Cause: Ferrule enforces a rate limit of 100 requests per minute per API key. Bursts of automation or a tight polling loop can exceed this limit.
Solution:
- Read the
Retry-Afterresponse header; it contains the number of seconds to wait before retrying. - Add exponential backoff to your client: start with a 1-second delay and double it on each retry, up to a maximum of 60 seconds.
- If you legitimately need a higher rate limit, contact Ferrule support.
- Check whether multiple scripts or processes share the same API key — each one counts against the same limit. Consider generating separate keys per process.
Firewall or proxy blocking connections
Symptom: Connection works from one network but fails from a corporate network or CI environment.
Cause: A firewall or HTTP proxy is intercepting HTTPS connections to the Ferrule host.
Solution:
- Check whether your environment requires an HTTP proxy. Set the standard proxy
environment variables if so:
export HTTPS_PROXY=http://proxy.example.com:3128 - If your proxy performs TLS inspection (MITM), you may need to add the proxy's CA certificate to your trust store.
- Contact your network administrator to whitelist the Ferrule host.