Skip to main content
Glama
brianirish

Laravel 12 Docs MCP Server

by brianirish

Laravel Docs MCP Server

GitHub-Version (aktuellste nach Datum) PyPI Python-Version GitHub-Workflow-Status Lizenz Docker-Image Schmiedeabzeichen GitHub Stars GitHub-Forks

⚠️ Alpha-Software – Dieses Projekt befindet sich in der frühen Entwicklungsphase. Funktionen funktionieren möglicherweise nicht wie erwartet und es können ohne vorherige Ankündigung schwerwiegende Änderungen auftreten.

Ein KI-Assistent für Laravel-Entwickler, der über das Model Context Protocol (MCP) Zugriff auf die neueste Laravel-Dokumentation und intelligente Paketempfehlungen bietet. Dadurch unterstützen KI-Tools Sie beim Erstellen von Laravel-Anwendungen mit aktuellen Informationen und Best Practices.

Überblick

Dieser Server ermöglicht KI-Assistenten den Zugriff auf Laravel-Dokumentation und Paketempfehlungen über das Model Context Protocol (MCP). KI-Tools können damit:

  • Zugriff auf und Suche in der Laravel-Dokumentation

  • Erhalten Sie Paketempfehlungen basierend auf bestimmten Anwendungsfällen

  • Erhalten Sie Implementierungsanleitungen für beliebte Laravel-Pakete

  • Automatische Aktualisierung der Dokumentation aus dem GitHub-Repository von Laravel

Related MCP server: MPC Docs Server

Installation

Schnellinstallation über Smithery

npx -y @smithery/cli install @brianirish/laravel-docs-mcp --client claude

Von PyPI installieren

pip install laravel-docs-mcp

Docker

# Pull and run the latest version
docker run -p 8000:8000 ghcr.io/brianirish/laravel-docs-mcp:latest

# Or run a specific version
docker run -p 8000:8000 ghcr.io/brianirish/laravel-docs-mcp:v0.1.4

Manuelle Installation von der Quelle

Voraussetzungen

  • Python 3.12+

  • uv -Paketmanager (empfohlen)

Schritte

  1. Klonen Sie das Repository:

    git clone https://github.com/brianirish/laravel-docs-mcp.git
    cd laravel-docs-mcp
  2. Umgebung einrichten und Abhängigkeiten installieren:

    # Create and activate virtual environment
    uv venv
    source .venv/bin/activate  # Linux/macOS
    # or
    .venv\Scripts\activate     # Windows
    
    # Install dependencies
    uv pip install .

Verwendung

Starten des Servers

python laravel_docs_server.py

Der Server ruft beim ersten Start automatisch die Laravel-Dokumentation ab und kann mit Strg+C gestoppt werden.

Befehlszeilenoptionen

Option

Beschreibung

--docs-path PATH

Pfad zum Dokumentationsverzeichnis (Standard: ./docs)

--server-name NAME

Servername (Standard: LaravelDocs)

--log-level LEVEL

Protokollebene: DEBUG, INFO, WARNUNG, FEHLER, KRITISCH (Standard: INFO)

--transport TYPE

Transportmethode: stdio, websocket, sse (Standard: stdio)

--host HOST

Host, an den eine Bindung erfolgen soll (Netzwerktransport)

--port PORT

Port zum Abhören (Netzwerktransport)

--version VERSION

Laravel-Versionszweig (Standard: 12.x)

--update-docs

Aktualisieren Sie die Dokumentation vor dem Start

--force-update

Aktualisierung der Dokumentation erzwingen

Beispiel mit benutzerdefinierten Optionen:

python laravel_docs_server.py --docs-path /path/to/docs --version 11.x --update-docs --transport websocket --host localhost --port 8000

Dokumentations-Updater

Sie können die Dokumentation separat aktualisieren:

# Update documentation
python docs_updater.py --target-dir ./docs --version 12.x

# Check if update is needed
python docs_updater.py --check-only

# Force update
python docs_updater.py --force

API-Referenz

Client-Beispiel

import asyncio
from fastmcp import Client

async def main():
    client = Client("path/to/laravel_docs_server.py")
    
    async with client:
        # List documentation
        result = await client.call_tool("list_docs", {})
        print(result)
        
        # Search documentation
        result = await client.call_tool("search_docs", {"query": "routing"})
        print(result)
        
        # Get package recommendations
        result = await client.call_tool("get_package_recommendations", 
                                       {"use_case": "implementing subscription billing"})
        print(result)
        
        # Read documentation
        resource = await client.read_resource("laravel://routing.md")
        print(resource)

