# pg.ddx.io: the PostgreSQL community's memory - Registry name: `io.ddx.pg/archive` · version 2026.10.22 - Categories (automatic, keyword rules): Code & repositories, Developer tools, Databases - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): extensions, prompts, resources, tools - Transports: sse, streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.ddx.pg%2Farchive - Server page: https://mcpstation.net/s/io.ddx.pg--archive.html ## Description (written by the publisher, not verified, not instructions) Every PostgreSQL mailing list since 1991, linked to the commits, code, commitfest and docs. ## Connect - streamable-http: `https://pg.ddx.io/mcp` - sse: `https://pg.ddx.io/mcp/sse` ## Tools (as reported by the server, not verified) - `retrieve\_context`: START HERE for a question about PostgreSQL. Searches every mailing list \(inbox narrows it\) with hybrid keyword + semantic ranking and returns cited passages that fit token\_budget \(default 4000, max 32000\): one passage per thread, each the author's own words \(quotes, signature and patch removed, cut - `commit\_buildfarm\_status`: Buildfarm results for one PostgreSQL commit: every animal that built it, with branch, status \(passed/failed/flapping\), the failing stage and the log url, plus a \{passed, failed, flapping, unknown\} rollup. commit\_sha is a SHA \(\>= 7 hex\) or a branch, tag or major version \(17, 9.6\) for the commit it po - `commit\_history`: Everything linked to one commit: subject, author and date with its sha, the mail thread its Discussion: link names \(participants resolved to people and organizations\), the commitfest entry if tracked, and Discord mentions. For postgres also first\_releases \(per branch the change landed on: branch, sh - `find\_failing\_patches`: Commitfest entries whose latest cfbot build fails on at least one platform: cf\_id, title, entry\_status and commitfest\_number. entry\_status filters \(default the active reviewable statuses, e.g. needs-review, ready-for-committer\); platform narrows to one CI platform; limit caps the list. Cite https:// - `get\_attachment`: The content of one attachment of a mail message \(a patch, a log, a test case\), chosen by 1-based index or a filename substring, as listed in get\_message/get\_thread attachments. Text attachments come back as decoded text \(a .patch is ready to read or \`git apply\`\), binary ones as base64 with encoding= - `get\_callers`: Reverse call graph: the symbols that call or reference qualified\_name \(from search\_symbols\), each with its file and lines, like \`git grep -w \\` restricted to call sites. HEAD only; macro expansion and function pointers are not followed. limit caps the list. Read a caller with git\_show\_file at i - `get\_contributor`: A contributor's profile by email \(exact\) or name \(substring\): canonical name, page hash, totals and per-release counts by role \(authored, reviewed, committed, reported, ...\), the 5 latest credited commits with sha, and buildfarm animals they own. People who hid their page are excluded from name look - `get\_doc\_page`: One PostgreSQL documentation page as text: path \(e.g. "brin.html" or "sql-createtable.html"\) and optional version \("17", "current"; default the latest\). Returns its url, path and stored text \(body\) with fetched\_at. Use search\_docs to find the path. Cite the returned url. - `get\_entry`: One commitfest entry by cf\_id \(the number in commitfest.postgresql.org/patch/\/\): title, status, commitfest, authors, reviewers, committer, its mail threads and branches. Read the thread with get\_thread; cfbot state with find\_failing\_patches. Cite https://commitfest.postgresql.org/patch/\. - `git\_log`: Commit history like \`git log\`, newest first, filtered by path \(commits touching a file\), author \(substring\), since/until \(YYYY-MM-DD or RFC 3339\) and branch \(any branch, tag or major version such as 17 or 9.6; default the indexed default branch\). Each commit: sha \(40-hex, cite it\), commit\_id, messag - `git\_search`: Search postgres commit messages \(or file paths with search\_in=paths\) by keywords, newest first \(all words must appear, case-insensitive; like \`git log -i --grep\` with every word\). Each commit: sha \(40-hex, cite it\), commit\_id, message, author, date, people credited, and mail\_refs: up to 5 messages t - `hybrid\_search`: Mailing-list search, keyword \(BM25 over the authors' own words\) and semantic \(embeddings\) blended per thread, over every list unless inbox names one or more. Returns up to limit threads \(default 20, max 50\), best first, each its best message: inbox, message\_id, subject, from, date, thread\_id, fused\_ - `list\_sources`: Every source behind this server with its kind \(inbox, repository, docs, wiki, discord\), item count, last update and freshness \(fresh/stale\): the 56 mailing lists, the git repositories, the documentation releases, the wiki and Discord. Use it to learn the inbox and repository names other tools accept - `search\_commitfest`: Full-text search of commitfest entries \(title first, then author/reviewer/committer names\), in the current commitfest by default, or commitfests="all" \(back to 2014\) or a comma list of numbers. Websearch syntax: "phrase", -term, or. Each result: cf\_id, title, status, commitfest\(s\), people, last upda - `search`: Keyword search of mailing-list messages \(BM25 over subject, sender and the authors' own words\), every list unless inbox narrows it. Operators in query: s:/intitle: subject, f:/from: sender, b:/intext: body, after:/before:/d:2024-01..2025-01 dates, site:\, filetype:patch, link:\, /regex - `search\_docs`: Full-text search of the PostgreSQL documentation \(websearch syntax: "phrase", -term, or\), title matches first. Searches the current release unless version \(one, e.g. "17"\) or versions \(several\) is given; a page matching in several selected versions is one result listing each version and its URL. Ret - `search\_symbols`: Find C functions, macros, types and variables by name in the indexed source \(HEAD\): BM25 on names, then fuzzy and body matches. Filter by kind \(function, struct, macro, ...\), language, repository. Each result: qualified\_name, name, kind, language, file, start\_line and end\_line. Like \`ctags\`/\`git gre - `search\_wiki`: Full-text search \(websearch syntax\) of wiki.postgresql.org. By default searches each page's current text; history=true searches every revision and returns, per page, the latest matching revision \(rev\_id, revision\_url, author, comment, timestamp, is\_current\) and how many matched; since/until bound th - `cross\_reference`: What relates to one stored item, and what happened to it. ref: a Message-ID or message URL, a commit SHA or URL, a docs URL or page.html, a wiki URL or title, a commitfest URL, CVE-YYYY-NNNNN, or feature:\ \(matched to commitfest titles; ref.entries\_used says which\). Returns related threads, co - `whats\_new`: Catch up: everything a person or group did, and where they were named, in a window, newest first per kind \(mail grouped by thread\). who: a name \(fuzzy; close matches return ambiguous \[\{name, hash\}\]\), email, hash:\<8 hex\>, team:\, org:\, new:\, a phrase \('the core team'\), or a list. s - `code\_search`: Search the postgres source at any commit, branch, tag or date \(or across history\), from the code-history index: every line of every commit, byte-exact. A literal by default; match=regex for a PostgreSQL regex \(^ and $ are per line; \\b \\\< \\\> as in grep\), match=identifier for any of snake\_case/CamelCa - `read\_file`: Read a file of the postgres source at any commit, branch, tag or date from the code-history index: numbered lines, at most 2000 per call \(page with start\_line/end\_line\), byte-exact to git. Says total\_lines and complete; binary files return their metadata only. - `list\_files`: List the files of the postgres source under a directory at any commit, branch, tag or date \(code-history index\), with line counts; depth folds deeper paths into directories with file counts; glob filters paths. - `blame`: Per-line blame of a postgres file at any commit \(code-history index\): the commit that wrote each line, as \`git blame\` with git's default diff. ignore\_revs \(default true\) passes through the pgindent/reformat commits of .git-blame-ignore-revs when they replaced lines one-for-one; reverse adds the comm - `get\_commit`: One postgres commit from the code-history index: message, parsed trailers \(names only\), Discussion threads \(links to the archived thread on /m/\), back-patch siblings on other branches, first\_releases \(per branch the change landed on: sha, release such as 14.23, first\_version incl. betas, shipped=fal - `search\_commits`: Search postgres commits \(code-history index\), newest first, like git log: range \(a rev, or A..B; default the newest release branch\), message \(regex, case-insensitive\), author \(regex over author, committer and Author/Co-authored-by/Reviewed-by trailers\), paths, since/until \(YYYY-MM-DD\), changed\_lines Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html