# Forge Engine (app.forgeengine/forge): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/app.forgeengine%2Fforge/versions/latest)
- Connected to: https://mmvdabzadclebfxyzudg.supabase.co/functions/v1/forge-mcp
- Homepage: https://forgeengine.app/
- Repository: https://github.com/alongkornonline2019/forge-mcp
- Scoring rules: v2
- Tools: 54
- Average: 37.8 / 100 (Rain)
- Near-identical pairs: 0

This page shows how Forge Engine (app.forgeengine/forge)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 54 tools. Above 40, models choose less accurately.

## Tools

- `list_milestones`: 13 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_screens`: 13 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_systems`: 13 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `design_ui_from_systems`: 21 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `import_from_code`: 21 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_stale`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_rejections`: 26 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `report_screen_status`: 26 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: screen, status, project_id.
  - Minor: Says nothing about what it returns.
- `search`: 26 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_project_context`: 27 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `propose_dna`: 28 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: batch, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `propose_milestone`: 28 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: name, goal, project_id.
  - Minor: Says nothing about what it returns.
- `get_inbox`: 29 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_project_meta`: 29 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_balance`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument include_rows is unclear.
  - Minor: Says nothing about what it returns.
- `get_impact`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_milestone`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_screen_image`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_system`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `propose_flow_edge`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: from, to, label, project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `rename_screen`: 33 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: name, project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `report_milestone_progress`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `propose_screen`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `report_drift`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, note, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `delete_entity`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: from, to, project_id.
  - Minor: Says nothing about what it returns.
- `propose_system`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: batch, project_id.
  - Minor: Says nothing about what it returns.
- `dedupe`: 38 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: screen, project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_activity`: 38 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: query, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_briefing`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_build_region`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_screen`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `update_element`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: y, w, h, project_id.
  - Minor: String arguments with no constraint or example: element_id, label, new_label, note, system, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `update_milestone`: 39 / 100
  - Minor: Arguments without a description: goal, weeks, project_id.
  - Minor: String arguments with no constraint or example: id, goal, new_name, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `reorder`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: milestone_id, screen, project_id.
  - Minor: Says nothing about what it returns.
- `resolve_rejection`: 40 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `propose_balance_table`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: title, project_id.
  - Minor: Says nothing about what it returns.
- `propose_balance_board`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: name, project_id.
  - Minor: Says nothing about what it returns.
- `withdraw_proposal`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `post_log`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: version, project_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `add_task`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: done, status, effort, project_id.
  - Minor: String arguments with no constraint or example: milestone_id, milestone, name, assignee, project_id.
  - Minor: The meaning of the boolean argument done is unclear.
  - Minor: Says nothing about what it returns.
- `list_projects`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_history`: 47 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: query, project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `resync_from_idea`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
- `next_task`: 49 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `propose_context`: 49 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: batch, project_id.
  - Minor: Says nothing about what it returns.
- `update_system`: 50 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: id, name, project_id.
  - Minor: Says nothing about what it returns.
- `get_help`: 51 / 100
  - Minor: Says nothing about what it returns.
- `update_task`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name, project_id.
  - Minor: String arguments with no constraint or example: task_id, name, assignee, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `get_workflow`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `propose_element`: 54 / 100
  - Minor: Arguments without a description: note, project_id.
  - Minor: String arguments with no constraint or example: screen, note, system, project_id.
  - Minor: Says nothing about what it returns.
- `get_design_document`: 61 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: No `required` list, so every argument is optional.
- `trace_ui_from_image`: 62 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
- `set_design_overview`: 63 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `report_build_status`: 73 / 100
  - Minor: Arguments without a description: evidence[].criterion, evidence[].proof, project_id.
  - Minor: String arguments with no constraint or example: id, name, status, evidence[].criterion, evidence[].proof, version, project_id.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
