|
| 1 | +--- |
| 2 | +name: laravel-plugin-discovery |
| 3 | +description: Discover and evaluate Laravel packages via LaraPlugins.io MCP. Use when the user wants to find plugins, check package health, or assess Laravel/PHP compatibility. |
| 4 | +origin: ECC |
| 5 | +--- |
| 6 | + |
| 7 | +# Laravel Plugin Discovery |
| 8 | + |
| 9 | +Find, evaluate, and choose healthy Laravel packages using the LaraPlugins.io MCP server. |
| 10 | + |
| 11 | +## When to Use |
| 12 | + |
| 13 | +- User wants to find Laravel packages for a specific feature (e.g. "auth", "permissions", "admin panel") |
| 14 | +- User asks "what package should I use for..." or "is there a Laravel package for..." |
| 15 | +- User wants to check if a package is actively maintained |
| 16 | +- User needs to verify Laravel version compatibility |
| 17 | +- User wants to assess package health before adding to a project |
| 18 | + |
| 19 | +## MCP Requirement |
| 20 | + |
| 21 | +LaraPlugins MCP server must be configured. Add to your `~/.claude.json` mcpServers: |
| 22 | + |
| 23 | +```json |
| 24 | +"laraplugins": { |
| 25 | + "type": "http", |
| 26 | + "url": "https://laraplugins.io/mcp/plugins" |
| 27 | +} |
| 28 | +``` |
| 29 | + |
| 30 | +No API key required — the server is free for the Laravel community. |
| 31 | + |
| 32 | +## MCP Tools |
| 33 | + |
| 34 | +The LaraPlugins MCP provides two primary tools: |
| 35 | + |
| 36 | +### SearchPluginTool |
| 37 | + |
| 38 | +Search packages by keyword, health score, vendor, and version compatibility. |
| 39 | + |
| 40 | +**Parameters:** |
| 41 | +- `text_search` (string, optional): Keyword to search (e.g. "permission", "admin", "api") |
| 42 | +- `health_score` (string, optional): Filter by health band — `Healthy`, `Medium`, `Unhealthy`, or `Unrated` |
| 43 | +- `laravel_compatibility` (string, optional): Filter by Laravel version — `"5"`, `"6"`, `"7"`, `"8"`, `"9"`, `"10"`, `"11"`, `"12"`, `"13"` |
| 44 | +- `php_compatibility` (string, optional): Filter by PHP version — `"7.4"`, `"8.0"`, `"8.1"`, `"8.2"`, `"8.3"`, `"8.4"`, `"8.5"` |
| 45 | +- `vendor_filter` (string, optional): Filter by vendor name (e.g. "spatie", "laravel") |
| 46 | +- `page` (number, optional): Page number for pagination |
| 47 | + |
| 48 | +### GetPluginDetailsTool |
| 49 | + |
| 50 | +Fetch detailed metrics, readme content, and version history for a specific package. |
| 51 | + |
| 52 | +**Parameters:** |
| 53 | +- `package` (string, required): Full Composer package name (e.g. "spatie/laravel-permission") |
| 54 | +- `include_versions` (boolean, optional): Include version history in response |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## How It Works |
| 59 | + |
| 60 | +### Finding Packages |
| 61 | + |
| 62 | +When the user wants to discover packages for a feature: |
| 63 | + |
| 64 | +1. Use `SearchPluginTool` with relevant keywords |
| 65 | +2. Apply filters for health score, Laravel version, or PHP version |
| 66 | +3. Review the results with package names, descriptions, and health indicators |
| 67 | + |
| 68 | +### Evaluating Packages |
| 69 | + |
| 70 | +When the user wants to assess a specific package: |
| 71 | + |
| 72 | +1. Use `GetPluginDetailsTool` with the package name |
| 73 | +2. Review health score, last updated date, Laravel version support |
| 74 | +3. Check vendor reputation and risk indicators |
| 75 | + |
| 76 | +### Checking Compatibility |
| 77 | + |
| 78 | +When the user needs Laravel or PHP version compatibility: |
| 79 | + |
| 80 | +1. Search with `laravel_compatibility` filter set to their version |
| 81 | +2. Or get details on a specific package to see its supported versions |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Examples |
| 86 | + |
| 87 | +### Example: Find Authentication Packages |
| 88 | + |
| 89 | +``` |
| 90 | +SearchPluginTool({ |
| 91 | + text_search: "authentication", |
| 92 | + health_score: "Healthy" |
| 93 | +}) |
| 94 | +``` |
| 95 | + |
| 96 | +Returns packages matching "authentication" with healthy status: |
| 97 | +- spatie/laravel-permission |
| 98 | +- laravel/breeze |
| 99 | +- laravel/passport |
| 100 | +- etc. |
| 101 | + |
| 102 | +### Example: Find Laravel 12 Compatible Packages |
| 103 | + |
| 104 | +``` |
| 105 | +SearchPluginTool({ |
| 106 | + text_search: "admin panel", |
| 107 | + laravel_compatibility: "12" |
| 108 | +}) |
| 109 | +``` |
| 110 | + |
| 111 | +Returns packages compatible with Laravel 12. |
| 112 | + |
| 113 | +### Example: Get Package Details |
| 114 | + |
| 115 | +``` |
| 116 | +GetPluginDetailsTool({ |
| 117 | + package: "spatie/laravel-permission", |
| 118 | + include_versions: true |
| 119 | +}) |
| 120 | +``` |
| 121 | + |
| 122 | +Returns: |
| 123 | +- Health score and last activity |
| 124 | +- Laravel/PHP version support |
| 125 | +- Vendor reputation (risk score) |
| 126 | +- Version history |
| 127 | +- Brief description |
| 128 | + |
| 129 | +### Example: Find Packages by Vendor |
| 130 | + |
| 131 | +``` |
| 132 | +SearchPluginTool({ |
| 133 | + vendor_filter: "spatie", |
| 134 | + health_score: "Healthy" |
| 135 | +}) |
| 136 | +``` |
| 137 | + |
| 138 | +Returns all healthy packages from vendor "spatie". |
| 139 | + |
| 140 | +--- |
| 141 | + |
| 142 | +## Filtering Best Practices |
| 143 | + |
| 144 | +### By Health Score |
| 145 | + |
| 146 | +| Health Band | Meaning | |
| 147 | +|-------------|---------| |
| 148 | +| `Healthy` | Active maintenance, recent updates | |
| 149 | +| `Medium` | Occasional updates, may need attention | |
| 150 | +| `Unhealthy` | Abandoned or infrequently maintained | |
| 151 | +| `Unrated` | Not yet assessed | |
| 152 | + |
| 153 | +**Recommendation**: Prefer `Healthy` packages for production applications. |
| 154 | + |
| 155 | +### By Laravel Version |
| 156 | + |
| 157 | +| Version | Notes | |
| 158 | +|---------|-------| |
| 159 | +| `13` | Latest Laravel | |
| 160 | +| `12` | Current stable | |
| 161 | +| `11` | Still widely used | |
| 162 | +| `10` | Legacy but common | |
| 163 | +| `5`-`9` | Deprecated | |
| 164 | + |
| 165 | +**Recommendation**: Match the target project's Laravel version. |
| 166 | + |
| 167 | +### Combining Filters |
| 168 | + |
| 169 | +```typescript |
| 170 | +// Find healthy, Laravel 12 compatible packages for permissions |
| 171 | +SearchPluginTool({ |
| 172 | + text_search: "permission", |
| 173 | + health_score: "Healthy", |
| 174 | + laravel_compatibility: "12" |
| 175 | +}) |
| 176 | +``` |
| 177 | + |
| 178 | +--- |
| 179 | + |
| 180 | +## Response Interpretation |
| 181 | + |
| 182 | +### Search Results |
| 183 | + |
| 184 | +Each result includes: |
| 185 | +- Package name (e.g. `spatie/laravel-permission`) |
| 186 | +- Brief description |
| 187 | +- Health status indicator |
| 188 | +- Laravel version support badges |
| 189 | + |
| 190 | +### Package Details |
| 191 | + |
| 192 | +The detailed response includes: |
| 193 | +- **Health Score**: Numeric or band indicator |
| 194 | +- **Last Activity**: When the package was last updated |
| 195 | +- **Laravel Support**: Version compatibility matrix |
| 196 | +- **PHP Support**: PHP version compatibility |
| 197 | +- **Risk Score**: Vendor trust indicators |
| 198 | +- **Version History**: Recent release timeline |
| 199 | + |
| 200 | +--- |
| 201 | + |
| 202 | +## Common Use Cases |
| 203 | + |
| 204 | +| Scenario | Recommended Approach | |
| 205 | +|----------|---------------------| |
| 206 | +| "What package for auth?" | Search "auth" with healthy filter | |
| 207 | +| "Is spatie/package still maintained?" | Get details, check health score | |
| 208 | +| "Need Laravel 12 packages" | Search with laravel_compatibility: "12" | |
| 209 | +| "Find admin panel packages" | Search "admin panel", review results | |
| 210 | +| "Check vendor reputation" | Search by vendor, check details | |
| 211 | + |
| 212 | +--- |
| 213 | + |
| 214 | +## Best Practices |
| 215 | + |
| 216 | +1. **Always filter by health** — Use `health_score: "Healthy"` for production projects |
| 217 | +2. **Match Laravel version** — Always check `laravel_compatibility` matches the target project |
| 218 | +3. **Check vendor reputation** — Prefer packages from known vendors (spatie, laravel, etc.) |
| 219 | +4. **Review before recommending** — Use GetPluginDetailsTool for a comprehensive assessment |
| 220 | +5. **No API key needed** — The MCP is free, no authentication required |
| 221 | + |
| 222 | +--- |
| 223 | + |
| 224 | +## Related Skills |
| 225 | + |
| 226 | +- `laravel-patterns` — Laravel architecture and patterns |
| 227 | +- `laravel-tdd` — Test-driven development for Laravel |
| 228 | +- `laravel-security` — Laravel security best practices |
| 229 | +- `documentation-lookup` — General library documentation lookup (Context7) |
0 commit comments