Skip to content

fix(fleet): api.ferrfleet.com serves no /v1 routes, every mcp-fleet tool 404s #317

Description

@BryanFRD

Every ferrlabs-fleet tool fails with API error: HTTP 404. The bearer is accepted (a rejected token would give 401, as ferrlabs-track and ferrlabs-growth do), so this is not auth: the routes the MCP calls are not served.

Reproduction

Authorize ferrlabs-fleet, then call list_agents -> API error: HTTP 404.

Probing the API directly

api.ferrfleet.com answers on /health but 404s on every /v1 path tried, unauthenticated:

/health                  -> 200   {"status":"ok"}
/v1/agents               -> 404
/v1/runs                 -> 404
/agents                  -> 404
/v1/fleet/agents         -> 404
/v1/marketplace/agents   -> 404

/v1/runs matters: it is the other half of the sub-MCP surface (packages/mcp-fleet/src/tools/runs.ts), so this is not one mistyped path in agents.ts. Nothing under /v1 responds.

An unauthenticated request to a route that exists but requires auth should return 401. Returning 404 on every one suggests the router never reaches the application, which points at deployment or ingress rather than at the handler code.

Two candidate causes

  1. api.ferrfleet.com is not serving the FerrFleet API. Health is answered by something upstream (ingress or a placeholder) while the application is not routed, not deployed, or mounted under a different prefix.
  2. The API is up but mounts its routes under a prefix packages/mcp-fleet does not use. In that case FLEET_API_URL in packages/mcp-fleet/src/api-base.ts:1 and the paths in agents.ts / runs.ts need to match whatever is actually served.

Confirm which before changing anything here: if the API is simply not deployed, no client change is correct.

Why it went unnoticed

scripts/smoke.ts only boots @ferrlabs/mcp (#246), and the sub-MCP tools have no tests (#160). Nothing in CI would have caught an entire product API being unreachable.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High prioritybugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions