Skip to content

[Feature Request] Support PSR HTTP Message 2.0 compatibility #45

@elciospy

Description

@elciospy
## Summary

Request support for PSR HTTP Message 2.0 compatibility in `php-mcp/laravel` to resolve dependency conflicts with modern Laravel applications.

## Problem Description

The current `php-mcp/laravel` package (v3.1.0) has a dependency chain that prevents installation in projects using PSR HTTP Message 2.0:

php-mcp/laravel 3.1.0
├── php-mcp/server ^3.2
└── react/http ^1.11
└── psr/http-message ^1.0 ❌ (incompatible with 2.0)


## Current Situation

- **Project Requirements**: Laravel 11.31 with PSR HTTP Message 2.0
- **Dependencies**: AWS SDK, Guzzle PSR7, League URI Interfaces all support PSR HTTP Message 2.0
- **Conflict**: `react/http ^1.11` only supports `psr/http-message ^1.0`

## Expected Behavior

`php-mcp/laravel` should be installable in projects using PSR HTTP Message 2.0 without dependency conflicts.

## Actual Behavior

```bash
$ composer require php-mcp/laravel:^3.0 -W
# Results in dependency resolution failure

Environment Details

  • PHP Version: 8.2+
  • Laravel Version: 11.31
  • Composer Version: Latest
  • PSR HTTP Message: 2.0 (required by other dependencies)

Dependencies Analysis

Current project dependencies requiring PSR HTTP Message 2.0:

  • aws/aws-sdk-php (^1.0 || ^2.0)
  • guzzlehttp/psr7 (^1.1 || ^2.0)
  • league/uri-interfaces (^1.1 || ^2.0)
  • psr/http-client (^1.0 || ^2.0)

Proposed Solution

  1. Update react/http dependency to support PSR HTTP Message 2.0
  2. Add compatibility layer for both PSR HTTP Message 1.x and 2.x
  3. Consider alternative HTTP implementations that support PSR HTTP Message 2.0

Related Issues

Additional Context

This is blocking adoption of php-mcp/laravel in modern Laravel applications that have migrated to PSR HTTP Message 2.0. The package would be extremely valuable for Laravel developers wanting to integrate MCP capabilities.

Workaround

Currently using alternative MCP solutions, but would prefer native Laravel integration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions