Laravel 12 Docs MCP Server

by brianirish
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Automatically fetches and updates Laravel documentation from GitHub repository, supporting different Laravel versions and providing version control integration for documentation updates.

  • Provides access to Laravel documentation, enabling search and retrieval of Laravel docs across different versions. Includes tools for listing documentation files, searching documentation for specific terms, and automatically fetching and updating documentation from Laravel's GitHub repository.

Servidor MCP de documentación de Laravel

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la documentación de Laravel y recomendaciones de paquetes para asistentes de IA y modelos de lenguaje.

Descripción general

Este servidor permite a los asistentes de IA acceder a la documentación de Laravel y a las recomendaciones de paquetes mediante el Protocolo de Contexto de Modelo (MCP). Permite a las herramientas de IA:

  • Acceder y buscar en la documentación de Laravel
  • Recibir recomendaciones de paquetes según casos de uso específicos
  • Obtenga orientación sobre la implementación de los paquetes populares de Laravel
  • Actualizar automáticamente la documentación desde el repositorio de GitHub de Laravel

Instalación

Instalación rápida a través de Smithery

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

Instalación manual

Prerrequisitos

  • Python 3.12+
  • Gestor de paquetes uv (recomendado)

Pasos

  1. Clonar el repositorio:
    git clone https://github.com/yourusername/laravel-docs-mcp.git cd laravel-docs-mcp
  2. Configurar el entorno e instalar las dependencias:
    # Create and activate virtual environment uv venv source .venv/bin/activate # Linux/macOS # or .venv\Scripts\activate # Windows # Install dependencies uv pip install .

Uso

Iniciando el servidor

python laravel_docs_server.py

El servidor obtiene automáticamente la documentación de Laravel en la primera ejecución y se puede detener con Ctrl+C.

Opciones de línea de comandos

OpciónDescripción
--docs-path PATHRuta del directorio de documentación (predeterminado: ./docs)
--server-name NAMENombre del servidor (predeterminado: LaravelDocs)
--log-level LEVELNivel de registro: DEBUG, INFO, ADVERTENCIA, ERROR, CRÍTICO (predeterminado: INFO)
--transport TYPEMétodo de transporte: stdio, websocket, sse (predeterminado: stdio)
--host HOSTHost al que vincularse (transporte de red)
--port PORTPuerto para escuchar (transporte de red)
--version VERSIONRama de la versión de Laravel (predeterminada: 12.x)
--update-docsActualice la documentación antes de comenzar
--force-updateActualización de la documentación de la fuerza

Ejemplo con opciones personalizadas:

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

Actualizador de documentación

Puede actualizar la documentación por separado:

# 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

Referencia de API

Ejemplo de cliente

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())

Herramientas disponibles

Herramientas de documentación

  • list_docs() - Lista todos los archivos de documentación
  • search_docs(query: str) - Buscar documentación para términos específicos
  • update_docs(version: Optional[str], force: bool) - Actualizar la documentación
  • docs_info() - Obtener información de la versión de la documentación

Herramientas de recomendación de paquetes

  • get_package_recommendations(use_case: str) - Obtener recomendaciones de paquetes para un caso de uso
  • get_package_info(package_name: str) - Obtener detalles sobre un paquete específico
  • get_package_categories(category: str) - Lista los paquetes en una categoría específica
  • get_features_for_package(package: str) - Obtener las características disponibles para un paquete

Acceso a recursos

Se puede acceder a los archivos de documentación como recursos utilizando:

laravel://{path}

Ejemplos:

  • laravel://routing.md
  • laravel://authentication.md

Características y hoja de ruta

Características actuales:

  • ✅ Actualizaciones dinámicas de la documentación desde el repositorio de GitHub de Laravel
  • ✅ Manejo elegante del apagado
  • ✅ Flexibilidad de versiones a través de opciones de línea de comandos
  • ✅ Recomendaciones de paquetes basadas en casos de uso
  • ✅ Guía de implementación para paquetes comunes de Laravel
  • ✅ Soporte de implementación de Docker

Características planificadas:

  • Compatibilidad con múltiples versiones (acceso a la documentación de múltiples versiones de Laravel simultáneamente)
  • Análisis de proyectos de usuario para recomendaciones personalizadas

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Contribuyendo

¡Se agradecen las contribuciones! Consulta las normas en CONTRIBUTING.md.

Expresiones de gratitud

  • Laravel por su excelente documentación
  • Autores de paquetes de Laravel por sus contribuciones al ecosistema
-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que proporciona a los asistentes de IA y a los modelos de lenguaje acceso a la documentación de Laravel 12, lo que les permite enumerar, leer y buscar archivos de documentación.

  1. Overview
    1. Installation
      1. Quick Install via Smithery
      2. Manual Installation
    2. Usage
      1. Starting the Server
      2. Command Line Options
      3. Documentation Updater
    3. API Reference
      1. Client Example
      2. Available Tools
      3. Resource Access
    4. Features and Roadmap
      1. License
        1. Contributing
          1. Acknowledgements
            ID: rjwaqizfuh