Arc Memory MCP Server

Official
by Arc-Computer

Integrations

  • Provides access to Git repositories by extracting commit history, file relationships, and code modifications into a temporal knowledge graph to enable AI-assisted development with historical context.

  • Extracts data from GitHub including PRs, commits, and issues to build a comprehensive knowledge graph that enriches AI understanding of project evolution and decisions.

Servidor MCP de memoria Arc

Arc ayuda a los equipos de ingeniería a comprender el contexto y el historial de su código. Este servidor MCP permite a los asistentes de IA consultar el historial y las relaciones de su código base mediante lenguaje natural.

¿Por qué elegimos MongoDB en lugar de PostgreSQL? ¿Cómo evolucionó el sistema de autenticación con el tiempo? ¿Cuál fue la razón detrás de la arquitectura de microservicios?

Flujo de trabajo de inicio rápido

  1. Instalar dependencias
    pip install mcp arc-memory
  2. Autenticarse con GitHub
    arc auth gh
    Esto te guiará en el proceso de autenticación con GitHub. Verás un mensaje de confirmación al finalizar.
  3. Autenticar con Linear (opcional)
    arc auth linear
    Esto le guiará en el proceso de autenticación con Linear mediante OAuth 2.0. Se abrirá una ventana del navegador para que autorice a Arc Memory a acceder a sus datos de Linear. Este paso es opcional, pero se recomienda si desea incluir incidencias de Linear en su gráfico de conocimiento.
  4. Construye tu gráfico de conocimiento
    arc build
    Esto analizará tu repositorio y creará un gráfico de conocimiento local. Verás indicadores de progreso y un resumen de las entidades ingeridas al finalizar.Para incluir problemas lineales en su gráfico de conocimiento:
    arc build --linear
    Esto requiere autenticación lineal (paso 3).
  5. Configurar en Claude Desktop, VS Code Agent Mode o CursorConsulte la sección “Integración” a continuación para obtener instrucciones detalladas.

Cómo funciona Arc

Arc crea un gráfico del historial de tu código base, conectando datos estructurados de diferentes fuentes. En lugar de usar la similitud vectorial como los sistemas RAG típicos, Arc se centra en las relaciones reales entre confirmaciones, solicitudes de cambio, problemas y decisiones arquitectónicas.

La herramienta arc_search_story convierte preguntas en lenguaje natural en consultas gráficas que pueden seguir múltiples conexiones, lo que ayuda a los asistentes de IA a proporcionar respuestas basadas en el historial real de su proyecto.

Estructura del gráfico de conocimiento

Arc crea un rico gráfico de conocimiento con:

  • Entidades : PR, confirmaciones, problemas (GitHub y Linear), ADR, archivos y más
  • Relaciones : MODIFICA, MENCIONA, FUSIONA, DECIDE, IMPLEMENTA
  • Contexto temporal : cuándo ocurrieron los cambios y en qué secuencia
  • Procedencia : ¿Por qué se realizaron los cambios y quién los realizó?
  • Conexiones entre sistemas : vínculos entre los PR de GitHub y los problemas lineales

Esta estructura interconectada permite rastrear la historia completa detrás de cualquier línea de código, desde el problema inicial, pasando por decisiones arquitectónicas, hasta las solicitudes de implementación y las confirmaciones.

Por ejemplo, una ruta típica podría verse así:

Linear Issue ABC-123 (Feature Request) ↓ DECIDES Architecture Decision Record (ADR-42) ↓ IMPLEMENTS GitHub Pull Request #456 ↓ CONTAINS Commit abc123 ↓ MODIFIES File: src/auth/middleware.js

Cuando usted pregunta "¿Por qué se implementó el middleware de autenticación de esta manera?", Arc puede recorrer este camino hacia atrás para proporcionar el contexto completo.

Conexión de diferentes sistemas

El uso de GitHub y MCP lineales por separado funciona para consultas básicas, pero Arc los conecta entre sí:

  1. Datos conectados : vincula información de GitHub, Linear, Git y ADR en un gráfico
  2. Conexiones entre sistemas : muestra las relaciones entre los problemas lineales y los PR de GitHub
  3. Rutas de varios pasos : sigue cadenas de conexiones que las llamadas API independientes pasarían por alto
  4. Contexto basado en el tiempo : Mantiene cuándo sucedieron las cosas en diferentes sistemas
  5. Resultados estructurados : devuelve rutas que los asistentes de IA pueden usar para explicar las relaciones

Preguntas de ejemplo

Razonamiento arquitectónico y arqueología de decisiones

"What were the security considerations that led to our current authentication architecture?" "Why did we migrate from monolith to microservices in Q3 2022, and what were the tradeoffs?" "What performance issues drove the switch from Redis to our custom caching solution?" "How did our API design evolve after the major outage last year?"

