DeepWriter

Interactúa con la API de DeepWriter, un asistente de escritura impulsado por IA.

Documentación

MseeP.ai Security Assessment Badge

Servidor MCP de DeepWriter

smithery badge

Sitio oficial: DeepWriter.com

Documentación adicional: Documentación de acceso a la API de DeepWriter

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de DeepWriter. Este servidor proporciona herramientas para crear, gestionar y generar contenido para proyectos de DeepWriter a través de la interfaz MCP estandarizada.

DeepWriter Server MCP server

Características

  • Gestión de proyectos: Crear, listar, actualizar y eliminar proyectos
  • Generación de contenido: Generar contenido para proyectos usando la IA de DeepWriter
  • Detalles del proyecto: Recuperar información detallada sobre proyectos
  • Integración MCP: Integración perfecta con Claude y otros asistentes de IA compatibles con MCP
  • Características MCP estándar: Implementa la versión 2025-03-26 del protocolo MCP
  • Soporte de transporte: Transporte Stdio para comunicación de procesos locales

Requisitos previos

  • Node.js (v17 o superior)
  • npm (v6 o superior)
  • Clave de API de DeepWriter
  • Un cliente compatible con MCP (por ejemplo, Claude para Desktop)

Instalación

Instalación mediante Smithery

Para instalar deepwriter-mcp para Claude Desktop automáticamente a través de Smithery:

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

Instalación manual

  1. Clona el repositorio:

    git clone https://github.com/yourusername/deepwriter-mcp.git
    cd deepwriter-mcp
    
  2. Instala las dependencias:

    npm install
    
  3. Crea un archivo .env en el directorio raíz con tu clave de API de DeepWriter:

    DEEPWRITER_API_KEY=your_api_key_here
    
  4. Compila el proyecto:

    npm run build
    

Uso

Iniciar el servidor

Inicia el servidor MCP:

node build/index.js

El servidor escuchará en stdin las solicitudes MCP y responderá en stdout, siguiendo la especificación de transporte stdio de MCP.

Conexión con Claude para Desktop