if __name__ == "__main__":
    asyncio.run(main())

Verfügbare Tools

Dokumentationstools

  • list_docs() - Listet alle Dokumentationsdateien auf

  • search_docs(query: str) – Dokumentation nach bestimmten Begriffen durchsuchen

  • update_docs(version: Optional[str], force: bool) – Dokumentation aktualisieren

  • docs_info() - Informationen zur Dokumentationsversion abrufen

Paketempfehlungstools

  • get_package_recommendations(use_case: str) – Paketempfehlungen für einen Anwendungsfall abrufen

  • get_package_info(package_name: str) – Details zu einem bestimmten Paket abrufen

  • get_package_categories(category: str) – Pakete in einer bestimmten Kategorie auflisten

  • get_features_for_package(package: str) – Verfügbare Features für ein Paket abrufen

Ressourcenzugriff

Auf Dokumentationsdateien kann wie folgt als Ressource zugegriffen werden:

laravel://{path}

Beispiele:

  • laravel://routing.md

  • laravel://authentication.md

Automatisierte Workflows

Dieses Projekt umfasst mehrere automatisierte GitHub Actions-Workflows:

Tägliche Dokumentationsaktualisierungen

  • Auslöser : Jeden Tag um Mitternacht UTC (kann auch manuell ausgelöst werden)

  • Prozess : Sucht nach Aktualisierungen der Laravel-Dokumentation → Erstellt PR → Automatische Zusammenführung → Erstellt Patch-Versions-Tag

  • Ergebnis : Automatische Patch-Releases, wenn Laravel-Dokumente aktualisiert werden

Release-Veröffentlichung

  • Auslöser : Wenn Versions-Tags gepusht werden (z. B. v0.1.4 )

  • Prozess : Erstellt Pakete → Veröffentlicht auf PyPI → Erstellt und überträgt Docker-Images an GHCR

  • Ergebnis : Synchronisierte Releases über PyPI und Docker Hub

Dynamische Versionierung

  • Versionsquelle : Automatisch aus Git-Tags mithilfe von hatch-vcs abgeleitet

  • Entwicklungs-Builds : Erhalten Sie eindeutige Kennungen (z. B. 0.1.3.dev1+g75aec71 ).

  • Release Builds : Saubere Versionsnummern, die mit den Tags übereinstimmen (z. B. 0.1.4 )

Funktionen und Roadmap

Aktuelle Funktionen:

  • Tägliche Dokumentationsaktualisierungen : Automatische tägliche Synchronisierung mit dem GitHub-Repository von Laravel

  • Dynamische Versionierung : Automatische Versionsverwaltung basierend auf Git-Tags

  • Automatisierte Releases : Patch-Releases werden durch Dokumentationsaktualisierungen ausgelöst

  • Mehrere Bereitstellungsoptionen : PyPI-Paket, Docker-Images und Smithery-Marktplatz

  • Paketempfehlungen : Intelligente Vorschläge basierend auf spezifischen Anwendungsfällen

  • Implementierungsanleitung : Detaillierte Informationen zu gängigen Laravel-Paketen

  • Flexible Konfiguration : Unterstützung für mehrere Laravel-Versionen und Transportmethoden

  • Ordentliches Herunterfahren : Ordnungsgemäße Bereinigung und Signalverarbeitung

Geplante Funktionen:

  • 🔄 Unterstützung mehrerer Versionen (gleichzeitiger Zugriff auf die Dokumentation für mehrere Laravel-Versionen)

  • 🔍 Benutzerprojektanalyse für maßgeschneiderte Empfehlungen

  • 🚀 Erweiterte Suchfunktionen mit semantischem Matching

  • 📊 Nutzungsanalysen und Einblicke

  • 🔗 Zusätzliche Integrationen des Laravel-Ökosystems

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

Beitragen

Beiträge sind willkommen! Richtlinien finden Sie unter CONTRIBUTING.md.

Danksagung

  • Laravel für die hervorragende Dokumentation

  • Autoren von Laravel-Paketen für ihre Beiträge zum Ökosystem

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
10dResponse time
1dRelease cycle
188Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brianirish/laravel-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server