mcp-artisan
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_ARTISAN_PROJECT | No | Path to the Laravel project root. Defaults to the current working directory if unset. | |
| MCP_ARTISAN_STATIC_ONLY | No | Set to '1' to force the static backend even if PHP is available. Defaults to unset/0. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| project_summaryC | Counts and versions for cheap orientation, in one call. |
| list_routesA | All HTTP routes: methods, uri, name, middleware, controller@action. |
| describe_routeC | One route by name or URI. |
| list_migrationsA | Migration files on disk, plus applied/pending state when a database is reachable. |
| list_modelsA | Eloquent models: table, fillable, casts, relations (static parse of app/Models). |
| list_jobs_and_queuesB | Queued job classes with their queue, tries and timeout. |
| config_getA | Dotted config lookup (e.g. app.name). Secret-keyed values return . Never reads .env. |
| composer_depsA | Direct composer requires with versions, plus Laravel and PHP versions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| routes | The full route table as JSON. |
| schema | Tables and columns inferred from database/migrations. |
| composer | composer.json dependency metadata. |
TDQS
Scored across 8 tools
Each tool targets a distinct aspect of a Laravel application: routes, migrations, models, jobs, config, dependencies, and a summary. describe_route is the only detailed view of list_routes, which is a common and clear pattern. No two tools overlap in purpose.
Most tools follow a verb_noun snake_case pattern (list_routes, list_migrations, config_get). However, composer_deps and project_summary are noun-first, deviating from the otherwise consistent verb-first style. The naming is still predictable and readable.
With 8 tools, the set is well-scoped for a Laravel artisan inspection server. Each tool covers a meaningful portion of the domain without redundancy or bloat. The count feels appropriate for orientation and common development tasks.
The surface covers core Laravel inspection needs: routes, migrations, models, jobs, config, and dependencies. Minor gaps exist, such as lack of direct controller listing or cache/event inspection, but these are workarounds and not critical for the stated purpose of cheap orientation.