PHPackages                             matesofmate/composer-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. matesofmate/composer-extension

ActiveSymfony-ai-mate

matesofmate/composer-extension
==============================

MCP extension providing Composer dependency management tools for AI assistants

0.1.0(3mo ago)1808↓36.5%1MITPHPPHP &gt;=8.2CI passing

Since Jan 26Pushed 2mo agoCompare

[ Source](https://github.com/MatesOfMate/composer-extension)[ Packagist](https://packagist.org/packages/matesofmate/composer-extension)[ RSS](/packages/matesofmate-composer-extension/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (2)Used By (0)

Composer Extension for Symfony AI Mate
======================================

[](#composer-extension-for-symfony-ai-mate)

[![PHP Version](https://camo.githubusercontent.com/d840cef9807c8f76051ad687841d67f4d830c84e0d83236968e53124ef6742d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d3838393242462e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

MCP extension providing Composer dependency management tools for AI assistants, with token-optimized TOON format output.

Features
--------

[](#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
------------

[](#installation)

```
composer require matesofmate/composer-extension
```

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Symfony AI Mate ^0.1 or ^0.2
- Composer available in system PATH

Available Tools
---------------

[](#available-tools)

### `composer-install`

[](#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`

[](#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`

[](#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`

[](#composer-why)

Show which packages depend on a specific package.

**Parameters:**

- `package` (string): Package name to investigate
- `mode` (string): Output format mode (default: 'default')

**Example:**

```
composer-why(package: 'psr/log')

```

### `composer-why-not`

[](#composer-why-not)

Show why a specific package version cannot be installed.

**Parameters:**

- `package` (string): Package name to investigate
- `version` (string|null): Specific version to check
- `mode` (string): Output format mode (default: 'default')

**Example:**

```
composer-why-not(package: 'php', version: '7.4')

```

Available Resources
-------------------

[](#available-resources)

### `composer://config`

[](#composerconfig)

Provides the content of composer.json file including dependencies, autoloading, and scripts configuration in token-optimized TOON format.

**MIME Type:** `text/plain`

Output Modes
------------

[](#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
---------------

[](#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
-----------

[](#development)

```
# Install dependencies
composer install

# Run tests
composer test

# Check code quality
composer lint

# Auto-fix code style
composer fix
```

License
-------

[](#license)

MIT License - see [LICENSE](LICENSE) for details.

Contributing
------------

[](#contributing)

Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.

---

*"Because every Mate needs Mates"*

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance82

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

112d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e43a10984e8ee1687abaac86c26311c6a607b9560e8a3cc3193f8245751618bc?d=identicon)[wachterjohannes](/maintainers/wachterjohannes)

---

Top Contributors

[![wachterjohannes](https://avatars.githubusercontent.com/u/1464615?v=4)](https://github.com/wachterjohannes "wachterjohannes (7 commits)")

---

Tags

composersymfonymcpaidependency managementtoonai-mate

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/matesofmate-composer-extension/health.svg)

```
[![Health](https://phpackages.com/badges/matesofmate-composer-extension/health.svg)](https://phpackages.com/packages/matesofmate-composer-extension)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[api-platform/symfony

Symfony API Platform integration

323.2M67](/packages/api-platform-symfony)[symfony/ai-mate

AI development assistant MCP server for Symfony projects

1624.9k11](/packages/symfony-ai-mate)[mischasigtermans/laravel-toon

Token-Optimized Object Notation encoder/decoder for Laravel with intelligent nested object handling

13113.1k](/packages/mischasigtermans-laravel-toon)[klapaudius/symfony-mcp-server

Build your own LLM tools inside your symfony project by adding to it a Model Context Protocol Server

2716.5k](/packages/klapaudius-symfony-mcp-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
