Age_mcp_server is an MCP server that apache AGE MCP Server. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"age_manager": {
"args": [
"--pg-con-str",
"host=your_server.postgres.database.azure.com port=5432 dbname=postgres user=your_username password=your_password"
],
"command": "age_mcp_server"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
uvx 'age_mcp_server' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked age_mcp_server against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
MCP Security Weekly
Get CVE alerts and security updates for Age_mcp_server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server for querying Apache AGE graphs in PostgreSQL.
Version 0.3.0 makes read-only operation the secure default, adds asynchronous connection pooling, safe Cypher parameters and bounded cursor pagination, and returns MCP structured content from every tool.
Enable AGE in the target database:
CREATE EXTENSION IF NOT EXISTS age CASCADE;
With uv:
uv init your_project
cd your_project
uv add age_mcp_server
With a Python virtual environment:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install age_mcp_server
With Homebrew:
brew install rioriost/tap/age_mcp_server
Avoid placing a database password in command-line arguments. Supply a connection
string through PG_CONNECTION_STRING and use one of libpq's credential mechanisms,
such as PGPASSWORD or a protected PostgreSQL password file.
{
"mcpServers": {
"age_manager": {
"command": "age_mcp_server",
"env": {
"PG_CONNECTION_STRING": "host=db.example port=5432 dbname=postgres user=age_reader sslmode=require",
"PGPASSWORD": "replace-with-a-secret"
}
}
}
}
Treat the MCP client configuration as a secret if it contains PGPASSWORD. A
PostgreSQL password file or the client's secret store is preferable.
The connection string can still be supplied explicitly when necessary:
age_mcp_server --pg-con-str "host=db.example dbname=postgres user=age_reader sslmode=require"
For Microsoft Entra authentication to Azure Database for PostgreSQL, first sign in with the Azure CLI, then opt in to token acquisition:
age_mcp_server \
--pg-con-str "host=server.postgres.database.azure.com dbname=postgres user=identity sslmode=require" \
--azure-identity
Read-only mode is the default:
| Tool | Purpose |
|---|---|
read-age-cypher | Run a validated, parameterized, paginated read-only Cypher query |
list-age-graphs | List Apache AGE graphs |
get-age-schema | Inspect counts, directions, and sampled property types |
Write tools are only advertised and accepted when the server starts with
--allow-write:
| Tool | Purpose |
|---|---|
write-age-cypher | Run Cypher containing a mutating clause |
create-age-graph | Create a graph |
drop-age-graph | Permanently drop a graph |
age_mcp_server --allow-write
Use a separate, least-privileged database role for write mode. Enabling the flag does not grant PostgreSQL privileges that the configured role does not already have.
CALL is considered side-effecting and requires write mode.$parameters are accepted only when placeholder names exactly match a
JSON parameter object. The object is capped at 100,000 bytes and passed to AGE
through a prepared statement.RETURN
clause per query branch.Change the timeout when needed:
age_m
... [View full README on GitHub](https://github.com/rioriost/age_mcp_server#readme)