Goono MCP

Errors and permissions

Goono Open API error codes, key scopes, project roles, and plan constraints

When a tool fails, the result has isError: true and text in this shape. The MCP server appends a guidance sentence per code for the LLM to relay.

Goono API <status> <path> — [<code>] <message> — <guidance> — (requestId: ...)

Include the requestId when contacting Goono support. Branch on code, not message. Codes may be added in a backward-compatible way; unknown codes are passed through without guidance.

Error codes

StatusCodeMeaning · what to do
400BAD_REQUESTInvalid input
400OFFSET_TOO_LARGEoffset above 10,000. Narrow the query with filters
400INVALID_PAGINATION_SCOPEoffset in search requires exactly one section
401INVALID_API_KEYHeader missing, malformed, or invalid. Check the key
401KEY_EXPIREDExpired. Issue a new key
401KEY_DEACTIVATEDRevoked. Issue a new key
403INSUFFICIENT_SCOPEA write tool was called with a read key. Use a write scoped key
403WORKSPACE_PLAN_INACTIVEPlan lapsed. Not a key problem; reissuing will not help
403FORBIDDEN_WORKSPACEKey was issued for another workspace, or you are not a member
403FORBIDDEN_PROJECTInsufficient project role (drafts and writes need RW; locked deletion needs admin)
403FORBIDDEN_BY_IP_ACLNetwork issue. Outside the IP allowlist; lists work but details are blocked
403REVIEW_REQUIRED_PROJECTNotes cannot be moved into a project that requires review
404NOT_FOUNDMay have been deleted or moved after listing. Re-locate with search
404FILE_NOT_FOUNDFile missing in storage
404THUMBNAIL_NOT_AVAILABLENo thumbnail for variant: thumb
409FOLDER_NOT_EMPTYNotes remain or a GitHub repo is linked. Move notes out first
409FILE_NOT_READYStill converting or upload failed. Retry later
413FILE_TOO_LARGEOver 512KB. The MCP server turns this into a normal result carrying only the size
429RATE_LIMITEDRate limit exceeded. Retry shortly
502FILE_UNAVAILABLEStorage fetch or decryption failed. Retry
504FILE_TIMEOUTStorage did not respond in time. Retry

The MCP server itself returns only three HTTP errors: 401 INVALID_API_KEY when the X-Goono-Key header is missing or its prefix is not gno_live_ / gno_test_, 404 for any path other than /mcp, and 405 for methods other than POST.

Permission model

Tools see exactly what the key owner can see in Goono. A key cannot grant more than its owner has.

Key scopes

ScopeCovers
readThe 14 read tools
writeread + create_folder, rename_folder, delete_folder, move_note

Check apiKey.scopes in get_me.

Project roles

myAuthType in list_projects and members[].authType in get_project carry the role.

ActionRequired role
Read notes and reviews, searchMember
Read research draftsRW
Create, rename, delete folders; move notesRW (+ write scope)
Move a note to another projectADMIN on the source project + RW on the target
Delete a folder in a deletion-locked projectAdmin

Plans

  • Check workspace.planType in get_me.
  • When the plan lapses, every call returns 403 WORKSPACE_PLAN_INACTIVE. The same key works again once the plan is renewed.
  • Without an active plan, the notesByOcrText section of search is empty. The ocrText filter of list_notes has no plan restriction.
  • IP allowlists apply only to ENTERPRISE_PLUS workspaces with ACL enabled.

On this page