LabscoMCP early access ↗
rioriostMCP SERVER

Apache AGE MCP Server

Query Apache AGE graphs in PostgreSQL with Cypher — read-only unless you deliberately start it otherwise.

by rioriost ↗NoSQL, Graph & Key-Value StoresCommunity

LABSCO SUMMARY

Every limit is stated, and most of them are set low on purpose.

Read pages hold at most 50 rows, cursors carry a maximum offset of 100,000, statements time out after 30 seconds by default, and queries are capped at 100,000 characters with one explicit RETURN clause per branch — RETURN * is unsupported, so list your return values. Raw database errors and query text never reach the client, which is unusual and correct. Enabling write mode does not grant privileges the database role does not already have; use a separate least-privileged role for it.

What it is

A Cypher client for Apache AGE, the graph extension for PostgreSQL. Read-only is the default: queries run inside PostgreSQL read-only transactions, parameters are bound rather than interpolated, and pages are bounded by an authenticated cursor.

What you get

  • read-age-cypher runs a validated, parameterised, paginated read-only Cypher query
  • list-age-graphs lists the graphs in the database
  • get-age-schema reports counts, edge directions and sampled property types — the orientation step before writing a query
  • Write tools are neither advertised nor accepted unless the server starts with --allow-write: write-age-cypher for a mutating clause, create-age-graph and drop-age-graph
  • Every tool returns MCP structured content, and an asynchronous connection pool sits underneath

Requirements

Python 3.13 or later, and PostgreSQL with the Apache AGE extension installed and loaded. Install the PyPI package age_mcp_server, version 0.3.0, with uv or pip, or through the author's Homebrew tap. Connect with PG_CONNECTION_STRING and keep the password out of the command line — PGPASSWORD or a PostgreSQL password file. Microsoft Entra authentication to Azure Database for PostgreSQL is available with an opt-in flag after an Azure CLI sign-in.

Setup effort

One command plus credentials — python3 -m pip install age_mcp_server, then supply credentials