MCP Server

mcp

io.laraplugins/mcp
Developer Tools Public & reachable MCP 2025-11-25

What this MCP does

Searches and evaluates Laravel plugins, returning package details, version history, security advisories, and curated recommendations.

get-curated-tool-recommendations
Get Curated Tool Recommendations
Returns curated tool recommendations for Laravel development, organized by category (Hosting / Deployment, Monitoring / Error Tracking, Email / Notifications, Authentication / Authorization, Payments / Billing, IDE / Development Tools, Testing, Security, SEO / Auditing, Analytics, Other). NOTE: Some of these are affiliate/partner recommendations — each result includes its relationship type and whether it is an affiliate.
Input schema
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Optional category filter. Available categories: Hosting / Deployment, Monitoring / Error Tracking, Email / Notifications, Authentication / Authorization, Payments / Billing, IDE / Development Tools, Testing, Security, SEO / Auditing, Analytics, Other.'}}}
Output schema
{'type': 'object', 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'tools': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'logo_url': {'type': ['string', 'null']}, 'blog_links': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}}}}, 'description': {'type': 'string'}, 'website_url': {'type': 'string'}, 'is_affiliate': {'type': 'boolean'}, 'relationship': {'type': 'string'}, 'affiliate_url': {'type': ['string', 'null']}, 'is_own_project': {'type': 'boolean'}}}}, 'category': {'type': 'string'}}}}}}
get-plugin-details-tool
Get Plugin Details Tool
Fetch detailed information for a specific plugin given its vendor/package name, including security advisories, readme, and version history.
Input schema
{'type': 'object', 'properties': {'package': {'type': 'string', 'description': 'Full Composer package name in the form "vendor/package".'}, 'include_readme': {'type': 'boolean', 'default': False, 'description': 'Whether to include the full README markdown content in the response.'}, 'include_versions': {'type': 'boolean', 'default': False, 'description': 'Whether to include the versions array in the response.'}, 'include_security_advisories': {'type': 'boolean', 'default': False, 'description': 'Whether to include security advisory information (CVEs, active advisories) in the response.'}}}
Output schema
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer', 'description': 'Plugin ID'}, 'link': {'type': 'string', 'description': 'Canonical detail page link'}, 'name': {'type': 'string', 'description': 'Full package name'}, 'type': {'type': 'string', 'description': 'Package type'}, 'owner': {'type': ['object', 'null'], 'properties': {'is_owner': {'type': 'boolean'}, 'support_url': {'type': ['string', 'null'], 'description': 'Sponsor/support URL for this maintainer'}, 'profile_md_url': {'type': 'string', 'description': 'Markdown maintainer profile page'}, 'github_username': {'type': 'string'}, 'profile_human_url': {'type': 'string', 'description': 'Human-readable maintainer profile page'}}}, 'vendor': {'type': ['object', 'null'], 'properties': {'id': {'type': 'integer'}, 'name': {'type': 'string'}, 'support_url': {'type': ['string', 'null'], 'description': 'Sponsor/support URL for this vendor'}, 'is_reputable_vendor': {'type': 'boolean'}}}, 'versions': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'version': {'type': 'string'}, 'release_date': {'type': ['string', 'null']}, 'download_count': {'type': 'integer'}, 'release_notes_url': {'type': ['string', 'null']}, 'release_date_human': {'type': ['string', 'null']}}}}, 'github_url': {'type': ['string', 'null']}, 'description': {'type': 'string', 'description': 'Description'}, 'health_score': {'type': 'string', 'description': 'Health score in string format'}, 'markdown_link': {'type': 'string', 'description': 'Markdown version of the detail page'}, 'packagist_url': {'type': 'string', 'description': 'Packagist URL'}, 'laraplugins_url': {'type': 'string', 'description': 'Human-readable plugin detail page on laraplugins.io for sharing with users'}, 'optional_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of fields available by passing the corresponding include_* parameter'}, 'readme_markdown': {'type': ['string', 'null'], 'description': 'Full README markdown content'}, 'plugin_downloads': {'type': 'integer', 'description': 'Total downloads'}, 'contributors_count': {'type': ['integer', 'null']}, 'security_advisories': {'type': ['object', 'null'], 'properties': {'advisories': {'type': 'array', 'items': {'type': 'object', 'properties': {'cve': {'type': ['string', 'null']}, 'link': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'severity': {'type': 'string'}, 'reported_at': {'type': 'string'}, 'affected_versions': {'type': 'string'}, 'affects_current_version': {'type': 'boolean'}}}}, 'resolved_count': {'type': 'integer', 'description': 'Number of advisories resolved in later or unknown versions.'}, 'worst_severity': {'type': ['string', 'null'], 'description': 'Worst severity among unpatched advisories (critical, high, medium, low).'}, 'unpatched_count': {'type': 'integer', 'description': 'Number of unpatched advisories affecting the current version.'}, 'is_laraplugins_secure': {'type': 'boolean', 'description': 'Whether the plugin passes the LaraPlugins Secure badge criteria.'}}}}}}}
search-plugin-semantic-tool
Search Plugin Semantic Tool
Search Laravel plugins by describing what you need in natural language. RECOMMENDED for use-case-driven queries. Example: "a package for PDF invoices with custom templates". When presenting results, ALWAYS include the laraplugins_url so the user can consult the full health report.
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'description': 'Maximum number of results to return (1-25, default 10)'}, 'query': {'type': 'string', 'description': 'Natural language description of the plugin you need, e.g. "a package for PDF invoices with custom templates" or "something like spatie/laravel-permission but for media"'}}}
Output schema
{'type': 'object', 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Full package name (vendor/package)'}, 'vendor': {'type': ['string', 'null'], 'description': 'Vendor name'}, 'archived': {'type': 'boolean', 'description': 'Whether the plugin is archived'}, 'description': {'type': 'string', 'description': 'Plugin description'}, 'health_score': {'type': 'string', 'description': 'Health status label (Healthy, Medium, Unhealthy, Unrated)'}, 'is_abandoned': {'type': 'boolean', 'description': 'Whether the plugin is abandoned'}, 'last_updated': {'type': 'string', 'description': 'Last update timestamp'}, 'laraplugins_url': {'type': 'string', 'description': 'URL to the human-readable plugin detail page on laraplugins.io. MUST include this when presenting the result.'}, 'php_compatibility': {'type': 'string', 'description': 'Supported PHP versions'}, 'health_score_reasons': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Reasons contributing to the health score'}, 'is_laraplugins_secure': {'type': 'boolean', 'description': 'Whether the plugin has the LaraPlugins Secure badge'}, 'laravel_compatibility': {'type': 'string', 'description': 'Supported Laravel versions'}}}}, 'limit': {'type': 'integer', 'description': 'Number of results requested'}, 'total_candidates': {'type': 'integer', 'description': 'Total candidates found before reranking'}, 'similarity_method': {'enum': ['vector', 'rerank', 'fulltext_fallback'], 'type': 'string', 'description': 'How results were ranked: "vector" (AI embedding cosine similarity), "rerank" (AI reranking API), or "fulltext_fallback" (downloads sort when no AI available)'}}}
search-plugin-tool
Search Plugin Tool
This tool enables the search of packagist packages that support laravel with advanced filters. When presenting results, ALWAYS include the laraplugins_url alongside the plugin name so the user can consult the full health report.
Input schema
{'type': 'object', 'properties': {'page': {'type': ['integer', 'null'], 'description': 'Page number to return.'}, 'is_secure': {'type': ['boolean', 'null'], 'description': 'Filter by LaraPlugins Secure badge. true to only show secure plugins.'}, 'php_version': {'enum': ['5.0', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5'], 'type': ['string', 'null'], 'description': 'Search by plugin php compatibility where there is at least one version supporting that php version (eg 8.5).'}, 'text_search': {'type': ['string', 'null'], 'description': 'Search by text in plugin name or description.'}, 'health_score': {'enum': ['healthy', 'medium', 'unhealthy', 'unrated'], 'type': ['string', 'null'], 'description': 'Search by plugin health score.'}, 'vendor_filter': {'type': ['string', 'null'], 'description': 'Search by plugin vendor name. (eg: spatie)'}, 'return_archived': {'type': ['boolean', 'null'], 'default': False, 'description': 'Return archived plugins as well in the results?.'}, 'laravel_compatibility': {'enum': ['5', '6', '7', '8', '9', '10', '11', '12', '13'], 'type': ['string', 'null'], 'description': "Search by plugin's laravel compatibility where there is at least one version supporting that laravel version (eg 10)."}}}
Output schema
{'type': 'object', 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Plugin name.'}, 'vendor': {'type': 'string', 'description': 'Plugin vendor name.'}, 'archived': {'type': 'boolean', 'description': 'Whether the plugin is archived.'}, 'description': {'type': 'string', 'description': 'Short description of the plugin.'}, 'health_score': {'type': 'string', 'description': 'Health score as a string, e.g. "A", "B", etc.'}, 'last_updated': {'type': 'string', 'description': 'Last update timestamp, typically ISO 8601.'}, 'laraplugins_url': {'type': 'string', 'description': 'URL to the human-readable plugin detail page on laraplugins.io. MUST include this when presenting the result.'}, 'php_compatibility': {'type': 'string', 'description': 'PHP compatibility information.'}, 'health_score_reasons': {'type': 'array', 'items': {'type': 'string', 'description': 'Reason contributing to the health score.'}, 'description': 'List of reasons that explain the health score.'}, 'is_laraplugins_secure': {'type': 'boolean', 'description': 'Whether the plugin has the LaraPlugins Secure badge.'}, 'laravel_compatibility': {'type': 'string', 'description': 'Laravel compatibility information.'}}}}}}
Added
get-curated-tool-recommendations
Sept. 17, 2026, 12:53 p.m.
Added
get-plugin-details-tool
Sept. 17, 2026, 12:53 p.m.
Added
search-plugin-semantic-tool
Sept. 17, 2026, 12:53 p.m.
Added
search-plugin-tool
Sept. 17, 2026, 12:53 p.m.