age-mcp
MCP server for Apache AGE graph databases.
Lets AI assistants (Claude, ChatGPT, Copilot) query and mutate graph data via the Model Context Protocol. Built with F# on .NET 10 – 1,300 lines, 21 tools, zero Python dependencies.
What is age-mcp?
age-mcp is an MCP server that gives AI assistants direct access to Apache AGE graph databases running on PostgreSQL. Instead of writing Cypher queries manually, you describe what you want in natural language and the AI calls the right tools automatically.
Features
- 21 MCP tools – graph CRUD, Cypher queries, search, export/import, visualization, semantic search, Graph RAG
- Data-compatible with agemcp (Python) – same tenant prefix, same property schema, no migration needed
- Sub-millisecond metadata queries – cached
list_graphsandget_schemarespond in ~100 ns - Transactional batch operations –
upsert_graphruns all mutations in a single transaction - Vector search – pgvector-backed
semantic_searchandgraph_context(Graph RAG) with any OpenAI-compatible embedding API - Interactive visualization –
generate_visualizationproduces standalone vis.js HTML - dotnet tool – install globally with
dotnet tool install, no build required
Quick Start
# Start PostgreSQL + Apache AGE
docker compose up -d
# Install the MCP server
dotnet tool install --global AgeMcp
# Run
export AGE_CONNECTION_STRING="Host=localhost;Port=5435;Database=agemcp;Username=agemcp;Password=agemcp"
age-mcp
Then add to your Claude Desktop or Claude Code config:
{
"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"
}
}
}
}
Use Cases
- Knowledge graphs – build and query knowledge bases from AI conversations
- People & org charts – model teams, roles, and relationships
- Project tracking – link tasks, dependencies, and milestones in a graph
- RAG with graph context – semantic search over vertices + N-hop neighbor expansion for richer LLM context
- Data exploration – ask questions about existing graph data in natural language