DeepWriter
Interactúa con la API de DeepWriter, un asistente de escritura impulsado por IA.
Documentación
Servidor MCP de DeepWriter
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.
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
-
Clona el repositorio:
git clone https://github.com/yourusername/deepwriter-mcp.git cd deepwriter-mcp -
Instala las dependencias:
npm install -
Crea un archivo
.enven el directorio raíz con tu clave de API de DeepWriter:DEEPWRITER_API_KEY=your_api_key_here -
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:
-
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
- macOS:
-
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" } } } } -
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
-
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
- Asegúrate de que tu clave de API de DeepWriter esté configurada correctamente en el archivo
-
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
-
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
-
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
- El servidor admite nombres de parámetros en snake_case (
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
-
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
-
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
-
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)
-
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
-
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
-
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)
-
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
-
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
-
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
-
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
-
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
