DeepWriter

Interaja com a API do DeepWriter, um assistente de escrita com inteligência artificial.

Documentação

MseeP.ai Security Assessment Badge

Servidor MCP DeepWriter

smithery badge

Site oficial: DeepWriter.com

Documentação adicional: Documentos de acesso à API DeepWriter

Um servidor Model Context Protocol (MCP) para interagir com a API DeepWriter. Este servidor fornece ferramentas para criar, gerenciar e gerar conteúdo para projetos DeepWriter por meio da interface padronizada do MCP.

DeepWriter Server MCP server

Recursos

  • Gerenciamento de projetos: criar, listar, atualizar e excluir projetos
  • Geração de conteúdo: gerar conteúdo para projetos usando a IA do DeepWriter
  • Detalhes do projeto: recuperar informações detalhadas sobre projetos
  • Integração MCP: integrar-se perfeitamente ao Claude e a outros assistentes de IA compatíveis com MCP
  • Recursos padrão do MCP: implementa a versão 2025-03-26 do protocolo MCP
  • Suporte a transporte: transporte stdio para comunicação local entre processos

Pré-requisitos

  • Node.js (v17 ou superior)
  • npm (v6 ou superior)
  • Chave da API DeepWriter
  • Um cliente compatível com MCP (ex.: Claude for Desktop)

Instalação

Instalação via Smithery

Para instalar o deepwriter-mcp para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @deepwriter-ai/deepwriter-mcp --client claude

Instalação manual

  1. Clone o repositório:

    git clone https://github.com/yourusername/deepwriter-mcp.git
    cd deepwriter-mcp
    
  2. Instale as dependências:

    npm install
    
  3. Crie um arquivo .env no diretório raiz com sua chave da API DeepWriter:

    DEEPWRITER_API_KEY=your_api_key_here
    
  4. Compile o projeto:

    npm run build
    

Uso

Iniciando o servidor

Inicie o servidor MCP:

node build/index.js

O servidor escutará na entrada padrão (stdin) por requisições MCP e responderá na saída padrão (stdout), seguindo a especificação de transporte stdio do MCP.

Conectando ao Claude for Desktop

