MCP Terminal

Un servidor MCP para acceder a la terminal y gestionar repositorios git.

Documentación

mcp-terminal

Servidor MCP para acceso a git y terminal

Características

Este servidor MCP proporciona las siguientes herramientas:

  • execute_command: Ejecuta un comando de terminal en un directorio especificado.
  • git_clone: Clona un repositorio git en una ubicación especificada.
  • install_react_project: Crea un nuevo proyecto React usando Vite.
  • install_vue_project: Crea un nuevo proyecto Vue usando Vite.
  • install_next_project: Crea un nuevo proyecto Next.js.
  • open_in_vscode: Abre un directorio o archivo en VSCode.
  • check_directory: Comprueba si un directorio existe y lista su contenido.

Requisitos previos

Instalación

  1. Clona el repositorio (si aún no lo has hecho):
    git clone https://github.com/AbdurRaahimm/mcp-git-terminal-server.git mcp-terminal
    cd mcp-terminal
    
  2. Instala las dependencias:
    npm install
    

Uso

  1. Compila el servidor:

    npm run build
    
  2. Inicia el servidor:

    npm run start
    

    Alternativamente, puedes usar el script de desarrollo que compila y luego inicia el servidor:

    npm run dev
    

    El servidor estará entonces ejecutándose en stdio, listo para aceptar solicitudes MCP de un cliente compatible.

    Para configurar este servidor con un cliente MCP, es posible que necesites especificar la ruta al archivo index.js compilado (p. ej., dist/index.js en la raíz de este proyecto) y el comando para ejecutarlo (p. ej., node). Consulta la documentación de tu cliente MCP para obtener instrucciones específicas.

Herramientas disponibles

Aquí tienes una vista más detallada de las herramientas disponibles y sus parámetros:

execute_command

Ejecuta un comando de terminal en un directorio especificado.

  • Esquema de entrada:
    • command (string, obligatorio): El comando a ejecutar (p. ej., 'npm install', 'ls -la').
    • cwd (string, opcional): Directorio de trabajo para el comando (por defecto, el directorio actual).

git_clone

Clona un repositorio git en una ubicación especificada.

  • Esquema de entrada:
    • repositoryUrl (string, obligatorio): URL del repositorio git.
    • destination (string, obligatorio): Ruta de destino donde clonar el repositorio.
    • openInVSCode (boolean, opcional): Abre el repositorio clonado en VSCode (por defecto: false).

install_react_project

Crea un nuevo proyecto React usando Vite y ábrelo en VSCode.

  • Esquema de entrada:
    • projectName (string, obligatorio): Nombre del proyecto React.
    • destination (string, obligatorio): Directorio donde crear el proyecto (p. ej., ~/Desktop).
    • template (string, opcional, enum: ["react", "react-ts", "react-swc", "react-swc-ts"]): Plantilla de Vite a usar (por defecto: react-ts).
    • installDependencies (boolean, opcional): Instala las dependencias después de crear el proyecto (por defecto: true).

install_vue_project

Crea un nuevo proyecto Vue usando Vite y ábrelo en VSCode.

  • Esquema de entrada:
    • projectName (string, obligatorio): Nombre del proyecto Vue.
    • destination (string, obligatorio): Directorio donde crear el proyecto (p. ej., ~/Desktop).
    • template (string, opcional, enum: ["vue", "vue-ts"]): Plantilla de Vite a usar (por defecto: vue-ts).
    • installDependencies (boolean, opcional): Instala las dependencias después de crear el proyecto (por defecto: true).

install_next_project

Crea un nuevo proyecto Next.js y ábrelo en VSCode.

  • Esquema de entrada:
    • projectName (string, obligatorio): Nombre del proyecto Next.js.
    • destination (string, obligatorio): Directorio donde crear el proyecto (p. ej., ~/Desktop).
    • typescript (boolean, opcional): Usar TypeScript (por defecto: true).
    • installDependencies (boolean, opcional): Instala las dependencias después de crear el proyecto (por defecto: true).

open_in_vscode

Abre un directorio o archivo en VSCode.

  • Esquema de entrada:
    • path (string, obligatorio): Ruta a abrir en VSCode.

check_directory

Comprueba si un directorio existe y lista su contenido.

  • Esquema de entrada:
    • path (string, obligatorio): Ruta del directorio a comprobar.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. (Según se especifica en package.json)

Uso

{
  "mcpServers": {
    "git-terminal": {
      "command": "node",
      "args": ["/path/to/mcp-git-terminal/dist/index.js"]
    }
  }
}