Para usar el servidor MCP de DeepWriter con Claude para Desktop:

  1. Abre tu archivo de configuración de Claude para Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Agrega la configuración del servidor:

    {
      "mcpServers": {
        "deepwriter": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/deepwriter-mcp/build/index.js"],
          "env": {
            "DEEPWRITER_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
  3. Reinicia Claude para Desktop para cargar la nueva configuración.

Soporte del protocolo MCP

Este servidor implementa la versión 2025-03-26 del protocolo MCP con las siguientes capacidades:

  • Transporte: Transporte Stdio para comunicación de procesos locales
  • Herramientas: Soporte completo para todas las operaciones de la API de DeepWriter
  • Registro: Registro estructurado con niveles configurables

Herramientas disponibles

1. listProjects

Lista todos los proyectos asociados con tu cuenta de DeepWriter.

{
  "api_key": "your_api_key_here"
}

2. getProjectDetails

Recupera información detallada sobre un proyecto específico.

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

3. createProject

Crea un nuevo proyecto con el título y correo electrónico especificados.

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

4. updateProject

Actualiza un proyecto existente con los cambios especificados.

{
  "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

Genera contenido para un proyecto usando la IA de DeepWriter.

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

6. deleteProject

Elimina un proyecto.

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

Desarrollo

Estructura del proyecto

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

Compilación

npm run build

Esto compilará el código TypeScript en JavaScript en el directorio build.

Pruebas

Puedes probar el servidor MCP localmente usando los scripts de prueba proporcionados:

node test-mcp-client.js

o

node test-deepwriter-tools.js

Configuración de TypeScript

El proyecto usa TypeScript con módulos ES y resolución de módulos Node16. Configuraciones clave de TypeScript:

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

Solución de problemas

Problemas comunes

  1. Problemas con la clave de API:

    • Asegúrate de que tu clave de API de DeepWriter esté configurada correctamente en el archivo .env
    • Verifica que la clave de API se esté pasando correctamente en los argumentos de las herramientas
    • Confirma que la clave de API tenga los permisos necesarios
  2. Problemas de conexión:

    • Asegúrate de que la API de DeepWriter sea accesible desde tu red
    • Verifica si hay configuraciones de firewall o proxy que puedan bloquear las conexiones
    • Confirma que tu conexión de red sea estable
  3. Problemas del protocolo MCP:

    • Asegúrate de usar un cliente MCP compatible
    • Verifica que el transporte stdio esté configurado correctamente
    • Confirma que el cliente admita la versión 2025-03-26 del protocolo
  4. Nombres de parámetros:

    • El servidor admite nombres de parámetros en snake_case (project_id) y camelCase (projectId)
    • Todos los parámetros distinguen entre mayúsculas y minúsculas
    • Los parámetros obligatorios no deben ser nulos ni indefinidos

Depuración

Para obtener registros detallados, ejecuta el servidor con la variable de entorno DEBUG:

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

También puedes revisar los registros de Claude para Desktop en:

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

Contribuciones

¡Agradecemos las contribuciones de la comunidad! Así es como puedes ayudar:

Envío de problemas

  1. Informes de errores

    • Usa el rastreador de problemas de GitHub
    • Incluye pasos detallados para reproducir el error
    • Proporciona los detalles de tu entorno (versión de Node.js, sistema operativo, etc.)
    • Incluye registros y mensajes de error relevantes
    • Usa la plantilla de informe de errores proporcionada
  2. Solicitudes de funciones

    • Usa el rastreador de problemas de GitHub con la etiqueta "enhancement"
    • Describe claramente la función y su caso de uso
    • Explica cómo beneficia al proyecto
    • Usa la plantilla de solicitud de funciones proporcionada
  3. Problemas de seguridad

    • Para vulnerabilidades de seguridad, NO crees un problema público
    • Envía un correo electrónico a security@deepwriter.com en su lugar
    • Trabajaremos contigo para abordar la vulnerabilidad
    • Seguimos prácticas de divulgación responsable

Solicitudes de extracción (Pull Requests)

  1. Antes de comenzar

    • Revisa los problemas y PR existentes para evitar trabajo duplicado
    • Para cambios importantes, abre un problema primero para discutirlo
    • Lee nuestros estándares de codificación y pautas de implementación de MCP
  2. Proceso de desarrollo

    • Haz un fork del repositorio
    • Crea una nueva rama desde main
    • Sigue nuestro estilo y convenciones de codificación
    • Agrega pruebas para nuevas funciones
    • Actualiza la documentación según sea necesario
  3. Requisitos del PR

    • Incluye una descripción clara de los cambios
    • Vincula los problemas relacionados
    • Agrega o actualiza pruebas
    • Actualiza la documentación
    • Sigue las convenciones de mensajes de confirmación
    • Firma el Acuerdo de Licencia de Colaborador (CLA)
  4. Revisión de código

    • Todos los PR requieren al menos una revisión
    • Aborda los comentarios de la revisión
    • Mantén los PR enfocados y de tamaño razonable
    • Responde a preguntas y comentarios

Pautas de desarrollo

  1. Estilo de código

    • Sigue las mejores prácticas de TypeScript
    • Usa ESLint con nuestra configuración
    • Formatea el código con Prettier
    • Sigue las especificaciones del protocolo MCP
  2. Pruebas

    • Escribe pruebas unitarias para nuevas funciones
    • Mantén o mejora la cobertura de pruebas
    • Prueba el cumplimiento del protocolo MCP
    • Prueba con múltiples versiones de Node.js
  3. Documentación

    • Actualiza README.md para cambios visibles para el usuario
    • Agrega comentarios JSDoc para código nuevo
    • Actualiza la documentación de la API
    • Incluye ejemplos para nuevas funciones
  4. Mensajes de confirmación

    • Sigue el formato de confirmaciones convencionales
    • Haz referencia a los problemas cuando corresponda
    • Mantén las confirmaciones enfocadas y atómicas
    • Usa mensajes claros y descriptivos

Obtención de ayuda

  • Únete a nuestra comunidad de Discord
  • Consulta la documentación
  • Haz preguntas en las discusiones de GitHub
  • Asiste a nuestras llamadas mensuales de colaboradores

Seguridad

  • El servidor valida todas las entradas antes de procesarlas
  • Las claves de API nunca se registran ni se exponen en mensajes de error
  • El transporte stdio proporciona aislamiento de procesos
  • Todas las llamadas externas a la API usan HTTPS
  • La validación de entradas previene ataques de inyección

Licencia

MIT