Para usar o servidor MCP DeepWriter com o Claude for Desktop:

  1. Abra o arquivo de configuração do Claude for Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Adicione a configuração do servidor:

    {
      "mcpServers": {
        "deepwriter": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/deepwriter-mcp/build/index.js"],
          "env": {
            "DEEPWRITER_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
  3. Reinicie o Claude for Desktop para carregar a nova configuração.

Suporte ao protocolo MCP

Este servidor implementa a versão 2025-03-26 do protocolo MCP com os seguintes recursos:

  • Transporte: transporte stdio para comunicação local entre processos
  • Ferramentas: suporte completo para todas as operações da API DeepWriter
  • Registro de logs: registro estruturado com níveis configuráveis

Ferramentas disponíveis

1. listProjects

Lista todos os projetos associados à sua conta DeepWriter.

{
  "api_key": "your_api_key_here"
}

2. getProjectDetails

Recupera informações detalhadas sobre um projeto específico.

{
  "api_key": "your_api_key_here",
  "project_id": "your_project_id_here"
}

3. createProject

Cria um novo projeto com o título e e-mail especificados.

{
  "api_key": "your_api_key_here",
  "title": "Your Project Title",
  "email": "your_email@example.com"
}

4. updateProject

Atualiza um projeto existente com as alterações especificadas.

{
  "api_key": "your_api_key_here",
  "project_id": "your_project_id_here",
  "updates": {
    "title": "Updated Project Title",
    "prompt": "Updated project prompt",
    "author": "Updated author name",
    "email": "updated@email.com",
    "model": "Updated model name",
    "outline_text": "Updated outline",
    "style_text": "Updated style guide",
    "supplemental_info": "Updated additional information",
    "work_description": "Updated work description",
    "work_details": "Updated work details",
    "work_vision": "Updated work vision"
  }
}

5. generateWork

Gera conteúdo para um projeto usando a IA do DeepWriter.

{
  "api_key": "your_api_key_here",
  "project_id": "your_project_id_here",
  "is_default": true // Optional, defaults to true
}

6. deleteProject

Exclui um projeto.

{
  "api_key": "your_api_key_here",
  "project_id": "your_project_id_here"
}

Desenvolvimento

Estrutura do projeto

deepwriter-mcp/
├── src/
│   ├── index.ts              # Main entry point and MCP server setup
│   ├── api/
│   │   └── deepwriterClient.ts  # DeepWriter API client
│   └── tools/                # MCP tool implementations
│       ├── createProject.ts
│       ├── deleteProject.ts
│       ├── generateWork.ts
│       ├── getProjectDetails.ts
│       ├── listProjects.ts
│       └── updateProject.ts
├── build/                    # Compiled JavaScript output
├── test-deepwriter-tools.js  # Tool testing script
├── test-mcp-client.js       # MCP client testing script
└── tsconfig.json            # TypeScript configuration

Compilação

npm run build

Isso compilará o código TypeScript em JavaScript no diretório build.

Testes

Você pode testar o servidor MCP localmente usando os scripts de teste fornecidos:

node test-mcp-client.js

ou

node test-deepwriter-tools.js

Configuração do TypeScript

O projeto usa TypeScript com módulos ES e resolução de módulos Node16. Principais configurações do TypeScript:

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "Node16",
    "moduleResolution": "Node16",
    "outDir": "./build",
    "strict": true
  }
}

Solução de problemas

Problemas comuns

  1. Problemas com a chave da API:

    • Certifique-se de que sua chave da API DeepWriter esteja configurada corretamente no arquivo .env
    • Verifique se a chave da API está sendo passada corretamente nos argumentos das ferramentas
    • Verifique se a chave da API tem as permissões necessárias
  2. Problemas de conexão:

    • Certifique-se de que a API DeepWriter esteja acessível a partir da sua rede
    • Verifique se há configurações de firewall ou proxy que possam bloquear conexões
    • Verifique se sua conexão de rede está estável
  3. Problemas com o protocolo MCP:

    • Certifique-se de estar usando um cliente MCP compatível
    • Verifique se o transporte stdio está configurado corretamente
    • Verifique se o cliente suporta a versão 2025-03-26 do protocolo
  4. Nomenclatura de parâmetros:

    • O servidor suporta nomes de parâmetros em snake_case (project_id) e camelCase (projectId)
    • Todos os parâmetros diferenciam maiúsculas de minúsculas
    • Parâmetros obrigatórios não podem ser nulos ou indefinidos

Depuração

Para logs detalhados, execute o servidor com a variável de ambiente DEBUG:

DEBUG=deepwriter-mcp:* node build/index.js

Você também pode verificar os logs do Claude for Desktop em:

  • macOS: ~/Library/Logs/Claude/mcp*.log
  • Windows: %APPDATA%\Claude\logs\mcp*.log

Contribuindo

Aceitamos contribuições da comunidade! Veja como você pode ajudar:

Enviando problemas (issues)

  1. Relatórios de bugs

    • Use o rastreador de issues do GitHub
    • Inclua etapas detalhadas para reproduzir o bug
    • Forneça os detalhes do seu ambiente (versão do Node.js, SO, etc.)
    • Inclua logs e mensagens de erro relevantes
    • Use o modelo de relatório de bug fornecido
  2. Solicitações de recursos

    • Use o rastreador de issues do GitHub com o rótulo "enhancement"
    • Descreva claramente o recurso e seu caso de uso
    • Explique como ele beneficia o projeto
    • Use o modelo de solicitação de recurso fornecido
  3. Problemas de segurança

    • Para vulnerabilidades de segurança, NÃO crie uma issue pública
    • Envie um e-mail para security@deepwriter.com
    • Trabalharemos com você para resolver a vulnerabilidade
    • Seguimos práticas de divulgação responsável

Pull Requests

  1. Antes de começar

    • Verifique issues e PRs existentes para evitar trabalho duplicado
    • Para mudanças significativas, abra uma issue primeiro para discutir
    • Leia nossos padrões de codificação e diretrizes de implementação do MCP
  2. Processo de desenvolvimento

    • Faça um fork do repositório
    • Crie um novo branch a partir de main
    • Siga nosso estilo e convenções de codificação
    • Adicione testes para novos recursos
    • Atualize a documentação conforme necessário
  3. Requisitos do PR

    • Inclua uma descrição clara das alterações
    • Vincule issues relacionadas
    • Adicione ou atualize testes
    • Atualize a documentação
    • Siga as convenções de mensagens de commit
    • Assine o Contrato de Licença de Contribuidor (CLA)
  4. Revisão de código

    • Todos os PRs exigem pelo menos uma revisão
    • Atenda ao feedback da revisão
    • Mantenha os PRs focados e com tamanho razoável
    • Seja responsivo a perguntas e comentários

Diretrizes de desenvolvimento

  1. Estilo de código

    • Siga as melhores práticas do TypeScript
    • Use ESLint com nossa configuração
    • Formate o código com Prettier
    • Siga as especificações do protocolo MCP
  2. Testes

    • Escreva testes unitários para novos recursos
    • Mantenha ou melhore a cobertura de testes
    • Teste a conformidade com o protocolo MCP
    • Teste com várias versões do Node.js
  3. Documentação

    • Atualize o README.md para alterações visíveis ao usuário
    • Adicione comentários JSDoc para código novo
    • Atualize a documentação da API
    • Inclua exemplos para novos recursos
  4. Mensagens de commit

    • Siga o formato de commits convencionais
    • Referencie issues quando apropriado
    • Mantenha os commits focados e atômicos
    • Use mensagens claras e descritivas

Obtendo ajuda

  • Junte-se à nossa comunidade no Discord
  • Consulte a documentação
  • Faça perguntas nas discussões do GitHub
  • Participe das nossas reuniões mensais de contribuidores

Segurança

  • O servidor valida todas as entradas antes do processamento
  • As chaves da API nunca são registradas em logs ou expostas em mensagens de erro
  • O transporte stdio fornece isolamento de processos
  • Todas as chamadas externas à API usam HTTPS
  • A validação de entrada previne ataques de injeção

Licença

MIT