DevContext
Proporciona a los desarrolladores una conciencia contextual continua y centrada en el proyecto. Requiere una base de datos TursoDB.
Documentación
DevContext: Servidor de Protocolo de Contexto de Modelo (MCP) de Conciencia de Contexto Autónoma
Potencia tu flujo de trabajo de desarrollo con conciencia de contexto inteligente - DevContext comprende tu código, conversaciones y patrones de desarrollo para proporcionar contexto relevante exactamente cuando lo necesitas.
Introducción
DevContext es un servidor de Protocolo de Contexto de Modelo (MCP) de vanguardia diseñado para proporcionar a los desarrolladores una conciencia de contexto continua y centrada en el proyecto. A diferencia de los sistemas de contexto tradicionales, DevContext aprende continuamente de tus patrones de desarrollo y se adapta a ellos. DevContext aprovecha métodos de recuperación sofisticados, centrándose en análisis de palabras clave, grafos de relaciones y metadatos estructurados para entregar contexto altamente relevante durante el desarrollo, comprendiendo tanto tus conversaciones como tu código a un nivel más profundo.
El servidor opera con una instancia de base de datos dedicada a un solo proyecto, eliminando la complejidad entre proyectos y garantizando el rendimiento con requisitos mínimos de recursos. DevContext construye una comprensión integral de tu código, desde la estructura del repositorio hasta funciones individuales, mientras aprende continuamente de tus patrones de desarrollo y se adapta a ellos.
La MEJOR manera de usar este servidor MCP es seguir la guía a continuación sobre la implementación del sistema de Reglas de Cursor proporcionado, que a su vez te brinda:
- Gestión de contexto completamente autónoma
- Contexto y uso de documentación externa autónoma
- Integración completa del flujo de trabajo de gestión de tareas
Tecnologías Principales
- Node.js: Entorno de ejecución (Node.js 18+)
- TursoDB: Base de datos SQL optimizada para implementación en el borde (compatible con SQLite)
- SDK de Protocolo de Contexto de Modelo: Para comunicación estandarizada con clientes IDE
- Reglas de Cursor: Gestión autónoma del entorno de desarrollo y flujo de trabajo
- JavaScript/TypeScript: Implementación pura en JavaScript sin dependencias externas de ML
Guía de Instalación
Requisitos Previos
- Node.js 18.0.0 o superior
- IDE Cursor con soporte MCP
- Cuenta de TursoDB (para la base de datos)
Paso 1: Configurar la Base de Datos TursoDB
-
Regístrate en TursoDB:
- Visita Turso y crea una cuenta
- El nivel gratuito es suficiente para la mayoría de los proyectos
-
Instala la CLI de Turso (opcional pero recomendado):
curl -sSfL https://get.turso.tech/install.sh | bash -
Autentícate con Turso:
turso auth login -
Crea una base de datos de proyecto:
turso db create devcontext -
Obtén las credenciales de la base de datos:
# Get database URL turso db show devcontext --url # Create auth token turso db tokens create devcontextGuarda tanto la URL como el token para el siguiente paso.
Paso 2: Configurar MCP en Cursor (también se puede aplicar a otros IDEs)
Crea o edita .cursor/mcp.json en el directorio de tu proyecto:
{
"mcpServers": {
"devcontext": {
"command": "npx",
"args": ["-y", "devcontext@latest"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "your-turso-database-url",
"TURSO_AUTH_TOKEN": "your-turso-auth-token"
}
}
}
}
Reemplaza your-turso-database-url y your-turso-auth-token con los valores obtenidos en el Paso 1.
Implementación de Reglas de Cursor
DevContext implementa un conjunto sofisticado de Reglas de Cursor que crean un entorno de desarrollo autónomo. Estas reglas guían a los asistentes de IA de Cursor para mantener la alineación del alcance del proyecto, incorporar documentación actualizada e implementar flujos de trabajo de tareas avanzados.
Mantente atento al Generador de Proyectos DevContext que llegará muy pronto y creará una configuración COMPLETA para tu proyecto para multiplicar literalmente por 10 tu flujo de trabajo de desarrollo.
Componentes Clave de las Reglas
1. Guía de Uso de Herramientas MCP de DevContext
La regla principal define una secuencia precisa para la ejecución de herramientas:
1. FIRST: Call initialize_conversation_context EXACTLY ONCE at START
2. AS NEEDED: Call update_conversation_context for code changes/new messages
3. AS NEEDED: Call retrieve_relevant_context when specific context is required
4. OCCASIONALLY: Call record_milestone_context for significant achievements
5. LAST: Call finalize_conversation_context EXACTLY ONCE at END
Este flujo de trabajo garantiza una gestión integral del contexto durante toda la sesión de desarrollo.
2. Requisitos de Documentación de Bibliotecas Externas
Todo uso de bibliotecas externas debe estar precedido por una recuperación adecuada de documentación:
- Recuperación de Documentación en Dos Pasos usando Context7
- Respaldo de Búsqueda Web para documentación no disponible a través de Context7
- Síntesis de Documentación de Múltiples Fuentes para una comprensión integral
Esto previene problemas comunes con uso incorrecto de API, versiones incompatibles o dependencias faltantes.
3. Sistema de Flujo de Trabajo de Tareas
El sistema de flujo de trabajo de tareas permite:
- Gestión estructurada de tareas en
tasks.md - Orden de implementación basado en ID de tarea
- Seguimiento de estado con metadatos de finalización
- Integración del blueprint del proyecto para contexto arquitectónico
Configuración de Reglas de Cursor
-
Crear Directorio de Reglas:
mkdir -p .cursor/rules -
Descargar/Copiar y Pegar Reglas:
Descarga o copia y pega el directorio .cursor/rules en tu proyecto. A continuación, copia y pega el contenido del archivo .cursorrules en la raíz de tu proyecto y pégalo en las reglas de configuración de tu cursor (Configuración de Cursor -> Reglas -> Reglas de Usuario). También debes copiar y pegar el archivo .cursorrules en tu directorio principal.
- Personalizar el Flujo de Trabajo de Tareas (Opcional): Una vez implementadas las reglas de cursor, reinicia Cursor y procede a pedirle que cree tareas para ti basadas en cualquier idea de proyecto que tengas.
Ejemplo de Configuración
A continuación se muestra un ejemplo completo de un archivo mcp.json que configura tanto los servidores MCP de DevContext como Context7:
{
"mcpServers": {
"devcontext": {
"command": "npx",
"args": ["-y", "devcontext@latest"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "libsql://your-project-db-name.turso.io",
"TURSO_AUTH_TOKEN": "your_turso_auth_token_here"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
Parámetros Importantes
| Parámetro | Descripción | Valor Predeterminado |
|---|---|---|
TURSO_DATABASE_URL | URL de tu instancia de TursoDB | Ninguno (Requerido) |
TURSO_AUTH_TOKEN | Token de autenticación para TursoDB | Ninguno (Requerido) |
Tabla de Contenidos
- Descripción General del Sistema
- Componentes Principales
- Herramientas MCP
- Arquitectura de Datos
- Especificaciones Técnicas
- Consideraciones de Rendimiento
- Seguridad
- Solución de Problemas
- Licencia
Descripción General del Sistema
DevContext es un sistema de gestión de contexto de última generación para el desarrollo de software, que implementa el Protocolo de Contexto de Modelo (MCP) con técnicas avanzadas de recuperación de contexto.
El sistema opera como una aplicación Node.js con una base de código JavaScript modular, empaquetada en un solo archivo .js usando esbuild. Aprovecha TursoDB (o una base de datos SQL similar) como almacenamiento persistente para todo el contexto, metadatos y registros opcionales de un proyecto específico.
Diferenciadores Clave:
- Recuperación No Vectorial: La recuperación de contexto utiliza análisis sofisticado de palabras clave, grafos de relaciones y metadatos estructurados en lugar de embeddings vectoriales
- Diseño Centrado en el Proyecto: Cada instancia del servidor está dedicada a un solo proyecto, simplificando la gestión de datos
- Dependencias Mínimas: Restringido a lo esencial - SDK de MCP, cliente de TursoDB y análisis AST ligero
- Comprensión Jerárquica: El contexto se comprende desde la estructura del repositorio hasta los niveles de función/variable
- Priorización Inteligente de Contexto: Puntuación de relevancia multifactorial basada en actualidad, importancia, relaciones y enfoque del desarrollador
Componentes Principales
Procesamiento de Texto
- Tokenización consciente del lenguaje con manejo especializado para JavaScript/TypeScript, Python, Java, C#, Ruby y Go
- Extracción de palabras clave con ponderación específica del lenguaje
- N-gramas que respetan límites semánticos
- Detección de modismos específicos del lenguaje
Gestión de Contexto
- Indexación de entidades de código y seguimiento de relaciones
- Segmentación de temas de conversación y detección de propósito
- Registro de eventos de línea de tiempo y capturas de hitos
- Predicción de áreas de enfoque basada en la actividad del desarrollador
Reconocimiento de Patrones
- Identificación y almacenamiento de patrones de código
- Aprendizaje automático de patrones a partir de ejemplos
- Promoción de patrones entre sesiones
- Detección de patrones de diseño
Análisis de Intención y Relevancia
- Predicción de intención de consulta
- Priorización de contexto multifactorial
- Gestión de presupuesto de tokens
- Integración de contexto entre cambios de tema
Herramientas MCP
DevContext implementa las siguientes herramientas MCP que pueden ser invocadas por el IDE Cursor:
initialize_conversation_context
Inicializa una nueva sesión de conversación con contexto integral del proyecto.
Cuándo usar: Al inicio de cada conversación, exactamente una vez.
Parámetros clave:
initialQuery: El primer mensaje o pregunta del usuariocontextDepth: Profundidad de contexto mínima, estándar o integralincludeArchitecture: Si se debe incluir contexto arquitectónicofocusHint: Enfoque opcional en una entidad de código específica
Devuelve: ID de conversación y resumen de contexto inicial
update_conversation_context
Actualiza el contexto activo con nuevos mensajes y cambios de código.
Cuándo usar: Después de cambios de código o intercambio de nuevos mensajes.
Parámetros clave:
conversationId: ID de initialize_conversation_contextnewMessages: Nuevos mensajes intercambiados desde la última actualizacióncodeChanges: Archivos de código creados o modificadospreserveContextOnTopicShift: Si se debe mantener el contexto durante cambios de tema
Devuelve: Enfoque actualizado e información de continuidad del contexto
retrieve_relevant_context
Recupera fragmentos de contexto relevantes para una consulta específica.
Cuándo usar: Cuando se necesita contexto específico del proyecto.
Parámetros clave:
conversationId: ID de initialize_conversation_contextquery: Pregunta específica sobre el proyectoconstraints: Filtros opcionales para tipos de entidad, rutas de archivo, etc.weightingStrategy: Cómo priorizar los resultados
Devuelve: Fragmentos de contexto relevantes con explicaciones
record_milestone_context
Registra hitos de desarrollo significativos para referencia futura.
Cuándo usar: Después de completar funciones importantes, corregir errores críticos o tomar decisiones arquitectónicas.
Parámetros clave:
conversationId: ID de initialize_conversation_contextname: Nombre de hito corto y descriptivodescription: Explicación detalladamilestoneCategory: Categoría (función, corrección de errores, refactorización, etc.)assessImpact: Si se debe analizar el impacto
Devuelve: ID de hito y evaluación de impacto
finalize_conversation_context
Concluye una conversación, extrayendo aprendizajes y sugiriendo próximos pasos.
Cuándo usar: Al final de cada conversación, exactamente una vez.
Parámetros clave:
conversationId: ID de initialize_conversation_contextextractLearnings: Si se deben identificar y extraer aprendizajespromotePatterns: Si se deben promover patrones al repositorio globalgenerateNextSteps: Si se deben sugerir acciones de seguimiento
Devuelve: Resumen de conversación, aprendizajes extraídos y próximos pasos
Arquitectura de Datos
DevContext utiliza una base de datos SQL (TursoDB) con las siguientes tablas principales:
- code_entities: Almacena código indexado de archivos, funciones, clases, etc.
- entity_keywords: Mapea palabras clave a entidades de código para búsqueda
- code_relationships: Rastrea relaciones entre entidades de código
- conversation_history: Almacena mensajes de conversación
- conversation_topics: Segmenta conversaciones en temas coherentes
- timeline_events: Registra eventos significativos de desarrollo
- project_patterns: Almacena patrones de código identificados
- focus_areas: Rastrea la atención e intención del desarrollador
El esquema de la base de datos se crea y mantiene automáticamente por el servidor.
Especificaciones Técnicas
- Node.js: Versión 18.0.0 o superior requerida
- Base de datos: TursoDB (o SQLite compatible)
- Empaquetado: ESBuild para implementación de archivo único
- Protocolo: Protocolo de Contexto de Modelo vía @modelcontextprotocol/sdk
- Análisis: Análisis AST de JavaScript ligero (acorn)
- Sistemas operativos: Multiplataforma (Windows, macOS, Linux)
Consideraciones de Rendimiento
DevContext está optimizado para el rendimiento con:
- Consultas SQL eficientes con indexación adecuada
- Caché en memoria para datos de acceso frecuente
- Actualizaciones incrementales para minimizar el procesamiento
- Operaciones asíncronas para ejecución sin bloqueo
- Recuperación de contexto adaptativa según el presupuesto de tokens
- Tareas en segundo plano programadas durante períodos de inactividad
Para bases de código grandes (>100,000 LOC), la indexación inicial puede tardar varios minutos, pero las operaciones posteriores siguen siendo rápidas y receptivas.
Seguridad
- Base de datos aislada: Cada proyecto utiliza una instancia de base de datos dedicada
- Credenciales seguras: Las credenciales de TursoDB se gestionan mediante variables de entorno
- Validación de entradas: Todas las entradas se validan con esquemas Zod
- Consultas parametrizadas: Protección contra inyección SQL
- Sin APIs externas: Todo el procesamiento ocurre localmente
Solución de problemas
Problemas comunes y soluciones:
- Errores de conexión: Verifique las credenciales de TursoDB y la URL de la base de datos
- Inicio inicial lento: Normal para bases de código grandes; los inicios posteriores son más rápidos
- Contexto faltante: Revise el presupuesto de tokens; aumente si es necesario
- Errores de herramientas: Asegúrese de que se esté pasando el ID de conversación correcto entre las herramientas
- Problemas de rendimiento: Considere reducir el alcance de los archivos indexados o aumentar el tamaño de la caché
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.
DevContext: Contexto Continuo para Progreso Continuo