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
age-mcp
MCP server for Apache AGE graph databases. Lets AI assistants (Claude, ChatGPT, Copilot, etc.) query and mutate graph data via the Model Context Protocol.
Built with F# on .NET 10 -- 1,300 lines, 21 tools, zero Python dependencies.
Quick Start
# 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"
}
}
}
}
Tools (21)
Graph Management
| Tool | Description |
|---|---|
get_or_create_graph | Get or create a graph by name |
list_graphs | List all graphs (tenant-scoped) |
drop_graphs | Drop one or more graphs |
Vertices & Edges
| Tool | Description |
|---|---|
upsert_vertex | Insert or update a vertex (merge on ident) |
upsert_edge | Insert or update a directed edge |
upsert_graph | Batch upsert vertices + edges (transactional) |
drop_vertex | Remove a vertex and all its edges |
drop_edge | Remove an edge by ident |
Query
| Tool | Description |
|---|---|
cypher_query | Execute a read Cypher query |
cypher_write | Execute a write Cypher query, returns affected count |
search_vertices | Search by label and/or property |
search_edges | Search edges by label |
get_neighbors | N-hop traversal (1-5 hops, directional) |
get_schema | All node labels and counts |
Export / Import
| Tool | Description |
|---|---|
export_graph | Export graph as JSON |
import_graph | Import from JSON (creates graph if needed) |
Visualization & Search
| Tool | Description |
|---|---|
generate_visualization | Interactive vis.js HTML graph |
semantic_search | Vector similarity search (pgvector) |
graph_context | Graph RAG: semantic seeds + N-hop expansion |
OpenBrain Bridge
| Tool | Description |
|---|---|
sync_to_openbrain | Export vertices as OpenBrain memories |
import_from_openbrain | Build graph from OpenBrain memories |
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
AGE_CONNECTION_STRING | yes | localhost test DB | Npgsql connection string |
TENANT_ID | no | default | Tenant prefix for graph names |
EMBEDDING_API_URL | no | -- | OpenAI-compatible embedding API |
EMBEDDING_API_KEY | no | -- | API key for embeddings |
EMBEDDING_MODEL | no | text-embedding-3-small | Embedding model name |
EMBEDDING_DIMENSIONS | no | 384 | Vector dimensions |
Docker
The included Docker setup runs PostgreSQL 17 + Apache AGE 1.6.0 + pgvector:
docker compose up -d
Versions and credentials are configurable via .env (see .env.example):
PG_MAJOR=17 AGE_VERSION=1.6.0 DB_PORT=5435 docker compose up -d
Data Compatibility
Designed as a drop-in replacement for agemcp (Python). Same tenant prefix (t_{TENANT_ID}__), same vertex ident property, same edge start_ident/end_ident properties. Existing data works without migration.
Performance
BenchmarkDotNet on Apple M1 Pro, .NET 10.0.5:
| Operation | Latency | Allocated |
|---|---|---|
| list_graphs | 62 ns | 216 B |
| get_schema | 117 ns | 344 B |
| cypher_query (1 vertex) | 1.0 ms | 58 KB |
| search_vertices | 1.0 ms | 36 KB |
| get_neighbors (depth=1) | 92 ms | 233 KB |
| export_graph (40 entities) | 71 ms | 472 KB |
Building from Source
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
Dependencies (FsMcp.Core, FsMcp.Server, Fyper) are restored from NuGet automatically.
License
MIT
Servidores relacionados
Tabular MCP Server
An MCP server for local Tabular Models like PowerBI. It allows LLM clients to debug, analyze, and compose DAX queries by connecting to a local Tabular model instance.
MySQL
Interact with and manage MySQL databases. Requires connection details configured via environment variables.
MySQL
MySQL database integration with configurable access controls and schema inspection
CData Zoho Creator
A read-only MCP server by CData for querying live Zoho Creator data using a JDBC driver.
MCP SQLite Server
A Node.js MCP server for interacting with local SQLite databases, runnable via npx.
MySQL MCP Server
An MCP server for accessing and managing MySQL databases.
Airtable
Official Airtable MCP server, plugins, and skills. The database and operations layer for your agents — whether running product, marketing, sales, ops, HR, or a custom app.
Postgres MCP Server
Provides secure database access to PostgreSQL using the Kysely ORM.
Snowflake
Snowflake database integration with read/write capabilities and insight tracking
A-Share MCP
Provides A-share stock market data, including basic info, historical K-lines, financial indicators, and macroeconomic data using Baostock.