MCP (Model Context Protocol) server that accelerates development of a custom PHP framework inspired by CodeIgniter: MVC + optional Services/Repository layer. Scaffolds controllers, services, repositories, entities, migrations and tests; validates routes and lints against framework conventions.
Codeigniter-MCP has well-structured tool definitions with clear naming (verb_noun pattern) and comprehensive parameter schemas using Zod validation. All 8 tools have descriptions and input schemas visible in source. However, descriptions are inconsistent in depth, some are detailed (scaffold_full_resource: 150+ chars), others minimal (scaffold_service: ~60 chars). Output schemas are documented for scaffold_ci4_mcp_server but missing for 6 other tools. Error handling is present but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Parameter descriptions are generally present but some lack format/constraint details. Composition is sound, tools are single-purpose and chainable via resource names.
Validates a PHP file against framework naming conventions and structure rules (read-only). Checks class names, method names, file locations, and code structure compliance.
Executes database migrations (up or down) via the framework's native runner (php bin/migrate or php spark migrate). Requires explicit confirm=true to execute (destructive operation).
Generates a native CodeIgniter 4 Spark command (app/Commands/McpServer.php) that runs an in-app Model Context Protocol (MCP) server over stdio. Enables AI assistants (Claude Code, Cursor, Trae) to inspect live database tables, run read-only queries, check migration status, and list compiled routes. Requires overwrite=true to overwrite existing files.
Scaffolds a single controller class with CRUD action stubs (index, show, create, store, edit, update, delete).
Generates a complete CRUD resource (controller, service, repository, entity, migration, tests) from a resource name and field definitions.
Missing output schemas for 6 of 8 tools. Only scaffold_ci4_mcp_server has documented return types (ScaffoldCi4McpServerOutput). LLMs cannot plan downstream calls without knowing what fields to expect.
No tool annotations despite clear risk classifications. scaffold_full_resource, scaffold_controller, scaffold_service, scaffold_repository, run_migration, and scaffold_ci4_mcp_server are marked WRITE/DESTRUCTIVE but lack readOnlyHint/destructiveHint/idempotentHint annotations required by current MCP spec.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Scaffolds a single repository class for data access abstraction.
Scaffolds a single service class with business logic method stubs.
Verifies (read-only) that a route does not collide with the routes registered in app/Config/Routes.php and follows the framework's kebab-case {param} syntax. Never modifies files.
Inconsistent description depth. scaffold_service and scaffold_repository descriptions are ~60 chars (below 10-char minimum for clarity). scaffold_full_resource is 150+ chars (good). LLMs struggle to disambiguate tools with minimal descriptions.
Error handling lacks recovery guidance. run_migration requires confirm=true but does not document what happens on failure (e.g., 'Migration failed: check database logs' vs actionable 'Migration failed: constraint violation on table X. Verify schema compatibility.').
Parameter constraints not fully documented. 'fields' array in scaffold_full_resource lacks description of field object structure (name, type, required, validation). LLMs must infer schema from context.