mcp

Validated Laravel plugin data - health scores, compatibility and vendor trust

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
93%
Naming quality
65%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'search-plugin-tool' doesn't follow camelCase/snake_casein search-plugin-tool
  • LOWTool 'search-plugin-semantic-tool' doesn't follow camelCase/snake_casein search-plugin-semantic-tool
  • LOWTool 'get-plugin-details-tool' doesn't follow camelCase/snake_casein get-plugin-details-tool
  • LOWTool 'get-curated-tool-recommendations' doesn't follow camelCase/snake_casein get-curated-tool-recommendations
  • LOWTool 'get-curated-tool-recommendations' name length outside 3-30 rangein get-curated-tool-recommendations

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,220Tokens (tool definitions)
~6.5 KBTypical response size
Moderate attention impact (1.73% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://laraplugins.io/mcp/plugins"
    }
  }
}

Remote endpoints

https://laraplugins.io/mcp/pluginsstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search-plugin-tool(text_search, vendor_filter, health_score, php_version, laravel_compatibility, ...)

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": {
    "text_search": {
      "description": "Search by text in plugin name or description.",
      "type": [
        "string",
        "null"
      ]
    },
    "vendor_filter": {
      "description": "Search by plugin vendor name. (eg: spatie)",
      "type": [
        "string",
        "null"
      ]
    },
    "health_score": {
      "description": "Search by plugin health score.",
      "enum": [
        "healthy",
        "medium",
        "unhealthy",
        "unrated"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "php_version": {
      "description": "Search by plugin php compatibility where there is at least one version supporting that php version (eg 8.5).",
      "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"
      ]
    },
    "laravel_compatibility": {
      "description": "Search by plugin's laravel compatibility where there is at least one version supporting that laravel version (eg 10).",
      "enum": [
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12",
        "13"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "return_archived": {
      "description": "Return archived plugins as well in the results?.",
      "default": false,
      "type": [
        "boolean",
        "null"
      ]
    },
    "is_secure": {
      "description": "Filter by LaraPlugins Secure badge. true to only show secure plugins.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "page": {
      "description": "Page number to return.",
      "type": [
        "integer",
        "null"
      ]
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "items": {
        "properties": {
          "name": {
            "description": "Plugin name.",
            "type": "string"
          },
          "vendor": {
            "description": "Plugin vendor name.",
            "type": "string"
          },
          "health_score": {
            "description": "Health score as a string, e.g. \"A\", \"B\", etc.",
            "type": "string"
          },
          "health_score_reasons": {
            "description": "List of reasons that explain the health score.",
            "items": {
              "description": "Reason contributing to the health score.",
              "type": "string"
            },
            "type": "array"
          },
          "php_compatibility": {
            "description": "PHP compatibility information.",
            "type": "string"
          },
          "laravel_compatibility": {
            "description": "Laravel compatibility information.",
            "type": "string"
          },
          "description": {
            "description": "Short description of the plugin.",
            "type": "string"
          },
          "last_updated": {
            "description": "Last update timestamp, typically ISO 8601.",
            "type": "string"
          },
          "archived": {
            "description": "Whether the plugin is archived.",
            "type": "boolean"
          },
          "is_laraplugins_secure": {
            "description": "Whether the plugin has the LaraPlugins Secure badge.",
            "type": "boolean"
          },
          "laraplugins_url": {
            "description": "URL to the human-readable plugin detail page on laraplugins.io. MUST include this when presenting the result.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    }
  }
}
🟢search-plugin-semantic-tool(query, limit)

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",
  "properties": {
    "query": {
      "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\"",
      "type": "string"
    },
    "limit": {
      "description": "Maximum number of results to return (1-25, default 10)",
      "default": 10,
      "maximum": 25,
      "type": "integer"
    }
  },
  "required": [
    "query"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "items": {
        "properties": {
          "name": {
            "description": "Full package name (vendor/package)",
            "type": "string"
          },
          "vendor": {
            "description": "Vendor name",
            "type": [
              "string",
              "null"
            ]
          },
          "health_score": {
            "description": "Health status label (Healthy, Medium, Unhealthy, Unrated)",
            "type": "string"
          },
          "health_score_reasons": {
            "description": "Reasons contributing to the health score",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "php_compatibility": {
            "description": "Supported PHP versions",
            "type": "string"
          },
          "laravel_compatibility": {
            "description": "Supported Laravel versions",
            "type": "string"
          },
          "description": {
            "description": "Plugin description",
            "type": "string"
          },
          "last_updated": {
            "description": "Last update timestamp",
            "type": "string"
          },
          "archived": {
            "description": "Whether the plugin is archived",
            "type": "boolean"
          },
          "is_laraplugins_secure": {
            "description": "Whether the plugin has the LaraPlugins Secure badge",
            "type": "boolean"
          },
          "is_abandoned": {
            "description": "Whether the plugin is abandoned",
            "type": "boolean"
          },
          "laraplugins_url": {
            "description": "URL to the human-readable plugin detail page on laraplugins.io. MUST include this when presenting the result.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "limit": {
      "description": "Number of results requested",
      "type": "integer"
    },
    "total_candidates": {
      "description": "Total candidates found before reranking",
      "type": "integer"
    },
    "similarity_method": {
      "description": "How results were ranked: \"vector\" (AI embedding cosine similarity), \"rerank\" (AI reranking API), or \"fulltext_fallback\" (downloads sort when no AI available)",
      "enum": [
        "vector",
        "rerank",
        "fulltext_fallback"
      ],
      "type": "string"
    }
  }
}
🟢get-plugin-details-tool(package, include_versions, include_readme, include_security_advisories)

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": {
      "description": "Full Composer package name in the form \"vendor/package\".",
      "type": "string"
    },
    "include_versions": {
      "description": "Whether to include the versions array in the response.",
      "default": false,
      "type": "boolean"
    },
    "include_readme": {
      "description": "Whether to include the full README markdown content in the response.",
      "default": false,
      "type": "boolean"
    },
    "include_security_advisories": {
      "description": "Whether to include security advisory information (CVEs, active advisories) in the response.",
      "default": false,
      "type": "boolean"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "properties": {
        "id": {
          "description": "Plugin ID",
          "type": "integer"
        },
        "name": {
          "description": "Full package name",
          "type": "string"
        },
        "description": {
          "description": "Description",
          "type": "string"
        },
        "type": {
          "description": "Package type",
          "type": "string"
        },
        "packagist_url": {
          "description": "Packagist URL",
          "type": "string"
        },
        "plugin_downloads": {
          "description": "Total downloads",
          "type": "integer"
        },
        "health_score": {
          "description": "Health score in string format",
          "type": "string"
        },
        "vendor": {
          "properties": {
            "id": {
              "type": "integer"
            },
            "name": {
              "type": "string"
            },
            "is_reputable_vendor": {
              "type": "boolean"
            },
            "support_url": {
              "description": "Sponsor/support URL for this vendor",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "owner": {
          "properties": {
            "github_username": {
              "type": "string"
            },
            "is_owner": {
              "type": "boolean"
            },
            "support_url": {
              "description": "Sponsor/support URL for this maintainer",
              "type": [
                "string",
                "null"
              ]
            },
            "profile_human_url": {
              "description": "Human-readable maintainer profile page",
              "type": "string"
            },
            "profile_md_url": {
              "description": "Markdown maintainer profile page",
              "type": "string"
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "contributors_count": {
          "type": [
            "integer",
            "null"
          ]
        },
        "github_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "link": {
          "description": "Canonical detail page link",
          "type": "string"
        },
        "markdown_link": {
          "description": "Markdown version of the detail page",
          "type": "string"
        },
        "laraplugins_url": {
          "description": "Human-readable plugin detail page on laraplugins.io for sharing with users",
          "type": "string"
        },
        "optional_fields": {
          "description": "List of fields available by passing the corresponding include_* parameter",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "readme_markdown": {
          "description": "Full README markdown content",
          "type": [
            "string",
            "null"
          ]
        },
        "versions": {
          "items": {
            "properties": {
              "id": {
                "type": "integer"
              },
              "version": {
                "type": "string"
              },
              "release_date": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "release_date_human": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "download_count": {
                "type": "integer"
              },
              "release_notes_url": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "security_advisories": {
          "properties": {
            "unpatched_count": {
              "description": "Number of unpatched advisories affecting the current version.",
              "type": "integer"
            },
            "resolved_count": {
              "description": "Number of advisories resolved in later or unknown versions.",
              "type": "integer"
            },
            "worst_severity": {
              "description": "Worst severity among unpatched advisories (critical, high, medium, low).",
              "type": [
                "string",
                "null"
              ]
            },
            "is_laraplugins_secure": {
              "description": "Whether the plugin passes the LaraPlugins Secure badge criteria.",
              "type": "boolean"
            },
            "advisories": {
              "items": {
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "severity": {
                    "type": "string"
                  },
                  "cve": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "affected_versions": {
                    "type": "string"
                  },
                  "reported_at": {
                    "type": "string"
                  },
                  "link": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "affects_current_version": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": [
            "object",
            "null"
          ]
        }
      },
      "type": "object"
    }
  }
}
🟢get-curated-tool-recommendations(category)

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": {
      "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.",
      "type": "string"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "items": {
        "properties": {
          "category": {
            "type": "string"
          },
          "tools": {
            "items": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "website_url": {
                  "type": "string"
                },
                "affiliate_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "logo_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "relationship": {
                  "type": "string"
                },
                "is_affiliate": {
                  "type": "boolean"
                },
                "is_own_project": {
                  "type": "boolean"
                },
                "blog_links": {
                  "items": {
                    "properties": {
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    }
  }
}

Recommended Prompts

search_research
Search for information about [topic] using mcp
Expected tools: search-plugin-tool
find_specific
Find [specific item] using mcp
Expected tools: search-plugin-tool
retrieve_data
Get details about [item] from mcp
Expected tools: get-plugin-details-tool
fetch_info
Fetch [information type] using mcp
Expected tools: get-plugin-details-tool
research_workflow
Search for [topic], then get detailed information about the top results using mcp
Expected tools: search-plugin-toolget-plugin-details-tool

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools