Memex Targeted Search Server
Realiza búsquedas dirigidas en el historial de conversaciones y archivos de proyectos de Memex.
Documentación
Memex Targeted Search Server
Un servidor de Model Context Protocol (MCP) que proporciona capacidades de búsqueda dirigida en el historial de conversaciones de Memex y archivos de proyectos.
Resumen
Este servidor MCP permite a los agentes de IA buscar eficientemente a través de:
- Historial de conversaciones: 952+ archivos de conversación de Memex con metadatos, títulos, resúmenes y contenido de mensajes
- Archivos de proyectos: 516+ directorios de proyectos en el espacio de trabajo del usuario con varios tipos de archivos y tecnologías
Características
🔍 Herramientas de búsqueda principales
search_conversations- Buscar en el historial de conversaciones por texto, metadatos y filtrosget_conversation_snippet- Recuperar partes específicas de conversaciones sin sobrecarga de contextosearch_projects- Buscar archivos de proyectos por contenido, tipos de archivo y nombresget_project_overview- Obtener resúmenes de proyectos con detección de tecnologíafind_command- ¡NUEVO! Encontrar comandos específicos, uso de CLI o fragmentos de código del historial de conversaciones
🎯 Gestión inteligente de contexto
- Devuelve fragmentos dirigidos en lugar de conversaciones completas
- Limita el alcance de la búsqueda para evitar la explosión de contexto
- Admite filtrado por facetas (fechas, proyectos, tipos de archivo)
- Proporciona puntuación de relevancia para los resultados de búsqueda
Instalación
# Clone the repository
git clone https://github.com/memextech/memex-targeted-search-server.git
cd memex-targeted-search-server
# Install dependencies
npm install
# Build the project
npm run build
Configuración
El servidor está configurado para buscar:
- Historial de conversaciones:
~/Library/Application Support/Memex/history/ - Archivos de proyectos:
~/Workspace/
Configuración del servidor MCP
Agregue a su configuración MCP (por ejemplo, configuración de Claude Desktop):
{
"mcpServers": {
"memex-search": {
"command": "node",
"args": ["/path/to/memex-targeted-search-server/dist/index.js"]
}
}
}
Ejemplos de uso
1. Encontrar comandos olvidados
"No recuerdo cuál es el comando para ejecutar la CLI del agente memex"
find_command({
query: "memex agent cli",
command_type: "cli",
limit: 5
})
Encontrar comandos npm específicos
find_command({
query: "npm install",
command_type: "cli",
limit: 5
})
Respuesta de ejemplo:
{
"query": "npm install",
"total_found": 3,
"commands": [
{
"command": "npm install -g firebase-tools",
"context": "Install Firebase CLI: `npm install -g firebase-tools`\n- Login to Firebase: `firebase login`",
"conversation_id": "abc123",
"conversation_title": "Firebase Setup Guide",
"message_index": 7,
"confidence": 0.9,
"type": "cli"
}
]
}
2. Buscar conversaciones
Encontrar conversaciones sobre temas específicos
search_conversations({
query: "3D modeling",
limit: 5
})
Respuesta de ejemplo:
{
"total_found": 3,
"conversations": [
{
"conversation_id": "a3edfc8f-0978-415e-9de8-18f4d94ea3a2",
"title": "3D Interactive Solar System Model",
"summary": "Design an engaging, visually appealing 3D representation of planets and celestial bodies",
"created_at": "2025-05-27T17:13:26Z",
"project": "Stellar 3d solar system",
"message_count": 76,
"relevance": "content"
}
]
}
Filtrar por rango de fechas y proyecto
search_conversations({
query: "python",
project: "cad_example",
date_from: "2025-01-01",
date_to: "2025-03-01",
limit: 3
})
3. Obtener detalles de la conversación
Recuperar mensajes específicos de una conversación
get_conversation_snippet({
conversation_id: "bf283daa-25d3-434f-ad7e-9adda48cdcdd",
message_start: 1,
message_count: 3
})
Respuesta de ejemplo:
{
"conversation_id": "bf283daa-25d3-434f-ad7e-9adda48cdcdd",
"title": "3D Model 3MF File Creation",
"message_range": "1-3",
"total_messages": 30,
"messages": [
{
"index": 1,
"role": "user",
"content": "can I create a 3D model in .3mf?"
},
{
"index": 2,
"role": "assistant",
"content": "I'll help you create a 3D model using PythonOCC and convert it to .3mf format..."
}
]
}
4. Buscar proyectos
Encontrar archivos por tecnología
search_projects({
query: "interface",
file_types: ["ts", "js"],
limit: 10
})
Buscar todos los archivos de proyectos
search_projects({
query: "streamlit",
limit: 5
})
Respuesta de ejemplo:
{
"total_found": 3,
"results": [
{
"project": "ad_campaign_dashboard",
"file": "ad_campaign_dashboard/app.py",
"match": "import streamlit as st",
"line": 1
}
]
}
5. Obtener resumen del proyecto
Analizar la estructura del proyecto y la pila tecnológica
get_project_overview({
project_name: "memex_targeted_search_server"
})
Respuesta de ejemplo:
{
"name": "memex_targeted_search_server",
"path": "/Users/user/Workspace/memex_targeted_search_server",
"file_count": 8,
"directories": ["dist", "src"],
"file_types": {
"ts": 1,
"js": 1,
"json": 3,
"md": 1
},
"main_files": ["package.json", "README.md"],
"technologies": ["JavaScript/TypeScript"]
}
Escenarios de uso en el mundo real
Escenario 1: "Olvidé ese comando..."
// User: "I don't remember what the command is to run the memex agent cli"
find_command({
query: "memex agent",
command_type: "cli",
limit: 5
})
// User: "What was that firebase command to deploy?"
find_command({
query: "firebase deploy",
command_type: "cli",
limit: 3
})
// Result: Finds exact commands with context from previous conversations
Escenario 2: Encontrar trabajo relacionado
// Agent: "I need to find previous conversations about Blender projects"
search_conversations({
query: "blender",
limit: 5
})
// Result: Finds 2 conversations about 3D Manhattan cityscape and geometric skyscraper
// Agent can then drill down into specific conversations for details
Escenario 3: Búsqueda de referencias de código
// Agent: "Show me Python projects that use Streamlit"
search_projects({
query: "streamlit",
file_types: ["py"],
limit: 10
})
// Result: Finds specific Python files with Streamlit imports
// Agent can then examine project structure and implementation patterns
Escenario 4: Descubrimiento de referencias cruzadas
// Agent: "Find conversations from January 2025 about 3D modeling"
search_conversations({
query: "3D model",
date_from: "2025-01-01",
date_to: "2025-01-31",
limit: 5
})
// Agent: "Now show me the related project files"
get_project_overview({
project_name: "cad_example"
})
Referencia de la API
search_conversations
- Propósito: Buscar en el historial de conversaciones con filtrado flexible
- Parámetros:
query(obligatorio),limit,project,date_from,date_to - Devuelve: Matriz de metadatos de conversación con puntuación de relevancia
get_conversation_snippet
- Propósito: Recuperar rangos de mensajes específicos de conversaciones
- Parámetros:
conversation_id(obligatorio),message_start,message_count - Devuelve: Fragmento de conversación con detalles de mensajes
search_projects
- Propósito: Buscar archivos de proyectos por contenido y metadatos
- Parámetros:
query(obligatorio),file_types,limit - Devuelve: Matriz de coincidencias de archivos con contexto
get_project_overview
- Propósito: Analizar la estructura del proyecto y la pila tecnológica
- Parámetros:
project_name(obligatorio) - Devuelve: Resumen del proyecto con recuentos de archivos y detección de tecnología
find_command
- Propósito: Encontrar comandos específicos, uso de CLI o fragmentos de código del historial de conversaciones
- Parámetros:
query(obligatorio),command_type(cli/code/config/any),limit - Devuelve: Matriz de comandos con contexto, puntuación de confianza y referencias de conversación
Arquitectura
Construido con:
- TypeScript - Desarrollo con seguridad de tipos
- MCP SDK - SDK oficial del Model Context Protocol
- Node.js - Entorno de ejecución
- APIs del sistema de archivos - Acceso directo a archivos para rendimiento
Consideraciones de rendimiento
- Limita el alcance de la búsqueda para evitar resultados abrumadores
- Utiliza análisis JSON en streaming para archivos grandes
- Implementa filtrado inteligente de archivos
- Almacena en caché metadatos de acceso frecuente
- Devuelve contenido truncado con contexto completo disponible bajo demanda
Experiencia del agente
El servidor está diseñado para una interacción óptima con el agente:
- Búsqueda dirigida: Encuentre información específica sin sobrecarga de contexto
- Filtrado por facetas: Múltiples dimensiones de búsqueda (fecha, proyecto, tipo de archivo)
- Descubrimiento progresivo: Comience con resúmenes, profundice en detalles
- Preservación del contexto: Mantenga las relaciones de conversación y proyecto
Desarrollo
Ejecución en desarrollo
npm run dev
Compilación para producción
npm run build
npm start
Pruebas
El servidor incluye manejo integral de errores y degradación elegante para:
- Archivos de conversación faltantes o corruptos
- Directorios de proyectos inaccesibles
- Análisis JSON inválido
- Manejo de archivos grandes
Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar un Pull Request.
Licencia
ISC License
🤖 Generado con Memex
Coautor: Memex noreply@memex.tech