Apache AGE MCP

We need to translate the given text from English to Brazilian Portuguese. The text describes an MCP server for Apache AGE graph databases. We must preserve product names, protocol names, URLs, numbers, technical terms. Do not add any extra commentary, labels, or formatting. The target language is Português (BR). The name "Apache AGE MCP" is in the source but we are told not to include the name unless it appears in the source text. The source text starts with "MCP server for Apache AGE graph databases on PostgreSQL." So the name "Apache AGE" appears there. We should translate the rest but keep "Apache AGE" and "MCP" as is. Also keep "PostgreSQL", "Cypher", "Graph RAG", "vis.js", "F#/.NET", "dotnet", "BenchmarkDotNet", "NuGet", "MIT", "neftedollar.com/age-mcp". Numbers: 21, 62 ns, 1 ms. Also keep "CRUD", "Cypher queries", "batch

Documentação

age-mcp

Servidor MCP para bancos de dados de grafos Apache AGE. Permite que assistentes de IA (Claude, ChatGPT, Copilot, etc.) consultem e modifiquem dados de grafos via o Model Context Protocol.

Construído com F# no .NET 10 — 1.300 linhas, 21 ferramentas, zero dependências Python.

Início 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"
      }
    }
  }
}

Ferramentas (21)

Gerenciamento de Grafos

FerramentaDescrição
get_or_create_graphObtém ou cria um grafo por nome
list_graphsLista todos os grafos (escopo por tenant)
drop_graphsRemove um ou mais grafos

Vértices e Arestas

FerramentaDescrição
upsert_vertexInsere ou atualiza um vértice (merge por ident)
upsert_edgeInsere ou atualiza uma aresta direcionada
upsert_graphUpsert em lote de vértices + arestas (transacional)
drop_vertexRemove um vértice e todas as suas arestas
drop_edgeRemove uma aresta por ident

Consulta

FerramentaDescrição
cypher_queryExecuta uma consulta Cypher de leitura
cypher_writeExecuta uma consulta Cypher de escrita, retorna contagem afetada
search_verticesBusca por label e/ou propriedade
search_edgesBusca arestas por label
get_neighborsTravessia de N saltos (1-5 saltos, direcional)
get_schemaTodos os labels de nós e contagens

Exportar / Importar

FerramentaDescrição
export_graphExporta grafo como JSON
import_graphImporta de JSON (cria grafo se necessário)

Visualização e Busca

FerramentaDescrição
generate_visualizationGrafo HTML interativo com vis.js
semantic_searchBusca por similaridade vetorial (pgvector)
graph_contextGraph RAG: sementes semânticas + expansão de N saltos

Ponte OpenBrain

FerramentaDescrição
sync_to_openbrainExporta vértices como memórias OpenBrain
import_from_openbrainConstrói grafo a partir de memórias OpenBrain

Configuração

VariávelObrigatóriaPadrãoDescrição
AGE_CONNECTION_STRINGsimbanco de teste localString de conexão Npgsql
TENANT_IDnãodefaultPrefixo de tenant para nomes de grafos
EMBEDDING_API_URLnão--API de embeddings compatível com OpenAI
EMBEDDING_API_KEYnão--Chave de API para embeddings
EMBEDDING_MODELnãotext-embedding-3-smallNome do modelo de embeddings
EMBEDDING_DIMENSIONSnão384Dimensões do vetor

Docker

A configuração Docker incluída executa PostgreSQL 17 + Apache AGE 1.6.0 + pgvector:

docker compose up -d

Versões e credenciais são configuráveis via .env (veja .env.example):

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

Compatibilidade de Dados

Projetado como substituto direto do agemcp (Python). Mesmo prefixo de tenant (t_{TENANT_ID}__), mesma propriedade ident de vértice, mesmas propriedades start_ident/end_ident de aresta. Dados existentes funcionam sem migração.

Desempenho

BenchmarkDotNet no Apple M1 Pro, .NET 10.0.5:

OperaçãoLatênciaMemória Alocada
list_graphs62 ns216 B
get_schema117 ns344 B
cypher_query (1 vértice)1,0 ms58 KB
search_vertices1,0 ms36 KB
get_neighbors (profundidade=1)92 ms233 KB
export_graph (40 entidades)71 ms472 KB

Compilando a partir do Código-Fonte

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

Dependências (FsMcp.Core, FsMcp.Server, Fyper) são restauradas automaticamente do NuGet.

Licença

MIT