Skip to main content
Glama

Laravel 12 Docs MCP Server

by brianirish

Servidor MCP de documentación de Laravel

Lanzamiento de GitHub (última fecha) PyPI Versión de Python Estado del flujo de trabajo de GitHub Licencia Imagen de Docker insignia de herrería Estrellas de GitHub Bifurcaciones de GitHub

⚠️ Alpha Software : Este proyecto se encuentra en fase inicial de desarrollo. Es posible que algunas funciones no funcionen como se espera y que se produzcan cambios importantes sin previo aviso.

Un asistente de IA para desarrolladores de Laravel que proporciona acceso a la documentación más reciente de Laravel y recomendaciones inteligentes de paquetes mediante el Protocolo de Contexto de Modelo (MCP). Esto permite que las herramientas de IA te ayuden a crear aplicaciones de Laravel con información actualizada y las mejores prácticas.

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

Related MCP server: MPC Docs Server

Instalación

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

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

Instalar desde PyPI

pip install laravel-docs-mcp

Estibador

# 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

Instalación manual desde la fuente

Prerrequisitos

  • Python 3.12+

  • Gestor de paquetes uv (recomendado)

Pasos

  1. Clonar el repositorio:

    git clone https://github.com/brianirish/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ón

Descripción

--docs-path PATH

Ruta del directorio de documentación (predeterminado: ./docs)

--server-name NAME

Nombre del servidor (predeterminado: LaravelDocs)

--log-level LEVEL

Nivel de registro: DEBUG, INFO, ADVERTENCIA, ERROR, CRÍTICO (predeterminado: INFO)

--transport TYPE

Método de transporte: stdio, websocket, sse (predeterminado: stdio)

--host HOST

Host al que vincularse (transporte de red)

--port PORT

Puerto para escuchar (transporte de red)

--version VERSION

Rama de la versión de Laravel (predeterminada: 12.x)

--update-docs

Actualice la documentación antes de comenzar

--force-update

Actualizació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

Flujos de trabajo automatizados

Este proyecto incluye varios flujos de trabajo automatizados de GitHub Actions:

Actualizaciones diarias de la documentación

  • Disparador : Todos los días a la medianoche UTC (también se puede activar manualmente)

  • Proceso : Verifica si hay actualizaciones de la documentación de Laravel → Crea PR → Fusiona automáticamente → Crea una etiqueta de versión del parche

  • Resultado : Lanzamientos automáticos de parches cuando se actualizan los documentos de Laravel

Publicación de lanzamiento

  • Disparador : cuando se envían etiquetas de versión (por ejemplo, v0.1.4 )

  • Proceso : Crea paquetes → Publica en PyPI → Crea y envía imágenes de Docker a GHCR

  • Resultado : Versiones sincronizadas entre PyPI y Docker Hub

Versiones dinámicas

  • Versión Fuente : Derivada automáticamente de las etiquetas git usando hatch-vcs

  • Compilaciones de desarrollo : obtener identificadores únicos (por ejemplo, 0.1.3.dev1+g75aec71 )

  • Versiones de lanzamiento : números de versión limpios que coinciden con las etiquetas (por ejemplo, 0.1.4 )

Características y hoja de ruta

Características actuales:

  • Actualizaciones diarias de la documentación : se sincroniza automáticamente con el repositorio GitHub de Laravel todos los días

  • Versiones dinámicas : gestión automática de versiones basada en etiquetas git

  • Lanzamientos automatizados : lanzamientos de parches activados por actualizaciones de documentación

  • Múltiples opciones de implementación : paquete PyPI, imágenes Docker y mercado Smithery

  • Recomendaciones de paquetes : sugerencias inteligentes basadas en casos de uso específicos

  • Guía de implementación : información detallada para paquetes comunes de Laravel

  • Configuración flexible : Soporte para múltiples versiones de Laravel y métodos de transporte

  • Apagado elegante : limpieza adecuada y manejo de señales

Características planificadas:

  • 🔄 Soporte para múltiples versiones (acceda a la documentación de múltiples versiones de Laravel simultáneamente)

  • 🔍 Análisis de proyectos de usuarios para recomendaciones personalizadas

  • 🚀 Capacidades de búsqueda mejoradas con coincidencia semántica

  • 📊 Análisis y perspectivas de uso

  • 🔗 Integraciones adicionales del ecosistema Laravel

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
-
license - not tested
-
quality - not tested

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