FogBugz MCP has 7 tools with explicit schemas and descriptions. Naming follows verb_noun convention (create_, update_, assign_, list_, search_, get_). Descriptions are present but generic (avg 80 chars, below 194-char baseline). Schemas are properly typed with required/optional fields. Critical gaps: no output schemas documented, no error handling guidance, no enum constraints for priority/status fields, no pagination support for list/search tools, and parameter descriptions lack format/range constraints. Security: credentials injected via env vars (good). Composition: tools are single-responsibility but lack chaining metadata (e.g., search_cases doesn't return project_id needed by create_case).
Assigns a FogBugz case to a specific user.
Creates a new FogBugz case with optional screenshot attachments.
Creates a new project in FogBugz.
Gets a direct URL link to a FogBugz case.
Lists FogBugz cases assigned to a specific user.
Searches for FogBugz cases based on a query string. Supports FogBugz search syntax.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., case_id from create_case response). Breaks tool chaining.
Priority parameter accepts type ['number','string'] but no enum constraint or format description. LLMs will hallucinate invalid values like 'urgent' or '8'. Should define: priority must be 1-7 (numeric) or one of: lowest, low, medium, high, highest, urgent.
List and search tools lack pagination. No limit default, no offset/cursor, no total_count in response. Large result sets will blow context window. Should add: limit (default 20, max 100), offset, and document result cap.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Updates an existing FogBugz case with new field values.
No error handling guidance. Tool descriptions do not explain what to do if case not found, API fails, or user lacks permissions. LLMs cannot self-correct or retry intelligently.
Parameter descriptions lack format/range constraints. E.g., 'caseId' has no min/max; 'assignee' accepts 'name or email' but no validation hint; 'attachmentPath' has no file type or size limit. Descriptions should state: 'caseId: positive integer', 'assignee: email or FogBugz username', 'attachmentPath: local file path, max 10MB, .png/.jpg/.pdf only'.