PHPackages                             goldenpathdigital/laravel-ascend - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. goldenpathdigital/laravel-ascend

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

goldenpathdigital/laravel-ascend
================================

Ascend is an MCP-compatible server and toolkit that upgrades Laravel apps with structured docs and analyzers.

v0.1.7(6mo ago)5762MITPHPPHP ^7.4 || ^8.0CI passing

Since Oct 24Pushed 6mo agoCompare

[ Source](https://github.com/goldenpathdigital/laravel-ascend)[ Packagist](https://packagist.org/packages/goldenpathdigital/laravel-ascend)[ RSS](/packages/goldenpathdigital-laravel-ascend/feed)WikiDiscussions main Synced 1mo ago

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

Laravel Ascend
==============

[](#laravel-ascend)

Ascend is an MCP-compatible server and toolkit that upgrades Laravel applications with structured upgrade documentation, analyzers, and automation. It ships with a curated Laravel knowledge base, a rich MCP tool suite, and first-class Artisan commands that make it easy to surface the guidance directly in modern IDEs like VS Code.

Features
--------

[](#features)

- **MCP-ready server** – launch over stdio via `php artisan ascend:mcp`, exposing tools, resources, and prompts that follow the Model Context Protocol.
- **Curated knowledge base** – search upgrade guides, breaking changes, migration patterns, and upgrade paths sourced from `resources/knowledge-base`.
- **Extensive tool catalog** – documentation queries, dependency scanners, code migration advisors, and package compatibility checks implemented under `src/Tools`.
- **One-command IDE registration** – `ascend:register` writes entries to `.vscode/mcp.json`, `.cursor/mcp.json`, and `.junie/mcp/mcp.json`.
- **Composer-friendly package** – auto-discovered Laravel service provider registers the Artisan commands needed for MCP integration.

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

[](#requirements)

- PHP 7.4+ or 8.x (supports PHP 7.4, 8.0, 8.1, 8.2, 8.3)
- Laravel 6.x - 11.x
- Composer 2.x
- Node.js is **not** required (server runs via PHP/Artisan)

Installation
------------

[](#installation)

### Laravel application

[](#laravel-application)

1. Require the package (typically as a dev dependency): ```
    composer require --dev goldenpathdigital/laravel-ascend
    ```
2. Laravel's package auto-discovery registers the `AscendServiceProvider`, exposing:
    - `php artisan ascend:mcp` – start the MCP server over stdio (add `--kb-path` or `--heartbeat` if needed)
    - `php artisan ascend:register` – register the server with supported MCP clients

Quick Start
-----------

[](#quick-start)

1. **Start the MCP server**

    ```
    php artisan ascend:mcp
    ```

    - Runs over stdio (compatible with Claude Desktop, VSCode MCP).
    - Provide `--kb-path=/path/to/knowledge-base` to point at a custom data directory.
    - Provide `--heartbeat=30` to configure heartbeat interval (default: 30 seconds, min: 10).

    **Connection Keep-Alive:** The server automatically sends heartbeat notifications every 30 seconds (configurable) to prevent idle connection timeouts in MCP clients like VSCode.
2. **Register the server with IDE clients**

    ```
    # Laravel Artisan
    php artisan ascend:register
    ```

    Registration automatically updates the following if present:

    **Project-level configurations:**

    - `.vscode/mcp.json` (VSCode)
    - `.cursor/mcp.json` (Cursor)
    - `.junie/mcp/mcp.json` (Junie)

    **User-level configurations:**

    - `~/.config/Code/User/mcp.json` (VSCode Global)
    - `~/.claude/mcp/mcp.json` (Claude Desktop Legacy)
    - `~/.config/Claude/mcp.json` (Claude Desktop)
    - `~/.config/Codex/mcp.json` (Codex JSON)
    - `~/.codex/config.toml` (Codex TOML)
3. **Connect from your IDE**

    - In VS Code, open the MCP Servers panel and confirm `laravel-ascend` is enabled.
    - For other MCP-aware clients, import the generated config or point them at the running stdio endpoint.

Artisan Commands
----------------

[](#artisan-commands)

CommandDescription`php artisan ascend:mcp [options]`Start the Ascend MCP server over stdio.`php artisan ascend:register [--global]`Add Ascend to detected MCP configuration targets (project + global).### MCP Server Options

[](#mcp-server-options)

OptionDescriptionDefault`--kb-path=/path`Path to a custom knowledge base directoryAuto-detected`--heartbeat=30`Heartbeat interval in seconds (prevents timeout)30 seconds`--timeout=900`Server process timeout in seconds (0 = unlimited)900 seconds`--websocket`Use WebSocket instead of stdiostdio`--host=127.0.0.1`Host for WebSocket mode127.0.0.1`--port=8765`Port for WebSocket mode8765Examples
--------

[](#examples)

### Starting the MCP server (stdio mode)

[](#starting-the-mcp-server-stdio-mode)

```
# Basic usage
php artisan ascend:mcp

# With custom heartbeat interval (recommended for VSCode)
php artisan ascend:mcp --heartbeat=20
```

### Generated configuration entry (excerpt)

[](#generated-configuration-entry-excerpt)

```
{
  "mcpServers": {
    "laravel-ascend": {
      "command": "php",
      "args": [
        "/path/to/your/project/artisan",
        "ascend:mcp"
      ],
      "timeout": 60
    }
  }
}
```

MCP Tooling Overview
--------------------

[](#mcp-tooling-overview)

- **Documentation tools** (`src/Tools/Documentation/*`) – search upgrade docs, fetch breaking change details, list deprecated features, and retrieve guided upgrade summaries.
- **Analysis tools** (`src/Tools/Analysis/*`) – inspect current Laravel versions, dependency manifests, PHP compatibility, and breaking changes specific to your code base.
- **Code migration tools** (`src/Tools/Code/*` &amp; `src/Tools/Migration/*`) – analyze configs, facades, Blade templates, generate upgrade checklists, and validate migration steps.
- **Package insights** (`src/Tools/Package/*`) – verify package compatibility and suggest updates that align with target Laravel versions.
- **Tool registry** (`src/Tools/ToolRegistry.php`) – auto-discovers classes implementing `ToolInterface`, so new tools are picked up without manual wiring.

Knowledge Base Content
----------------------

[](#knowledge-base-content)

The bundled knowledge base lives under `resources/knowledge-base`:

- `index.json` – metadata for the entire data set.
- `breaking-changes/*.json` – per-version breaking change summaries.
- `patterns/*.json` – migration patterns with remediation guidance.
- `upgrade-paths/upgrade-paths.json` – curated upgrade roadmaps (e.g. `8-to-9`).
- `mcp_knowledge_base_guide.md` – authoring guidelines for extending the KB.

To point Ascend at a modified data set, start the Artisan MCP command with `--kb-path=/absolute/path`.

Development
-----------

[](#development)

Clone the repository and install dependencies with Composer, then use the provided scripts:

```
composer test           # Pest test suite
composer typecheck      # PHPStan level 8 static analysis
composer format         # php-cs-fixer (PSR-12)
composer coverage       # Pest with coverage (requires Xdebug)
composer mutate         # Infection mutation testing
composer security:audit # Composer advisories
```

The test suite covers knowledge base parsing, MCP registration, and tool behaviors. Please ensure all checks pass before opening a pull request.

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

[](#contributing)

See `CODE_OF_CONDUCT.md` for community standards. Security disclosures should follow the instructions in `SECURITY.md`.

License
-------

[](#license)

Laravel Ascend is open-source software licensed under the [MIT license](LICENSE).

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance66

Regular maintenance activity

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity30

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

206d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0db315144227366ae7acd8456a92e195e198e7c465efb2f047478767e17e6e62?d=identicon)[goldenpathdigital](/maintainers/goldenpathdigital)

---

Top Contributors

[![aarongrtech](https://avatars.githubusercontent.com/u/123791395?v=4)](https://github.com/aarongrtech "aarongrtech (34 commits)")

---

Tags

laravelautomationmcpupgradeascend

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/goldenpathdigital-laravel-ascend/health.svg)

```
[![Health](https://phpackages.com/badges/goldenpathdigital-laravel-ascend/health.svg)](https://phpackages.com/packages/goldenpathdigital-laravel-ascend)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.7k509.9M17.0k](/packages/laravel-framework)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

310107.9k1](/packages/cognesy-instructor-php)

PHPackages © 2026

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