MCP server providing tools for Forge app creation, deployment, and connector scaffolding
Server has 6 tools with basic descriptions and some parameter documentation, but significant gaps in schema completeness, parameter descriptions, and error handling. Tool names follow verb_noun convention (create_forge_app, deploy_forge_app, list_templates, discover_dev_spaces, scaffold_connector, run_static_analysis), which is good. However, most tools lack comprehensive input schemas with type definitions and descriptions for all parameters. Descriptions are present but often generic (e.g., 'Create a Forge app using forge create with non-interactive mode'). No output schemas documented. Error handling is minimal, tools print error messages but do not guide LLM recovery. Security concerns: deploy_forge_app accepts site URL and product as parameters, risking injection; no evidence of input sanitization or permission gates.
Create a Forge app using 'forge create' with non-interactive mode and better error handling. Validates prerequisites, template, and developer space selection.
Automate complete Forge app deployment process including dependency installation, manifest validation, app registration, deployment to Forge, and installation on Jira site.
Discover available developer spaces via the Forge CLI. Returns list of developer space IDs and names.
List all available Forge templates from Atlassian's template registry. Supports filtering, validation, and multiple output formats.
Run Forge Security Review Test (FSRT) static analysis against a Forge project. Validates manifest.yml and performs security checks.
Create a new Forge app with graph:connector module boilerplate including manifest.yml, src/index.ts with handlers, and package.json configuration.
Output schemas not documented. Tools return results but LLMs cannot predict field names, types, or structure. E.g., discover_dev_spaces returns list of dicts with 'id' and 'name', but this is inferred from code, not declared in tool definition.
Parameter descriptions incomplete or missing. deploy_forge_app has 8 parameters but descriptions are terse (e.g., 'Path to Forge app directory (required)' lacks format/validation hints). run_static_analysis has only 1 parameter with minimal guidance.
No enum constraints on string parameters. deploy_forge_app 'product' defaults to 'jira' but valid values (jira, confluence, bitbucket) are not declared as enum. LLM may hallucinate invalid product names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Error handling does not guide LLM recovery. Tools print error messages to stdout/stderr but do not return structured error responses with actionable next steps. E.g., if forge CLI is missing, LLM sees 'Prerequisites missing' but has no guidance on retry or alternative.
No input validation or sanitization visible. deploy_forge_app accepts 'site' (URL) and 'product' as free-form strings. No evidence of path traversal, command injection, or URL validation. Subprocess calls use user input without quoting/escaping.