Published prices and licence fit for email verification, sound effect packs and font licences.
Developer ToolsCommunication & messaging
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 96 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · Communication & messaging
Every PostgreSQL mailing list since 1991, linked to the commits, code, commitfest and docs.
1 failed · 8 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Responded
The server completed its last measured handshake. This is an observation, not a guarantee.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 0 | 0 | 4 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 3 | 1 | 2 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using pg.ddx.io: the PostgreSQL community's memory
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http pg-ddx-io-the-postgresql-community-s-memory https://pg.ddx.io/mcpCapabilities
Showing 100 of 126 tools.
Run timeline for one animal. Filterable by branch and start cutoff; ordered newest first.
DiscoveredAnimals run by one owner: list, branches each tracks, last status, first_seen_at and elapsed days since first observation.
DiscoveredPer-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 commit that removed each line later on the version's branch. At most 2000 lines per call; commits lists author, date and subject per short sha. proposals=true adds, per line, the earliest posted patch (Message-ID, date) on its commit's threads that added it; proposals_complete=false when the window spans more than 10 commits (those with the most lines are read). Lines under 4 characters or without a letter or digit get none. Not the same as git_blame, which returns a file's commit history.
DiscoveredShow the commit history that modified a symbol's file, filtered to the symbol's line range.
DiscoveredBrowse threads within a specific date range. Useful for exploring what was discussed during a particular time period.
DiscoveredMost recent :entry/last-build-at observation across all entries. Use to detect a stalled cfbot scraper.
DiscoveredHigh-level buildfarm health: animal count, recent run counts, currently-failing animals, top owners, OS / branch breakdown, and freshness.
DiscoveredList every pg.ddx.io calendar feed (iCalendar URLs) with event counts: all events, regions, countries, conference series, the PostgreSQL release cycle, teams and organisations.
DiscoveredCheck whether a pull request has been merged upstream. Returns the latest patch series head commit and any merge information.
DiscoveredGet code indexing statistics: files indexed, symbol counts by kind and language, edge count, community count.
DiscoveredSearch 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/CamelCase/UPPER spellings. File sets agree with `git grep -l` at the same commit. Results name the resolved sha and ref. complete=false means the totals are lower bounds (cut says why). With history (all | <rev> | A..B) it returns every matching line any commit in the range had, with the commit that added it and the one that removed it.
DiscoveredGet a directory-level overview of the codebase showing file counts and symbol counts per directory.
DiscoveredCombine several pg.ddx.io calendar feeds into ONE subscription. Give feed paths or URLs as listed by calendar_feeds (e.g. events/region/europe, series/pgconf-eu, teams/committers, people/<8hex>, https://pg.ddx.io/cal/orgs/edb.ics; 1-200). Returns the combined feed's hash, canonical feed list, https url and webcal url. The same selection always yields the same URL.
DiscoveredBuildfarm 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 points at. Cite the commit SHA and the log urls.
DiscoveredEverything 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, sha, release e.g. 14.23 or null when unreleased, first_version incl. betas, shipped=false when it was reverted before that release), reverted_by (the commits that revert it, each with its own reverted_by) and reverts, read from git tags and commit messages, never guessed. commit_id takes a SHA (>= 7 hex), branch, tag, major version (17, 9.6), <ref>~N or a commit_id from another tool; repository defaults to postgres. The diff itself is not included (git_diff, or git_show_file for one file). Cite the sha and the thread's https://postgr.es/m/<message_id>.
DiscoveredOverview of all indexed commitfests: count by status, top contributors (entries authored), distinct people / commitfests / entries totals.
DiscoveredSummary of contribution counts per release: unique people, distinct commits, role breakdown (count(DISTINCT commit_sha) per role, canonical authoritative repos only), and revert-commit count. Powers the /community hero strip.
DiscoveredWhat 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:<words> (matched to commitfest titles and to the subjects of the postgres commits that introduce it; ref.entries_used and ref.commits_used say which; a name nothing matches gives empty results, not an error). Returns related threads, commits (with releases and reverted_by), docs, wiki pages, commitfest entries and people, each with why, strongest first: explicit links, shared identifiers, then similar topic. For a postgres commit, thread, entry or feature, timeline says which release shipped it and whether it was reverted or back-patched: status plus dated events (first post, commitfest listings, commits with branch and first release, reverts), each with its source url. kinds narrows; limit_per_kind (default 5, max 25). ~3 s budget: late parts go in timed_out. For feature:<words> and commitfest entries, graph lists the stored design-history features (status, the one release it shipped in, decisions, positions), each fact with confidence, source and evidence; "probably" below 0.8, facts below 0.5 left out. Same as GET /api/v2/related.
DiscoveredDetect which symbols changed between two commits by comparing file content hashes.
DiscoveredDiscussion / Closes / Fixes / Backpatch-through trailers attached to one commit. Returns the raw trailer text and any URL extracted. For the messages those links resolve to, plus the committers announcement and messages citing the SHA, use git_search (mail_refs on each result).
DiscoveredGet embedding coverage statistics: how many messages have embeddings, which model was used, and when embeddings were last generated.
DiscoveredRepository branches tracked for a commitfest entry. Joins commitfest.entry_repos with ag_repositories so callers see repo name + branch_name + is_authoritative.
DiscoveredStatus changes for a commitfest entry across commitfests. The relational table doesn't carry an audit log, so we approximate the patch's lifeline by joining on shared :entry/thread-message-id (precise) and falling back to title-prefix substring (weak).
DiscoveredAnimals that failed on a branch within the time window bounded by two commit SHAs. The window is defined by the earliest started_at observed for either SHA on that branch — not by git topological order, since the buildfarm tables don't carry commit ordering.
DiscoveredFind raw contribution rows for one person: git commit SHAs / buildfarm animals tagged with a role + release. Useful for drill-down on a contributor's recent work.
DiscoveredFind functions/methods with zero incoming call graph edges (potentially unused code).
DiscoveredFind commitfest entries where the given person is an author. Looks up by email (exact) or by name (substring, case-sensitive).
DiscoveredFind commitfest entries linked to a pgsql-hackers thread by Message-ID. Resolves any Message-ID in the thread to the entries whose commitfest page links it.
DiscoveredCross-domain feed: recent failed buildfarm runs for a named animal, plus commitfest entries with cfbot :failing rollups whose tracked branches overlap the animal's. Note: buildfarm runs commit SHAs and cfbot runs cf/<id> branches, so this verb correlates by branch overlap and time window — not by direct schema join.
DiscoveredCommitfest 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://commitfest.postgresql.org/patch/<cf_id>/.
DiscoveredMost recent failing buildfarm runs across the entire fleet. Filterable by branch and start cutoff. Use to answer 'what is broken right now?'
DiscoveredGreen patches stuck in review: entries whose builds pass on every platform yet whose :entry/last-updated is older than N days. Useful for the 'why isn't this committed yet?' question.
DiscoveredPatches that pass on some platforms but not others. Example: passing on linux but failing on macos -> portability bug.
DiscoveredSearch for a regex pattern in code symbol bodies. Uses trigram indexes for acceleration.
DiscoveredEntries cfbot reports as no longer applying to master tip (:entry/applies-cleanly is false). These need an author rebase.
DiscoveredFind mailing list messages related to a commit, topic, or PR. A postgres commit SHA (7-40 hex) returns the mail that refers to that commit (match_mode commit): its Discussion: threads first, then the committers announcement, then messages citing the hash, each with how_it_refers. Anything else searches subject and Message-ID fields via case-insensitive substring; if that returns no hits and an embedding provider is configured, falls back to semantic search across all inboxes.
DiscoveredFind messages similar to a given message using its embedding vector. Useful for finding related discussions or duplicate threads.
DiscoveredFind occurrences of a literal in current (HEAD) source, restricted to a syntactic kind: "strings" (inside double quotes), "comments" (after // or /*), or "all".
DiscoveredProfile of one buildfarm animal: hardware/OS/compiler/owner, branches tracked, last build status, plus the last 20 runs (any branch).
DiscoveredThe 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=base64; size is the decoded byte count. Cite the message as https://postgr.es/m/<message_id>.
DiscoveredFind messages by a specific author, optionally filtered by date range. Uses the f: (from) search prefix.
DiscoveredFind all symbols that the given symbol calls/references (forward call graph).
DiscoveredReverse call graph: the symbols that call or reference qualified_name (from search_symbols), each with its file and lines, like `git grep -w <name>` 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 its line.
DiscoveredOne 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=false when reverted before that release; null release = not yet released), reverted_by and reverts, posted_patch (of the patch mails on its Discussion threads up to its commit date, the one whose changed lines match the commit's best: message_id, date, subject, from, score 0-1, url; null when none shares at least 0.2), files changed with line counts, and its diff rendered from the index (at most 3000 lines; diff_complete says whether it was cut). Accepts a SHA (7+ hex), branch, tag or any version form.
DiscoveredGet a single commitfest with entries grouped by status and the top contributors (authors with the most entries).
DiscoveredList Louvain community clusters detected in the call graph. Communities group related symbols by functional area.
DiscoveredGet details and member symbols for a specific community.
DiscoveredA 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 (commit_sha = the git SHA, roles = every role they had in it), and buildfarm animals they own. People who hid their page are excluded from name lookups. For what they did recently use whats_new. Cite https://pg.ddx.io/community/<hash>.
DiscoveredShow all past mailing list submissions by a contributor (matched by email address or name).
DiscoveredGet transitive dependents: all symbols in the blast radius if this symbol changes.
DiscoveredOne 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.
DiscoveredOne commitfest entry by cf_id (the number in commitfest.postgresql.org/patch/<cf_id>/): 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/<cf_id>/.
DiscoveredTrace execution flow paths through the call graph from entry points.
DiscoveredAnalyze the impact of modifying a symbol: risk level, blast radius, affected communities and execution flows.
DiscoveredGet metadata for an inbox (name, addresses, message count, last activity)
DiscoveredReturn aggregate statistics about an inbox: message counts by time period, top authors, and activity trends.
DiscoveredPer-inbox summary: total messages, top 10 posters, thread count, date range, and lifetime average messages/day (total messages divided by the days spanned by the archive).
DiscoveredOne mail message by Message-ID: headers, in_reply_to/references, decoded body text (by default the author's own words: quoted replies and their attributions, forwarded or Outlook-quoted mail, inline patches, diffstats and the signature removed; full_text=true for everything, quotes included), attachments [{index, filename, content_type, size}] and has_patch. quotes checks citations: each comes back with own_words (in the author's own text, whitespace-normalized) and in_message (anywhere, quoted text included); with include_body=false only the verdicts return. Never raw MIME: get_attachment returns an attachment's content, get_raw_message the RFC 822 source. Finds the list itself unless inbox is given. Cite as https://postgr.es/m/<message_id>.
DiscoveredGet email headers as structured key/value pairs. Returns all headers or a specific header by name.
DiscoveredDiscover cross-references in a message. Returns explicit References/In-Reply-To headers plus any Message-IDs found in the body text, with archive lookup for each.
DiscoveredReturn messages newer than a given article number cursor, enabling agents to poll for new messages without re-scanning. Use after=0 for the first call, then use the returned last_article_num as the cursor for subsequent calls.
DiscoveredWhat this server knows and which tool reads it: every kind of fact (person, membership, roster, commitfest entry, feature, decision, position, ...) with its attributes, value types, cardinality, docs and counts, and which kinds refer to which; the design-history graph's relations (thread DISCUSSES feature, decision DECIDES feature, person HOLDS position ABOUT feature, ...), sources (git, commitfest, rule, operator, model) and confidence rules (shown at 0.8 and above, "probably" from 0.5, hidden below; models capped at 0.9); the tables the tools read; and what is loaded (commits, tags, entries). Call it first to learn what can be asked. No arguments. Same as GET /api/v2/ontology.
DiscoveredGet the git branches created from a patch series. Shows what branches were applied from email patches for code intelligence analysis.
DiscoveredBuild matrix for one entry: per-platform/config status, log URL, observation time, applies-cleanly flag, rollup.
DiscoveredGet patch submission history for a forge pull request URL. Returns all iterations submitted to the mailing list.
DiscoveredGet the complete raw RFC 822 email bytes for a message. Useful for agents that need to parse headers/structure themselves or forward messages.
DiscoveredGet commit frequency analysis and sync statistics for a repository. Returns median commit interval, recommended poll frequency, and recent fetch log.
DiscoveredPer-repository summary: total commits, top 10 contributors, branches, language breakdown (from indexed symbols), and a sampled most-touched-paths list.
DiscoveredGet the function/method signature and doc comment for a symbol.
DiscoveredDetail for a single source by name, the same row list_sources returns. Returns kind, item_count, last_update, next_sync, freshness_status, and description; for a postgresql.org list also poll: the list poller's p_new (probability of mail we lack since its last poll), due, next_poll, factors and the last poll's outcome.
DiscoveredGet full details for a code symbol by its qualified name, including source code, signature, documentation, and file location.
DiscoveredFind test symbols that reference the given symbol.
DiscoveredA mail thread, found by any Message-ID in it, oldest first. Each message: from, to, cc, date, message_id, decoded body text (by default the author's own words: quoted replies, signature and inline patch removed; full_text=true for the whole decoded text; never raw MIME), attachments [{index, filename, content_type, size}] and has_patch. Paged: 20 messages per call (limit max 500; offset/next_offset/has_more); bodies capped at max_body_chars (default 4000; 0 = no cap; body_truncated marks a cut). include_bodies=false gives a cheap outline. Finds the list itself unless inbox is given. Cite as https://postgr.es/m/<message_id>.
DiscoveredCross-reference graph for an entire thread. Collects all Message-IDs referenced in body text across all messages in the thread and resolves which other threads they point to.
DiscoveredGet revision history for a wiki page.
DiscoveredOne wiki.postgresql.org page by title: its latest revision content with author and date. Titles are as on the wiki ("Don't Do This", "Todo"). Use search_wiki to find a title, get_wiki_history for older revisions. Cite https://wiki.postgresql.org/wiki/<title>.
DiscoveredShow commit activity over time, bucketed by period. Useful for understanding development pace and trends.
DiscoveredGet commit statistics per author: total commits, first and last commit dates. Ranked by commit count.
DiscoveredIdentify files with the fewest distinct authors (bus factor risk). Files modified by only one person are knowledge silos.
DiscoveredIdentify the most frequently modified files in the repository. High-churn files may indicate hotspots or unstable code.
DiscoveredFind files that are frequently changed together. Logical coupling can reveal hidden dependencies between components.
DiscoveredAggregate file churn by directory to find the most actively changed areas of the codebase.
DiscoveredFile version history, not a per-line blame: the commits that changed a file on the history of a commit (like `git log <rev> -- <path>`), newest first, each with sha, commit_id, author, date, summary and status (added/modified/deleted). Renames are not followed. Up to `limit` commits (default 100, max 1000); has_more says there are older ones.
DiscoveredTwo modes: (1) commit-range mode — pass base_branch and head_branch to get the list of commits unique to head_branch (set difference base..head), optionally filtered by author/message/path; (2) content-diff mode — pass from_commit and to_commit to compute file-level unified diffs between two specific commits.
DiscoveredCommit 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, message (subject for a branch log), author and dates. limit default 50, max 200; offset pages; has_more. repository defaults to postgres.
DiscoveredSearch 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 that refer to it {inbox, message_id, subject, url, how_it_refers: discussion-trailer, committers-announcement or mentions-hash}. repository defaults to postgres; limit default 50, max 200. Details with commit_history.
DiscoveredRead a file at any commit, branch, tag or major version (like `git show <rev>:<path>`), from the git clone. commit takes a SHA (>= 7 hex), branch, tag, 17 or 9.6, <ref>~N or a commit_id; default HEAD; an unknown name or path is an error, never a silent HEAD. Returns at most 2000 lines per call: start_line/end_line pick the range, total_lines gives the length and cut=true says more follow. Lines are numbered with a tab (numbered=false gives the exact bytes). Each result has sha (cite it with the path and lines) and ref. Binary files return a note instead of content.
DiscoveredLiteral-text search of the CURRENT source only (HEAD of master for postgres, the default branch elsewhere), like `git grep -F` (regex characters are escaped; case_insensitive=true for -i). Returns up to max_results files (default 50, max 500), each with repo_name, file_path, line_no and snippet (its first matching line). For any other commit, branch, tag, major version or date, for every match with context, or to search history, use code_search (version=, history=). Read a hit with read_file or git_show_file; cite path:line with the sha.
DiscoveredOne-shot historical context for CI: given content (a diff, file path, symbol, commit subject, or feature name), return the most relevant default-branch commits, the associated mailing-list discussion (message links), and the tracked people involved (community page links). Read-only; composes git history + list search.
DiscoveredMailing-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_score (0-1), similarity and a short excerpt of the author's own words. Like a ranked `git log --grep` for mail. Cite as https://postgr.es/m/<message_id>; read with get_thread or get_message (inbox from the result). author, since and until restrict both arms to one sender and a date window. Takes search's operators. Echoes operators applied, warnings for dropped ones, skipped if mail is excluded; a query that cannot run is an error. complete=false when the keyword arm ran out of budget_ms or a total is a lower bound.
DiscoveredCombined keyword + semantic code search using Reciprocal Rank Fusion. Requires embeddings to be generated.
DiscoveredList PostgreSQL buildfarm animals. Filterable by OS, branch tracked, last build status, or owner. Failing animals are returned first (sort key: last_status='failed' DESC, name ASC).
DiscoveredList tracked branches for a repository, including head commit and default branch status.
DiscoveredList PostgreSQL commitfests indexed in the mentat triple store. Each commitfest carries a status (:open / :in-progress / :closed) and an entry count grouped by status.
DiscoveredList PostgreSQL community contributors aggregated across git trailers (Reviewed-by, Tested-by, etc.), commit author/committer headers, and buildfarm animal owners. Sorted by total contributions descending. Filterable by release / role / source.
DiscoveredList monitored Discord channels with message counts.
DiscoveredList available documentation versions with page counts.
DiscoveredList commitfest entries (proposed patch series). Filterable by status, commitfest number, or topic; paginated.
DiscoveredList 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.
DiscoveredList all configured agora mailboxes with name, message_count, latest_message_date, latest_import_date, listid (when known) and description. Optional min_messages filter; limit/offset are accepted for forward compatibility.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 2228 ms | 126 |