Feedjoltdocs
DevelopersMCP

MCP Troubleshooting

Fix common Feedjolt MCP errors: 402 plan required, 401 unauthorized, 403 missing scope, 429 rate limited, tag-not-found, and the delete guards on boards and statuses.

402 Plan required

The response says MCP access requires the Startup or Scale plan (not Growth). Your workspace is on Growth, which doesn't include the MCP server. Upgrade to Startup or Scale from Dashboard -> Billing, then retry.

401 Unauthorized

The request had no credential, a bad one, or a revoked one.

  • OAuth. Approve the client again in the browser, or check Dashboard -> Developers -> MCP -> Connected apps.
  • API key. Your Authorization: Bearer fjk_... header is missing, malformed, or the key was revoked. Issue a new key at API keys.

403 Forbidden - missing scope

The credential is valid but lacks the scope the tool requires. The error names the missing scope and what the principal can do instead:

This API key lacks the 'delete' scope. It is allowed to: read, write.
Grant the 'delete' scope to this key at https://feedjolt.com/dashboard/developers/api-keys

For OAuth, approve again with the missing scope (step-up). For an API key, open it at API keys and add the scope. See Permissions for what each scope covers.

429 Rate Limited

You hit 600 requests/minute per principal (API key, or user+client on OAuth). The error response includes a retry_after_seconds hint. If you're seeing this from normal use, contact support.

Tool returns "Tag 'X' not found"

Tags must already exist. Use list_tags to see what's available, or create the tag in the dashboard first.

delete_board refuses with "REFUSED: board ... holds N posts"

Working as intended - delete_board never deletes a board that still has posts on it, and there's no argument to force it, because deleting cascades to every post, vote, and comment on the board. Move the posts elsewhere, or call update_board with archived: true to retire the board while keeping its content. See MCP Tools.

delete_status asks for reassign_to_status_id

delete_status needs somewhere to put the posts currently on the status you're deleting - pass the target status's ID as reassign_to_status_id. It also refuses to delete the workspace's default status or its only remaining status; use list_statuses to find another status to promote or reassign to first. See MCP Tools.

On this page