matesofmate / composer-extension
MCP extension providing Composer dependency management tools for AI assistants
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-ai-mate
pkg:composer/matesofmate/composer-extension
Requires
- php: >=8.2
- helgesverre/toon: ^1.0
- matesofmate/common: ^0.1@dev
- symfony/ai-mate: ^0.1 || ^0.2@dev
- symfony/finder: ^5.4|^6.4|^7.3|^8.0
- symfony/process: ^5.4|^6.4|^7.3|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpunit/phpunit: ^10.0
- rector/rector: ^2.0
This package is auto-updated.
Last update: 2026-01-16 21:05:26 UTC
README
MCP extension providing Composer dependency management tools for AI assistants, with token-optimized TOON format output.
Features
- 5 MCP Tools for Composer operations (install, require, update, why, why-not)
- 1 MCP Resource for accessing composer.json configuration
- TOON Format output for 40-50% token reduction
- Multiple Output Modes (default, summary, detailed)
- Token-Optimized responses designed for AI assistants
Installation
composer require matesofmate/composer-extension
Requirements
- PHP 8.2 or higher
- Symfony AI Mate ^0.1 or ^0.2
- Composer available in system PATH
Available Tools
composer-install
Install dependencies from composer.json and composer.lock.
Parameters:
preferDist(bool): Download dist packages (default: true)noDev(bool): Skip dev dependencies (default: false)optimizeAutoloader(bool): Optimize autoloader (default: false)mode(string): Output format mode (default: 'default')
Example:
composer-install(noDev: true, mode: 'summary')
composer-require
Add a new package requirement to composer.json.
Parameters:
package(string): Package name (e.g., "symfony/console")version(string|null): Version constraint (e.g., "^6.4")dev(bool): Require as dev dependency (default: false)mode(string): Output format mode (default: 'default')
Example:
composer-require(package: 'symfony/console', version: '^6.4')
composer-require(package: 'phpunit/phpunit', dev: true)
composer-update
Update dependencies to latest versions within constraints.
Parameters:
packages(string|null): Specific packages to update (comma/space-separated, empty = all)preferDist(bool): Download dist packages (default: true)withDependencies(bool): Update dependencies too (default: true)mode(string): Output format mode (default: 'default')
Example:
composer-update()
composer-update(packages: 'symfony/console, symfony/process')
composer-why
Show which packages depend on a specific package.
Parameters:
package(string): Package name to investigatemode(string): Output format mode (default: 'default')
Example:
composer-why(package: 'psr/log')
composer-why-not
Show why a specific package version cannot be installed.
Parameters:
package(string): Package name to investigateversion(string|null): Specific version to checkmode(string): Output format mode (default: 'default')
Example:
composer-why-not(package: 'php', version: '7.4')
Available Resources
composer://config
Provides the content of composer.json file including dependencies, autoloading, and scripts configuration in token-optimized TOON format.
MIME Type: text/plain
Output Modes
All tools support multiple output modes via the mode parameter:
default: Standard output with key information (status, packages/dependencies, errors, warnings)summary: Ultra-compact output (just counts and status)detailed: Full information including metadata without truncation
Response Format
All tools return TOON-formatted strings for maximum token efficiency:
command: install
status: SUCCESS
packages[2]{name,version}:
symfony/console|6.4.0
symfony/process|6.4.0
package_count: 2
Development
# Install dependencies composer install # Run tests composer test # Check code quality composer lint # Auto-fix code style composer fix
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
"Because every Mate needs Mates"