MCP Terminal

Um servidor MCP para acessar o terminal e gerenciar repositórios git.

Documentação

mcp-terminal

Servidor MCP para acesso a git e terminal

Recursos

Este servidor MCP fornece as seguintes ferramentas:

  • execute_command: Executa um comando de terminal em um diretório especificado.
  • git_clone: Clona um repositório git para um local especificado.
  • install_react_project: Cria um novo projeto React usando Vite.
  • install_vue_project: Cria um novo projeto Vue usando Vite.
  • install_next_project: Cria um novo projeto Next.js.
  • open_in_vscode: Abre um diretório ou arquivo no VSCode.
  • check_directory: Verifica se um diretório existe e lista seu conteúdo.

Pré-requisitos

Instalação

  1. Clone o repositório (se ainda não o fez):
    git clone https://github.com/AbdurRaahimm/mcp-git-terminal-server.git mcp-terminal
    cd mcp-terminal
    
  2. Instale as dependências:
    npm install
    

Uso

  1. Compile o servidor:

    npm run build
    
  2. Inicie o servidor:

    npm run start
    

    Alternativamente, você pode usar o script de desenvolvimento que compila e depois inicia o servidor:

    npm run dev
    

    O servidor então estará em execução no stdio, pronto para aceitar solicitações MCP de um cliente compatível.

    Para configurar este servidor com um cliente MCP, talvez seja necessário especificar o caminho para o arquivo index.js compilado (por exemplo, dist/index.js na raiz deste projeto) e o comando para executá-lo (por exemplo, node). Consulte a documentação do seu cliente MCP para instruções específicas.

Ferramentas Disponíveis

Aqui está uma visão mais detalhada das ferramentas disponíveis e seus parâmetros:

execute_command

Executa um comando de terminal em um diretório especificado.

  • Esquema de Entrada:
    • command (string, obrigatório): O comando a ser executado (ex.: 'npm install', 'ls -la').
    • cwd (string, opcional): Diretório de trabalho para o comando (padrão: diretório atual).

git_clone

Clona um repositório git para um local especificado.

  • Esquema de Entrada:
    • repositoryUrl (string, obrigatório): URL do repositório git.
    • destination (string, obrigatório): Caminho de destino onde clonar o repositório.
    • openInVSCode (boolean, opcional): Abrir o repositório clonado no VSCode (padrão: false).

install_react_project

Cria um novo projeto React usando Vite e o abre no VSCode.

  • Esquema de Entrada:
    • projectName (string, obrigatório): Nome do projeto React.
    • destination (string, obrigatório): Diretório onde criar o projeto (ex.: ~/Desktop).
    • template (string, opcional, enum: ["react", "react-ts", "react-swc", "react-swc-ts"]): Modelo Vite a ser usado (padrão: react-ts).
    • installDependencies (boolean, opcional): Instalar dependências após criar o projeto (padrão: true).

install_vue_project

Cria um novo projeto Vue usando Vite e o abre no VSCode.

  • Esquema de Entrada:
    • projectName (string, obrigatório): Nome do projeto Vue.
    • destination (string, obrigatório): Diretório onde criar o projeto (ex.: ~/Desktop).
    • template (string, opcional, enum: ["vue", "vue-ts"]): Modelo Vite a ser usado (padrão: vue-ts).
    • installDependencies (boolean, opcional): Instalar dependências após criar o projeto (padrão: true).

install_next_project

Cria um novo projeto Next.js e o abre no VSCode.

  • Esquema de Entrada:
    • projectName (string, obrigatório): Nome do projeto Next.js.
    • destination (string, obrigatório): Diretório onde criar o projeto (ex.: ~/Desktop).
    • typescript (boolean, opcional): Usar TypeScript (padrão: true).
    • installDependencies (boolean, opcional): Instalar dependências após criar o projeto (padrão: true).

open_in_vscode

Abre um diretório ou arquivo no VSCode.

  • Esquema de Entrada:
    • path (string, obrigatório): Caminho para abrir no VSCode.

check_directory

Verifica se um diretório existe e lista seu conteúdo.

  • Esquema de Entrada:
    • path (string, obrigatório): Caminho do diretório a ser verificado.

Licença

Este projeto está licenciado sob a Licença MIT. (Conforme especificado em package.json)

Uso

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