Apache AGE MCP

MCP server for Apache AGE graph databases on PostgreSQL. **21 MCP tools** — the most comprehensive Apache AGE MCP server (graph CRUD, Cypher queries, batch transactions, semantic search, Graph RAG, vis.js visualization, export/import) - **F#/.NET** — the only non-Python Apache AGE MCP server, installs as a single dotnet tool - **Production-grade** — BenchmarkDotNet-verified performance (cached queries in 62 ns, Cypher in 1 ms) - **Open source** — MIT license, published on [NuGet](https://www.nuget.org/packages/AgeMcp) - **Documentation** — full docs site at neftedollar.com/age-mcp

Documentación

age-mcp

Servidor MCP para bases de datos de grafos Apache AGE. Permite a los asistentes de IA (Claude, ChatGPT, Copilot, etc.) consultar y modificar datos de grafos a través del Model Context Protocol.

Construido con F# en .NET 10 -- 1,300 líneas, 21 herramientas, cero dependencias de Python.

Inicio Rápido

# 1. Start the database
docker compose up -d

# 2. Install the tool
dotnet tool install --global AgeMcp

# 3. Run
AGE_CONNECTION_STRING="Host=localhost;Port=5435;Database=agemcp;Username=agemcp;Password=agemcp" age-mcp

Claude Desktop / Claude Code

{
  "mcpServers": {
    "age-mcp": {
      "type": "stdio",
      "command": "age-mcp",
      "env": {
        "AGE_CONNECTION_STRING": "Host=localhost;Port=5435;Database=agemcp;Username=agemcp;Password=agemcp",
        "TENANT_ID": "default"
      }
    }
  }
}

Herramientas (21)

Gestión de Grafos

HerramientaDescripción
get_or_create_graphObtener o crear un grafo por nombre
list_graphsListar todos los grafos (con ámbito de inquilino)
drop_graphsEliminar uno o más grafos

Vértices y Aristas

HerramientaDescripción
upsert_vertexInsertar o actualizar un vértice (fusionar por ident)
upsert_edgeInsertar o actualizar una arista dirigida
upsert_graphInserción o actualización por lotes de vértices + aristas (transaccional)
drop_vertexEliminar un vértice y todas sus aristas
drop_edgeEliminar una arista por ident

Consulta

HerramientaDescripción
cypher_queryEjecutar una consulta Cypher de lectura
cypher_writeEjecutar una consulta Cypher de escritura, devuelve el recuento de afectados
search_verticesBuscar por etiqueta y/o propiedad
search_edgesBuscar aristas por etiqueta
get_neighborsRecorrido de N saltos (1-5 saltos, direccional)
get_schemaTodas las etiquetas de nodos y recuentos

Exportar / Importar

HerramientaDescripción
export_graphExportar grafo como JSON
import_graphImportar desde JSON (crea el grafo si es necesario)

Visualización y Búsqueda

HerramientaDescripción
generate_visualizationGrafo HTML interactivo de vis.js
semantic_searchBúsqueda de similitud vectorial (pgvector)
graph_contextGraph RAG: semillas semánticas + expansión de N saltos

Puente OpenBrain

HerramientaDescripción
sync_to_openbrainExportar vértices como recuerdos de OpenBrain
import_from_openbrainConstruir grafo a partir de recuerdos de OpenBrain

Configuración

VariableRequeridoPredeterminadoDescripción
AGE_CONNECTION_STRINGbase de datos de prueba localCadena de conexión Npgsql
TENANT_IDnodefaultPrefijo de inquilino para nombres de grafos
EMBEDDING_API_URLno--API de incrustación compatible con OpenAI
EMBEDDING_API_KEYno--Clave API para incrustaciones
EMBEDDING_MODELnotext-embedding-3-smallNombre del modelo de incrustación
EMBEDDING_DIMENSIONSno384Dimensiones del vector

Docker

La configuración de Docker incluida ejecuta PostgreSQL 17 + Apache AGE 1.6.0 + pgvector:

docker compose up -d

Las versiones y credenciales son configurables mediante .env (ver .env.example):

PG_MAJOR=17  AGE_VERSION=1.6.0  DB_PORT=5435  docker compose up -d

Compatibilidad de Datos

Diseñado como reemplazo directo de agemcp (Python). Mismo prefijo de inquilino (t_{TENANT_ID}__), misma propiedad de vértice ident, mismas propiedades de arista start_ident/end_ident. Los datos existentes funcionan sin migración.

Rendimiento

BenchmarkDotNet en Apple M1 Pro, .NET 10.0.5:

OperaciónLatenciaAsignado
list_graphs62 ns216 B
get_schema117 ns344 B
cypher_query (1 vertex)1.0 ms58 KB
search_vertices1.0 ms36 KB
get_neighbors (depth=1)92 ms233 KB
export_graph (40 entities)71 ms472 KB

Compilación desde el Código Fuente

git clone https://github.com/Neftedollar/age-mcp.git
cd age-mcp
dotnet build

# Run directly
dotnet run

# Or install as tool
dotnet pack -c Release
dotnet tool install --global AgeMcp

Las dependencias (FsMcp.Core, FsMcp.Server, Fyper) se restauran automáticamente desde NuGet.

Licencia

MIT