Análisis de impacto entre sistemas

"Which backend services were affected by the payment processing refactoring?" "What downstream components depend on the authentication middleware we're planning to change?" "How many different teams' code would be impacted if we deprecate the legacy API?" "What parts of our infrastructure were modified to address the rate limiting issues?"

Deuda técnica y prevención de regresiones

"What previous attempts have we made to fix the intermittent test failures in the CI pipeline?" "Which PRs have touched this fragile payment processing code in the last 6 months?" "What was the root cause analysis of our last three production incidents?" "Which architectural decisions have we revisited multiple times, suggesting design instability?"

Transferencia de conocimientos e incorporación

"What's the complete history of our authentication system from initial design to current implementation?" "Who are the domain experts for each component of our data processing pipeline?" "What were the key design decisions made before I joined the team that explain our current architecture?" "What's the context behind this complex caching logic that no one seems to understand anymore?"

Herramientas disponibles

  • arc_search_story : Consulta de gráficos en lenguaje natural para preguntas de múltiples saltos
  • arc_trace_history : rastrea el historial de decisiones de una línea específica en un archivo
  • arc_get_entity_details : recupera información detallada sobre una entidad específica
  • arc_find_related_entities : encuentra entidades conectadas directamente a una entidad determinada
  • arc_blame_line : obtiene el SHA de confirmación específico, el autor y la fecha de una línea

Instalación

# Install dependencies pip install mcp arc-memory # Clone the repository git clone https://github.com/Arc-Computer/arc-mcp-server.git cd arc-mcp-server # Install the server pip install -e .

Configuración

  1. Autenticarse con GitHub (si tiene credenciales OAuth de GitHub)
    arc auth gh
  2. Construye tu gráfico de conocimiento
    arc build
    Esto crea un grafo a partir de tu repositorio Git local, incluyendo confirmaciones, archivos, solicitudes de cambio, incidencias y sus relaciones. La base de datos se almacena en ~/.arc/graph.db .

Integración

Escritorio de Claude

  1. Abra su archivo de configuración:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la configuración del servidor:
    { "mcpServers": { "arc-memory": { "command": "python", "args": ["/absolute/path/to/src/arc_mcp_server.py"] } } }
  3. Reiniciar Claude Desktop

Modo de agente de VS Code

  1. Instalar la extensión VS Code Agent Mode
  2. Configure el servidor MCP en la configuración de VS Code:
    "anthropic.agent-mode.mcp.servers": { "arc-memory": { "command": "python", "args": ["/absolute/path/to/src/arc_mcp_server.py"] } }

Cursor

  1. Abra la configuración del cursor y navegue hasta la configuración de IA
  2. Configurar el servidor MCP (similar a la configuración de VS Code)
  3. Reiniciar cursor

Documentación de herramientas

historia de búsqueda de arco

Consulta de gráficos en lenguaje natural para preguntas de múltiples saltos.

Parámetros:

  • question : La pregunta en lenguaje natural que debemos hacer
  • max_depth (opcional): profundidad máxima para el recorrido del gráfico (valor predeterminado: 3)
  • max_results (opcional): Número máximo de resultados a devolver (predeterminado: 100)

Devoluciones:

{ "path": [ {"id": "pr:42", "type": "pr", "title": "Add new feature", "depth": 0}, {"id": "adr:123", "type": "adr", "title": "Architecture decision", "depth": 1}, {"id": "issue:456", "type": "issue", "title": "Feature request", "depth": 2} ], "meta": { "query_depth": 3, "sql": "/* The SQL query used for debugging */" } }

Cómo los asistentes de IA utilizan estos datos

Cuando un desarrollador pregunta "¿Por qué migramos de Redis a nuestra solución de almacenamiento en caché personalizada?", el asistente de IA puede usar los datos de la ruta estructurada para crear una respuesta como esta:

La migración de Redis a nuestra solución de almacenamiento en caché personalizada en julio de 2023 estuvo impulsada por tres factores clave:

  1. Cuellos de botella de rendimiento : el problema lineal PERF-387 documentó problemas de agrupación de conexiones de Redis durante el tráfico pico, lo que provocó el 30 % de los picos de latencia observados en el segundo trimestre de 2023. El equipo de Plataforma lo priorizó como P0 después de la interrupción de junio.
  2. Limitaciones arquitectónicas : El ADR-29 (autor: Sarah Chen) detalla cómo el modelo de un solo subproceso de Redis no pudo gestionar eficientemente nuestros crecientes patrones de escritura concurrente, en particular para el servicio de catálogo de productos. Este ADR hace referencia al problema ARCH-42 de Linear, donde se plantearon las preocupaciones iniciales.
  1. Consideraciones de costos : El PR #1204 de GitHub incluyó resultados de referencia que muestran que la solución personalizada redujo los costos de infraestructura en un 42% y mejoró la latencia p99 en 150 ms. Este PR se vinculó con el problema COST-56 de Linear de la iniciativa de optimización de costos del tercer trimestre.

