Pulsar Edit MCP Server

Um servidor MCP experimental para controlar o editor Pulsar, permitindo assistência de LLM para desenvolvimento de software.

Documentação

Pulsar Edit MCP Server & Assistente de Codificação com LLM

:warning: AVISO
Muito experimental e incompleto. Use por sua conta e risco!

Esta é uma tentativa inicial de criar um servidor MCP e assistente de chat para controlar o editor Pulsar. O objetivo é permitir que um LLM auxilie no desenvolvimento de software no Pulsar usando o painel de chat integrado ou uma ferramenta como AnythingLLM como cliente de chat.

Chat integrado:

Chat do AnythingLLM:

Instalação:

ppm install https://github.com/drunnells/pulsar-edit-mcp-server

Após a instalação do pacote Pulsar, configure o servidor MCP para escutar em Packages->MCP Server->Listen

Você verá um bloco "MCP:On" no canto inferior esquerdo do editor Pulsar.

Configurações

mcpServers JSON:

Se você estiver usando um cliente LLM de terceiros em vez do chat integrado, seu cliente precisará ter a configuração mcpServers abaixo.

{
        "mcpServers": {
                "pulsar-edit-mcp-server": {
                        "url": "http://localhost:3000/mcp",
                        "disabled": false,
                        "alwaysAllow": [],
                        "type": "streamable"
                }
        }
}

Comandos suportados

  • Replace Text - Pesquise no editor ativo por query e substitua por replacement.
  • Get Context Around - Retorne até radiusLines linhas antes e depois da N-ésima ocorrência de query no editor ativo. Útil para edições sensíveis ao contexto.
  • Find Text - Pesquise no editor ativo por uma substring ou expressão regular e retorne as posições de cada ocorrência (até maxMatches).
  • Replace Document - Substitua todo o conteúdo do documento
  • Insert Line - Insira uma linha em branco na linha
  • Insert Text At Line - Insira um bloco de texto no número de linha especificado, deslocando o texto existente para baixo. Prefira substituir o documento para edições grandes.
  • Delete Line - Exclua uma única linha
  • Delete Line Range - Exclua um intervalo de linhas
  • Get Selection - Obtenha o texto selecionado
  • Get Document - Obtenha uma matriz de cada linha do documento com números de linha
  • Get Line Count - Obtenha o número total de linhas no documento atual
  • Get Filename - Obtenha o nome do arquivo do documento atual
  • Get Full Path - Obtenha o caminho completo do documento atual
  • Get Project Files - Obtenha todos os arquivos do projeto no projeto atual
  • Open File - Abra um arquivo (ou mova para a aba desse arquivo se já estiver aberto)
  • Undo - Desfaça a última alteração no editor
  • Redo - Refaça o último desfazer no editor

Contexto

Escrevi um post no blog rápido sobre minhas motivações e alguns dos desafios que encontrei inicialmente.

Contribuindo

Este projeto ainda está em seus estágios iniciais. Espero transformá-lo em algo útil um dia. Se você tiver interesse em ajudar a moldá-lo, qualquer contribuição é bem-vinda e apreciada!