AGE-MCP-Server
by rioriost
AGE-MCP-Server is a server that allows you to interact with Apache AGE, a PostgreSQL graph database extension, through Claude and Visual Studio Code. It enables querying and manipulating graph data within these environments.
Last updated: N/A
AGE-MCP-Server
License
Python
Apache AGE MCP Server
Apache AGE™ is a PostgreSQL Graph database compatible with PostgreSQL's distributed assets and leverages graph data structures to analyze and use relationships and patterns in data.
Azure Database for PostgreSQL is a managed database service that is based on the open-source Postgres database engine.
Introducing support for Graph data in Azure Database for PostgreSQL (Preview).
Table of Contents
- Prerequisites
- Install
- Usage with Claude
- Usage with Visual Studio Code Insiders
- Write Operations
- Release Notes
- For More Information
- License
Prerequisites
- Python 3.13 and above
- This module runs on psycopg
- Enable the Apache AGE extension in your Azure Database for PostgreSQL instance. Login Azure Portal, go to 'server parameters' blade, and check 'AGE" on within 'azure.extensions' and 'shared_preload_libraries' parameters. See, above blog post for more information.
- Load the AGE extension in your PostgreSQL database.
CREATE EXTENSION IF NOT EXISTS age CASCADE;
- Claude Download from Claude Desktop Client or,
brew install claude
- Visual Studio Code Insiders Download from Visual Studio Code or,
brew intall visual-studio-code
Install
- with brew
brew tap rioriost/age-mcp-server
brew install age-mcp-server
- with uv
uv init your_project
cd your_project
uv venv
source .venv/bin/activate
uv add age-mcp-server
- with python venv on macOS / Linux
mkdir your_project
cd your_project
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install age-mcp-server
- with python venv on Windows
mkdir your_project
cd your_project
python -m venv venv
.\venv\Scripts\activate
python -m pip install age-mcp-server
Usage with Claude
-
on macOS
claude_desktop_config.json
is located in~/Library/Application Support/Claude/
. -
on Windows You need to create a new
claude_desktop_config.json
under%APPDATA%\Claude
. -
Homebrew on macOS
Homebrew installs age-mcp-server
into $PATH.
{
"mcpServers": {
"age-manager": {
"command": "age-mcp-server",
"args": [
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password",
]
}
}
}
- uv / Pyhon venv
On macOS:
{
"mcpServers": {
"age-manager": {
"command": "/Users/your_username/.local/bin/uv",
"args": [
"--directory",
"/path/to/your_project",
"run",
"age-mcp-server",
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password",
]
}
}
}
On Windows:
{
"mcpServers": {
"age-manager": {
"command": "C:\\Users\\USER\\.local\\bin\\uv.exe",
"args": [
"--directory",
"C:\\path\\to\\your_project",
"run",
"age-mcp-server",
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password",
]
}
}
}
If you need to hide the password or to use Entra ID, you can set --pg-con-str
as follows.
{
"mcpServers": {
"age-manager": {
...
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username",
...
]
}
}
}
And, you need to set PGPASSWORD
env variable, or to install Azure CLI and sign into Azure with your Azure account.
After saving claude_desktop_config.json
, start Claude Desktop Client.

Show me graphs on the server

Show me a graph schema of FROM_AGEFREIGHTER

Pick up a customer and calculate the amount of its purchase.

Find another customer buying more than Lisa

OK. Please make a new graph named MCP_Test

Make a node labeled 'Person' with properties, name=Rio, age=52

Please make an another node labeled 'Company' with properties, name=Microsoft

Can you put a relation, "Rio WORK at Microsoft"?

Delete the graph, MCP_Test

Claude on Windows
Usage with Visual Studio Code
After installing, [Preferences]->[Settings] and input mcp
to [Search settings].

MCP Settings in Preferences
Edit the settings.json as followings:
{
"mcp": {
"inputs": [],
"servers": {
"age-manager": {
"command": "/Users/your_user_name/.local/bin/uv",
"args": [
"--directory",
"/path/to/your_project",
"run",
"age-mcp-server",
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password",
"--debug"
]
}
}
}
}
And then, you'll see start
to start the AGE MCP Server.
Switch the Chat window to agent
mode.

VSCode Agent
Now, you can play with your graph data via Visual Studio Code!

VSCode Agent
Write Operations
AGE-MCP-Server prohibits write operations by default for safety. If you want to enable write operations, you can use the --allow-write
flag.
{
"mcpServers": {
"age-manager": {
"command": "age-mcp-server",
"args": [
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password",
"--allow-write"
]
}
}
}
Release Notes
0.2.9 Release
- Dependency Update
0.2.8 Release
- Add support for VSCode(Stable)
0.2.7 Release
- Add support for VSCode Insiders
0.2.6 Release
- Fix a typo
0.2.5 Release
- Support connection with Entra ID
0.2.4 Release
- Dependency Update
0.2.3 Release
- Dependency Update
0.2.2 Release
- Drop a conditional test of
CREATE
operation by addingRETURN
to the description forwrite-age-cypher
tool.
0.2.1 Release
- Fix a bug in node/edge creation
0.2.0 Release
- Add multiple graph support
- Add graph creation and deletion support
- Obsolete
--graph-name
argument
0.1.8 Release
- Add
--allow-write
flag
0.1.7 Release
- Add Windows support
0.1.6 Release
- Fix parser for
RETURN
values
0.1.5 Release
- Draft release
0.1.4 Release
- Draft release
0.1.3 Release
- Draft release
0.1.2 Release
- Draft release
0.1.1 Release
- Draft release
0.1.0a1 Release
- Draft release
For More Information
- Apache AGE : https://age.apache.org/
- GitHub : https://github.com/apache/age
- Document : https://age.apache.org/age-manual/master/index.html
License
MIT License