AgentXM

pg.ddx.io: the PostgreSQL community's memory

mcp remote · streamable-http · v2026.10.22 · source: crawl

https://pg.ddx.io/mcp

Every PostgreSQL mailing list since 1991, linked to the commits, code, commitfest and docs.

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 1212 ms · p95 1336 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'pg.ddx.io'
tools_listed15pass126 tools
schema_complete15pass125 of 126 tools have a description and a typed schema
latency_p5010passp50 1212 ms
latency_p955passp95 1336 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failget_attachment: base64 payload
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (126)

NameDescriptionSchema
animal_owner_contributionsAnimals run by one owner: list, branches each tracks, last status, first_seen_at and elapsed days since first observation.typed
blame_symbolShow the commit history that modified a symbol's file, filtered to the symbol's line range.typed
get_entryOne 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 getyped
get_execution_flowsTrace execution flow paths through the call graph from entry points.typed
get_impactAnalyze the impact of modifying a symbol: risk level, blast radius, affected communities and execution flows.typed
get_inbox_infoGet metadata for an inbox (name, addresses, message count, last activity)typed
animal_historyRun timeline for one animal. Filterable by branch and start cutoff; ordered newest first.typed
retrieve_contextSTART 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 32typed
browse_by_dateBrowse threads within a specific date range. Useful for exploring what was discussed during a particular time period.typed
build_status_freshnessMost recent :entry/last-build-at observation across all entries. Use to detect a stalled cfbot scraper.typed
buildfarm_overviewHigh-level buildfarm health: animal count, recent run counts, currently-failing animals, top owners, OS / branch breakdown, and freshness.typed
check_upstream_statusCheck whether a pull request has been merged upstream. Returns the latest patch series head commit and any merge information.typed
code_index_statusGet code indexing statistics: files indexed, symbol counts by kind and language, edge count, community count.typed
codebase_mapGet a directory-level overview of the codebase showing file counts and symbol counts per directory.typed
commit_buildfarm_statusBuildfarm 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} roltyped
commit_historyEverything 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,typed
commitfest_statsOverview of all indexed commitfests: count by status, top contributors (entries authored), distinct people / commitfests / entries totals.typed
contribution_summarySummary 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 ttyped
detect_changesDetect which symbols changed between two commits by comparing file content hashes.typed
discussion_linksDiscussion / 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 annountyped
embedding_statusGet embedding coverage statistics: how many messages have embeddings, which model was used, and when embeddings were last generated.typed
entry_branchesRepository branches tracked for a commitfest entry. Joins commitfest.entry_repos with ag_repositories so callers see repo name + branch_name + is_authoritative.typed
entry_historyStatus 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 (precisetyped
find_breaksAnimals 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 ordetyped
find_contributionsFind 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.typed
find_dead_codeFind functions/methods with zero incoming call graph edges (potentially unused code).typed
find_entries_for_authorFind commitfest entries where the given person is an author. Looks up by email (exact) or by name (substring, case-sensitive).typed
find_entries_for_threadFind commitfest entries linked to a pgsql-hackers thread by Message-ID. (Returns empty until the mailing-list cross-reference scrape lands; the index attribute :entry/thread-message-id is in the schemtyped
find_entries_with_failures_onCross-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 antyped
find_failing_patchesCommitfest 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-rtyped
find_failing_runsMost recent failing buildfarm runs across the entire fleet. Filterable by branch and start cutoff. Use to answer 'what is broken right now?'typed
find_passing_long_pendingGreen 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.typed
find_patches_by_platform_statusPatches that pass on some platforms but not others. Example: passing on linux but failing on macos -> portability bug.typed
find_patternSearch for a regex pattern in code symbol bodies. Uses trigram indexes for acceleration.typed
find_rebase_needed_patchesEntries cfbot reports as no longer applying to master tip (:entry/applies-cleanly is false). These need an author rebase.typed
find_related_discussionsFind 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 typed
find_similar_messagesFind messages similar to a given message using its embedding vector. Useful for finding related discussions or duplicate threads.typed
get_animalProfile of one buildfarm animal: hardware/OS/compiler/owner, branches tracked, last build status, plus the last 20 runs (any branch).typed
get_attachmentThe 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 btyped
get_author_messagesFind messages by a specific author, optionally filtered by date range. Uses the f: (from) search prefix.typed
get_calleesFind all symbols that the given symbol calls/references (forward call graph).typed
get_callersReverse 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 expansiotyped
get_commitfestGet a single commitfest with entries grouped by status and the top contributors (authors with the most entries).typed
get_communitiesList Louvain community clusters detected in the call graph. Communities group related symbols by functional area.typed
get_communityGet details and member symbols for a specific community.typed
get_contributorA 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 comtyped
get_contributor_historyShow all past mailing list submissions by a contributor (matched by email address or name).typed
get_dependentsGet transitive dependents: all symbols in the blast radius if this symbol changes.typed
get_doc_pageOne 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) wityped
get_inbox_statsReturn aggregate statistics about an inbox: message counts by time period, top authors, and activity trends.typed
get_inbox_summaryPer-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).typed
get_messageOne 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 ptyped
get_message_headersGet email headers as structured key/value pairs. Returns all headers or a specific header by name.typed
get_message_referencesDiscover 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.typed
get_new_messagesReturn 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 cutyped
get_patch_branchesGet the git branches created from a patch series. Shows what branches were applied from email patches for code intelligence analysis.typed
get_patch_build_historyBuild matrix for one entry: per-platform/config status, log URL, observation time, applies-cleanly flag, rollup.typed
get_patch_seriesGet patch submission history for a forge pull request URL. Returns all iterations submitted to the mailing list.typed
get_raw_messageGet the complete raw RFC 822 email bytes for a message. Useful for agents that need to parse headers/structure themselves or forward messages.typed
get_repo_sync_statsGet commit frequency analysis and sync statistics for a repository. Returns median commit interval, recommended poll frequency, and recent fetch log.typed
get_repository_summaryPer-repository summary: total commits, top 10 contributors, branches, language breakdown (from indexed symbols), and a sampled most-touched-paths list.typed
get_signatureGet the function/method signature and doc comment for a symbol.typed
get_source_infoDetail for a single source by name, the same row list_sources returns. Returns kind, item_count, last_update, next_sync, freshness_status, and description.typed
get_symbolGet full details for a code symbol by its qualified name, including source code, signature, documentation, and file location.typed
get_tests_forFind test symbols that reference the given symbol.typed
get_threadA 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 pattyped
get_thread_referencesCross-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.typed
get_wiki_historyGet revision history for a wiki page.typed
get_wiki_pageOne 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 oldetyped
git_analyze_activityShow commit activity over time, bucketed by period. Useful for understanding development pace and trends.typed
git_analyze_authorsGet commit statistics per author: total commits, first and last commit dates. Ranked by commit count.typed
git_analyze_bus_factorIdentify files with the fewest distinct authors (bus factor risk). Files modified by only one person are knowledge silos.typed
git_analyze_churnIdentify the most frequently modified files in the repository. High-churn files may indicate hotspots or unstable code.typed
git_analyze_couplingFind files that are frequently changed together. Logical coupling can reveal hidden dependencies between components.typed
git_analyze_hotspotsAggregate file churn by directory to find the most actively changed areas of the codebase.typed
git_blameFile 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 atyped
git_diffTwo 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) contentyped
git_logCommit 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 1typed
git_searchSearch 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 (40typed
git_show_fileRead 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;typed
history-ofOne-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 typed
hybrid_searchMailing-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, mtyped
hybrid_search_codeCombined keyword + semantic code search using Reciprocal Rank Fusion. Requires embeddings to be generated.typed
list_animalsList 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).typed
list_branchesList tracked branches for a repository, including head commit and default branch status.typed
list_commitfestsList PostgreSQL commitfests indexed in the mentat triple store. Each commitfest carries a status (:open / :in-progress / :closed) and an entry count grouped by status.typed
list_contributorsList PostgreSQL community contributors aggregated across git trailers (Reviewed-by, Tested-by, etc.), commit author/committer headers, and buildfarm animal owners. Sorted by total contributions descentyped
list_discord_channelsList monitored Discord channels with message counts.typed
list_doc_versionsList available documentation versions with page counts.typed
list_entriesList commitfest entries (proposed patch series). Filterable by status, commitfest number, or topic; paginated.typed
list_inboxesList 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 typed
list_projectsList bridge-configured projects linking a forge repository to a mailing list inbox.typed
list_recentList recent messages from an inboxtyped
list_repositoriesList all registered git repositories with name, branch, commit_count, file_count, indexed-symbol_count, latest_commit, last_fetched_at, and import_state. Optional min_commits and branch filters; limittyped
list_sourcesEvery 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 documentatityped
list_threadsBrowse recent threads (topic-level view). Returns thread summaries with message counts, date ranges, and latest message metadata.typed
recent_commitfest_activityRolling window of commitfest entries updated in the last N days. Returns the entries plus a status histogram. Uses the relational commitfest.entries table for predictable latency.typed
search_commitfestFull-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. Webseatyped
release_contributorsTop contributors per role for one release. Scope: canonical authoritative repos only (ag_repositories.is_authoritative = TRUE). Returns top 20 per role across authored / reviewed / tested / reported /typed
repository_statsGet detailed statistics for a git repository including commit count, file count, branch, and import state.typed
searchKeyword 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:typed
search-regexFull-text search across mailing list messages using POSIX regex patterns. Supports edit-distance fuzzy matching via the `k` parameter (0 = exact regex, >=1 = up to k insertions/deletions/substitutionstyped
search_all_sourcesUnified search across all document sources (docs, wiki, and email). Returns results ranked by relevance. Search operators (site:, after:, before:, from:, link:, /regex/ ...) are applied per source; optyped
search_discord_topicsFind PostgreSQL Discord discussions semantically related to a query. Returns only the channel, approximate date range, and participants of relevant conversations — never message content or links (per typed
search_docsFull-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 givtyped
search_patchesFind patch series by parsing [PATCH v2 3/7]-style subject prefixes. Returns structured patch metadata including version, sequence, total, and series grouping. complete=false when it ran out of budget_typed
search_symbolsFind 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. Eactyped
search_wikiFull-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_typed
semantic_searchSearch messages on every list (or the lists in inbox) by semantic similarity using vector embeddings; each result names its inbox. Returns messages most similar in meaning to the query text. Requires typed
semantic_search_codeSearch code symbols by semantic similarity using vector embeddings. Requires embeddings.typed
symbols_in_fileList all code symbols defined in a file, ordered by line number.typed
regex_search_codeRegular-expression search of the CURRENT source only (HEAD of master for postgres, the default branch elsewhere), like `git grep -E` with grep's line semantics: ^ and $ anchor at line starts and ends,typed
grep_repositoryLiteral-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 typed
find_string_literalsFind occurrences of a literal in current (HEAD) source, restricted to a syntactic kind: "strings" (inside double quotes), "comments" (after // or /*), or "all".typed
upcoming_eventsPostgreSQL community events in a date window: conferences, PGDays, meetups, online events, Call for Papers and registration deadlines, conference talks (with speakers and their pg.ddx.io person hash),typed
calendar_feedsList every pg.ddx.io calendar feed (iCalendar URLs) with event counts: all events, regions, countries, conference series, the PostgreSQL release cycle, teams and organisations.typed
combine_calendarsCombine 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>, httpstyped
cross_referenceWhat 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 feattyped
whats_newCatch 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}]), incomplete
code_searchSearch 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 PostgreStyped
read_fileRead 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_typed
list_filesList 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 filttyped
blamePer-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/retyped
get_commitOne 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 typed
search_commitsSearch 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, commityped
get_ontologyWhat 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 typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-ddx-pg-archive-streamable-http.svg)](https://app.agent-xm.com/a/io-ddx-pg-archive-streamable-http)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.