The MCP server exposes four tools. Each one works with both Composer and npm packages, selected by the optional package_manager parameter, which defaults to composer.
For the questions you would actually type to trigger these, see usage.
find_compatible_versions
Finds which major versions of a package are compatible with a given dependency constraint. Use it when planning an upgrade or working out why two packages will not install together.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
package |
string | Yes | Package to check, e.g. livewire/livewire |
dependency_package |
string | Yes | Dependency to check against, e.g. illuminate/support |
dependency_constraint |
string | Yes | Version constraint to match, e.g. ^11.0 |
package_manager |
string | No | composer or npm (default: composer) |
Returns
{
"package": "livewire/livewire",
"dependency_package": "illuminate/support",
"dependency_constraint": "^11.0",
"package_manager": "composer",
"compatible_versions": [
{
"major_version": 3,
"example_version": "3.0.0",
"requires": "^11.0"
}
],
"count": 1
}
Example queries
What versions of Livewire are compatible with Laravel 11?
Which major versions of react-router work with React 18?
get_release_notes
Fetches GitHub release notes for a package between two versions, so an assistant can summarise an upgrade or point at the breaking changes in it.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
package |
string | Yes | Package name, e.g. laravel/framework |
from_version |
string | Yes | Starting version, e.g. 11.0.0 |
to_version |
string | Yes | Ending version, e.g. 11.1.0 |
package_manager |
string | No | composer or npm (default: composer) |
Returns
{
"package": "laravel/framework",
"repository": "https://github.com/laravel/framework",
"from_version": "11.0.0",
"to_version": "11.1.0",
"releases": [
{
"version": "v11.1.0",
"title": "Laravel 11.1.0",
"body": "## Added\n- New features...\n\n## Fixed\n- Bug fixes...",
"date": "2024-10-28 12:34:56",
"url": "https://github.com/laravel/framework/releases/tag/v11.1.0"
}
],
"count": 1
}
Example queries
What changed in Laravel from 11.0 to 11.1?
What are the breaking changes in React from 17 to 18?
Notes
- Reads GitHub releases and changelog files, so the package needs a GitHub repository
- Handles the
vprefix in version tags automatically - Returns an empty
releasesarray when no notes are found
get_available_upgrades
Returns the latest patch, minor, and major release available from a current version, which tells you whether an update is something you can take today or something to schedule.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
package |
string | Yes | Package name, e.g. symfony/console |
current_version |
string | Yes | Version to upgrade from, e.g. 6.3.0 |
package_manager |
string | No | composer or npm (default: composer) |
include_prerelease |
boolean | No | Include pre-release versions (default: false) |
Returns
{
"package": "symfony/console",
"package_manager": "composer",
"current_version": "6.3.0",
"available_upgrades": {
"patch": "6.3.5",
"minor": "6.4.1",
"major": "7.0.0"
}
}
Example queries
What's the latest version of symfony/console I can upgrade to?
What are the available upgrades for lodash from 4.17.0?
Notes
patchis the latest bug fix release in the same minor versionminoris the latest feature release in the same major versionmajoris the latest release regardless of breaking changes- Any of the three is
nullwhen nothing is available - Dev, alpha, and beta releases are filtered out unless
include_prereleaseis set
get_dependency_constraints
Lists everything a specific version of a package requires. This is where dependency conflicts usually reveal themselves.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
package |
string | Yes | Package name, e.g. laravel/framework |
version |
string | Yes | Version to inspect, e.g. 12.0.0 |
package_manager |
string | No | composer or npm (default: composer) |
Returns
Composer packages return require and require-dev:
{
"package": "laravel/framework",
"version": "12.0.0",
"package_manager": "composer",
"dependencies": {
"require": {
"php": "^8.2",
"illuminate/support": "^12.0",
"symfony/console": "^7.0"
},
"require-dev": {
"phpunit/phpunit": "^11.0"
}
}
}
npm packages return dependencies, devDependencies, and peerDependencies:
{
"package": "react",
"version": "18.2.0",
"package_manager": "npm",
"dependencies": {
"dependencies": {
"loose-envify": "^1.1.0"
},
"devDependencies": {},
"peerDependencies": {
"react-dom": "^18.2.0"
}
}
}
Example queries
What does Laravel 12 require as dependencies?
Does Livewire 3 require Alpine.js?
Notes
- The version must exist in the registry
- Versions are accepted with or without a
vprefix