La migración se implementó en 7 PR de GitHub, principalmente por el equipo de Infraestructura, con los cambios más significativos en los servicios de inventario y pago. Inicialmente, hubo inquietudes sobre la consistencia de los datos (planteadas por Alex Kim en el PR n.° 1209), que se solucionaron añadiendo el protocolo de confirmación en dos fases documentado en ADR-31.

La solución personalizada ha sido estable desde su implementación, con solo dos incidentes menores (registrados en Linear como INC-45 e INC-52) relacionados con casos extremos de invalidación de caché, ambos resueltos en el PR de GitHub n.° 1567 de seguimiento.

La respuesta incluye:

  • Información de diferentes fuentes (problemas lineales, PR de GitHub, ADR, incidentes)
  • Métricas y mediciones específicas
  • Nombres de las personas involucradas y sus roles
  • La secuencia de eventos y detalles técnicos
  • Problemas que surgieron y sus soluciones
  • ¿Qué pasó después?

Esto funciona porque Arc conecta información entre diferentes sistemas que normalmente estarían separados.

Casos de uso comunes

1. Incorporación de nuevos miembros al equipo

Cuando nuevos desarrolladores se unen a un equipo, pueden hacer preguntas sobre códigos y sistemas desconocidos para comprender el contexto y el razonamiento detrás de las implementaciones.

2. Prevención de regresiones

Antes de realizar cambios en sistemas complejos o críticos, los desarrolladores pueden explorar el historial de problemas anteriores, los enfoques que no funcionaron y el razonamiento detrás de la implementación actual.

3. Toma de decisiones arquitectónicas

Al considerar cambios en la arquitectura, los equipos pueden analizar el historial de decisiones relacionadas, comprender qué se intentó antes y por qué se eligieron ciertos enfoques.

4. Refactorización de código heredado

Al trabajar con código antiguo que carece de documentación, los desarrolladores pueden rastrear sus orígenes, comprender su propósito e identificar sus dependencias antes de realizar cambios.

Desarrollo futuro

Los planes futuros para Arc incluyen:

  • Ejecución de simulaciones ligeras en relaciones públicas para identificar posibles problemas
  • Detección de vulnerabilidades de seguridad y riesgos de deuda técnica
  • Construcción de un modelo causal del comportamiento del sistema a lo largo del tiempo
  • Agregar los resultados de la simulación nuevamente al gráfico de conocimiento

Licencia

Licencia MIT

¿Necesitar ayuda?

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un puente que expone el contexto estructurado y verificable y las capacidades de consulta de un gráfico de conocimiento temporal local a agentes de IA compatibles con MCP, lo que les permite acceder al historial y las relaciones explícitas del proyecto en lugar de solo al contenido semántico.

  1. Flujo de trabajo de inicio rápido
    1. Cómo funciona Arc
      1. Estructura del gráfico de conocimiento
      2. Conexión de diferentes sistemas
    2. Preguntas de ejemplo
      1. Razonamiento arquitectónico y arqueología de decisiones
      2. Análisis de impacto entre sistemas
      3. Deuda técnica y prevención de regresiones
      4. Transferencia de conocimientos e incorporación
    3. Herramientas disponibles
      1. Instalación
        1. Configuración
          1. Integración
            1. Escritorio de Claude
            2. Modo de agente de VS Code
            3. Cursor
          2. Documentación de herramientas
            1. historia de búsqueda de arco
            2. Cómo los asistentes de IA utilizan estos datos
          3. Casos de uso comunes
            1. 1. Incorporación de nuevos miembros al equipo
            2. 2. Prevención de regresiones
            3. 3. Toma de decisiones arquitectónicas
            4. 4. Refactorización de código heredado
          4. Desarrollo futuro
            1. Licencia
              1. ¿Necesitar ayuda?

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Allows Claude or other MCP-compatible AI assistants to search the web and get up-to-date information using the Perplexity API, with features for filtering results by time period.
                  Last updated -
                  8
                  Python
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  An MCP server that enables AI models to retrieve information from Ragie's knowledge base through a simple 'retrieve' tool.
                  Last updated -
                  1
                  50
                  4
                  JavaScript
                  MIT License
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.
                  Last updated -
                  32
                  80
                  5
                  TypeScript
                  MIT License
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  An MCP server that enables AI assistants to interact with the Plane project management platform, allowing them to manage workspaces, projects, issues, and comments through a structured API.
                  Last updated -
                  JavaScript

                View all related MCP servers

                ID: 8nuwfkmoxy