io.ddx.pg/archive

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

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

Endpointhttps://pg.ddx.io/mcp (streamable-http)
Registry version2026.10.22
Now125 tools · grade C (75) · pin ts_5efea99fe12694b367f234e152458da6 · protocol 2025-06-18
First / last listed2026-10-28 00:31 UTC / 2026-10-28 00:31 UTC
Grade over time2026-10-28: C (75), 125 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-28 00:31 UTC
125 tools, grade C (75)

Tools: retrieve_context animal_history animal_owner_contributions blame_symbol browse_by_date build_status_freshness buildfarm_overview check_upstream_status code_index_status codebase_map commit_buildfarm_status commit_history commitfest_stats contribution_summary detect_changes discussion_links embedding_status entry_branches entry_history find_breaks find_contributions find_dead_code find_entries_for_author find_entries_for_thread find_entries_with_failures_on find_failing_patches find_failing_runs find_passing_long_pending find_patches_by_platform_status find_pattern find_rebase_needed_patches find_related_discussions find_similar_messages get_animal get_attachment get_author_messages get_callees get_callers get_commitfest get_communities get_community get_contributor get_contributor_history get_dependents get_doc_page get_entry get_execution_flows get_impact get_inbox_info get_inbox_stats get_inbox_summary get_message get_message_headers get_message_references get_new_messages get_patch_branches get_patch_build_history get_patch_series get_raw_message get_repo_sync_stats get_repository_summary get_signature get_source_info get_symbol get_tests_for get_thread get_thread_references get_wiki_history get_wiki_page git_analyze_activity git_analyze_authors git_analyze_bus_factor git_analyze_churn git_analyze_coupling git_analyze_hotspots git_blame git_diff git_log git_search git_show_file history-of hybrid_search hybrid_search_code list_animals list_branches list_commitfests list_contributors list_discord_channels list_doc_versions list_entries list_inboxes list_projects list_recent list_repositories list_sources list_threads recent_commitfest_activity search_commitfest release_contributors repository_stats search search-regex search_all_sources search_discord_topics search_docs search_patches search_symbols search_wiki semantic_search semantic_search_code symbols_in_file regex_search_code grep_repository find_string_literals upcoming_events calendar_feeds combine_calendars cross_reference whats_new code_search read_file list_files blame get_commit search_commits

Current tools (125)

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 32000): one passage per thread, each the author's own words (quotes, signature and patch removed, cut at ~1200 chars) with url, inbox, message_id, from and date. found=false with a reason when the archi
params: author, inbox, question*, since, token_budget, until
animal_historyRun timeline for one animal. Filterable by branch and start cutoff; ordered newest first.
params: branch, limit, name*, since
animal_owner_contributionsAnimals run by one owner: list, branches each tracks, last status, first_seen_at and elapsed days since first observation.
params: owner_email, owner_name
blame_symbolShow the commit history that modified a symbol's file, filtered to the symbol's line range.
params: qualified_name*, repository
browse_by_dateBrowse threads within a specific date range. Useful for exploring what was discussed during a particular time period.
params: after*, before*, inbox, limit
build_status_freshnessMost recent :entry/last-build-at observation across all entries. Use to detect a stalled cfbot scraper.
params: none
buildfarm_overviewHigh-level buildfarm health: animal count, recent run counts, currently-failing animals, top owners, OS / branch breakdown, and freshness.
params: none
check_upstream_statusCheck whether a pull request has been merged upstream. Returns the latest patch series head commit and any merge information.
params: pr_url*
code_index_statusGet code indexing statistics: files indexed, symbol counts by kind and language, edge count, community count.
params: repository
codebase_mapGet a directory-level overview of the codebase showing file counts and symbol counts per directory.
params: depth, repository
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} 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.
params: commit_sha*
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, 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
params: commit_id*
commitfest_statsOverview of all indexed commitfests: count by status, top contributors (entries authored), distinct people / commitfests / entries totals.
params: none
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 the /community hero strip.
params: release
detect_changesDetect which symbols changed between two commits by comparing file content hashes.
params: from_commit*, repository, to_commit
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 announcement and messages citing the SHA, use git_search (mail_refs on each result).
params: commit_sha*
embedding_statusGet embedding coverage statistics: how many messages have embeddings, which model was used, and when embeddings were last generated.
params: inbox
entry_branchesRepository branches tracked for a commitfest entry. Joins commitfest.entry_repos with ag_repositories so callers see repo name + branch_name + is_authoritative.
params: cf_id*
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 (precise) and falling back to title-prefix substring (weak).
params: cf_id*
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 order, since the buildfarm tables don't carry commit ordering.
params: branch*, end_sha*, start_sha*
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.
params: email, limit, name, release, role
find_dead_codeFind functions/methods with zero incoming call graph edges (potentially unused code).
params: limit, repository
find_entries_for_authorFind commitfest entries where the given person is an author. Looks up by email (exact) or by name (substring, case-sensitive).
params: email, limit, name
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 schema.)
params: message_id*
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 and cfbot runs cf/<id> branches, so this verb correlates by branch overlap and time window — not by direct schema join.
params: animal_name*, limit
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-review, ready-for-committer); platform narrows to one CI platform; limit caps the list. Cite https://commitfest.postgresql.org/patch/<cf_id>/.
params: entry_status, limit, platform
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?'
params: branch, limit, since
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.
params: limit, min_days
find_patches_by_platform_statusPatches that pass on some platforms but not others. Example: passing on linux but failing on macos -> portability bug.
params: failing_on, limit, passing_on
find_patternSearch for a regex pattern in code symbol bodies. Uses trigram indexes for acceleration.
params: limit, pattern*, repository
find_rebase_needed_patchesEntries cfbot reports as no longer applying to master tip (:entry/applies-cleanly is false). These need an author rebase.
params: limit
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 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 emb
params: limit, query*
find_similar_messagesFind messages similar to a given message using its embedding vector. Useful for finding related discussions or duplicate threads.
params: inbox, limit, message_id*
get_animalProfile of one buildfarm animal: hardware/OS/compiler/owner, branches tracked, last build status, plus the last 20 runs (any branch).
params: name*
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 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>.
params: filename, inbox, index, message_id*
get_author_messagesFind messages by a specific author, optionally filtered by date range. Uses the f: (from) search prefix.
params: after, author*, before, inbox, limit, offset
get_calleesFind all symbols that the given symbol calls/references (forward call graph).
params: limit, qualified_name*, repository
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 expansion and function pointers are not followed. limit caps the list. Read a caller with git_show_file at its line.
params: limit, qualified_name*, repository
get_commitfestGet a single commitfest with entries grouped by status and the top contributors (authors with the most entries).
params: number*
get_communitiesList Louvain community clusters detected in the call graph. Communities group related symbols by functional area.
params: limit, repository
get_communityGet details and member symbols for a specific community.
params: community_id*, repository
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 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.
params: email, name
get_contributor_historyShow all past mailing list submissions by a contributor (matched by email address or name).
params: contributor*, limit
get_dependentsGet transitive dependents: all symbols in the blast radius if this symbol changes.
params: limit, max_depth, qualified_name*, repository
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) with fetched_at. Use search_docs to find the path. Cite the returned url.
params: path*, version
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 get_thread; cfbot state with find_failing_patches. Cite https://commitfest.postgresql.org/patch/<cf_id>/.
params: cf_id*
get_execution_flowsTrace execution flow paths through the call graph from entry points.
params: max_depth, max_flows, repository
get_impactAnalyze the impact of modifying a symbol: risk level, blast radius, affected communities and execution flows.
params: qualified_name*, repository
get_inbox_infoGet metadata for an inbox (name, addresses, message count, last activity)
params: inbox
get_inbox_statsReturn aggregate statistics about an inbox: message counts by time period, top authors, and activity trends.
params: inbox, period, top_authors
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).
params: name*
get_messageOne mail message by Message-ID: headers, in_reply_to/references, decoded body text (by default the author's own words: quotes, signature and inline patch removed; full_text=true for everything, quotes included), attachments [{index, filename, content_type, size}] and has_patch. Never raw MIME: get_attachment returns an attachment's content, get_raw_message the RFC 822 source. Finds the list itself
params: body_only, full_text, inbox, include_body, message_id*
get_message_headersGet email headers as structured key/value pairs. Returns all headers or a specific header by name.
params: header, inbox, message_id*
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.
params: inbox, message_id*
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 cursor for subsequent calls.
params: after*, inbox, limit
get_patch_branchesGet the git branches created from a patch series. Shows what branches were applied from email patches for code intelligence analysis.
params: pr_url*
get_patch_build_historyBuild matrix for one entry: per-platform/config status, log URL, observation time, applies-cleanly flag, rollup.
params: cf_id*
get_patch_seriesGet patch submission history for a forge pull request URL. Returns all iterations submitted to the mailing list.
params: pr_url*
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.
params: inbox, message_id*
get_repo_sync_statsGet commit frequency analysis and sync statistics for a repository. Returns median commit interval, recommended poll frequency, and recent fetch log.
params: repository
get_repository_summaryPer-repository summary: total commits, top 10 contributors, branches, language breakdown (from indexed symbols), and a sampled most-touched-paths list.
params: name*
get_signatureGet the function/method signature and doc comment for a symbol.
params: qualified_name*, repository
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.
params: kind, name*
get_symbolGet full details for a code symbol by its qualified name, including source code, signature, documentation, and file location.
params: qualified_name*, repository
get_tests_forFind test symbols that reference the given symbol.
params: qualified_name*, repository
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 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_offse
params: full_text, inbox, include_bodies, limit, max_body_chars, message_id*, offset
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.
params: inbox, message_id*
get_wiki_historyGet revision history for a wiki page.
params: limit, title*
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 older revisions. Cite https://wiki.postgresql.org/wiki/<title>.
params: title*
git_analyze_activityShow commit activity over time, bucketed by period. Useful for understanding development pace and trends.
params: period, repository
git_analyze_authorsGet commit statistics per author: total commits, first and last commit dates. Ranked by commit count.
params: limit, repository
git_analyze_bus_factorIdentify files with the fewest distinct authors (bus factor risk). Files modified by only one person are knowledge silos.
params: limit, repository
git_analyze_churnIdentify the most frequently modified files in the repository. High-churn files may indicate hotspots or unstable code.
params: limit, repository
git_analyze_couplingFind files that are frequently changed together. Logical coupling can reveal hidden dependencies between components.
params: limit, min_count, repository
git_analyze_hotspotsAggregate file churn by directory to find the most actively changed areas of the codebase.
params: depth, limit, repository
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 and status (added/modified/deleted). Renames are not followed. Up to `limit` commits (default 100, max 1000); has_more says there are older ones.
params: commit, limit, path*, repository
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) content-diff mode — pass from_commit and to_commit to compute file-level unified diffs between two specific commits.
params: author, base_branch, from_commit, head_branch, limit, message_filter, path, repository, to_commit
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 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. r
params: author, branch, limit, offset, path, repository, since, until
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 (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-anno
params: limit, query*, repository, search_in
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; 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 ar
params: commit, end_line, numbered, path*, repository, start_line
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 (message links), and the tracked people involved (community page links). Read-only; composes git history + list search.
params: content*, inbox, limit, repo
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, 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
params: author, inbox, keyword_weight, limit, query*, since, until
hybrid_search_codeCombined keyword + semantic code search using Reciprocal Rank Fusion. Requires embeddings to be generated.
params: keyword_weight, limit, query*, repository
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).
params: branch, limit, os, owner, status
list_branchesList tracked branches for a repository, including head commit and default branch status.
params: repository
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.
params: status
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 descending. Filterable by release / role / source.
params: limit, offset, release, role, source
list_discord_channelsList monitored Discord channels with message counts.
params: none
list_doc_versionsList available documentation versions with page counts.
params: none
list_entriesList commitfest entries (proposed patch series). Filterable by status, commitfest number, or topic; paginated.
params: commitfest_number, limit, offset, status, topic
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 forward compatibility.
params: limit, min_messages, offset
list_projectsList bridge-configured projects linking a forge repository to a mailing list inbox.
params: none
list_recentList recent messages from an inbox
params: inbox, limit
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; limit/offset accepted for forward compatibility.
params: branch, limit, min_commits, offset
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 documentation releases, the wiki and Discord. Use it to learn the inbox and repository names other tools accept and how current each is. kind filters; min_items drops small sources.
params: kind, limit, min_items, offset
list_threadsBrowse recent threads (topic-level view). Returns thread summaries with message counts, date ranges, and latest message metadata.
params: before, inbox, limit
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.
params: limit, since
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. Websearch syntax: "phrase", -term, or. Each result: cf_id, title, status, commitfest(s), people, last update, the commitfest.postgresql.org patch url and the pg.ddx.io thread link. limit default 20, max 50.
params: commitfests, limit, query*, sort
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 / committed (per-role distinct-commit counts).
params: per_role_limit, release*
repository_statsGet detailed statistics for a git repository including commit count, file count, branch, and import state.
params: repository
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: body, after:/before:/d:2024-01..2025-01 dates, site:<list>, filetype:patch, link:<url glob>, /regex/. Returns messages best first (limit default 50, max 200; offset pages; collapse_threads=true keeps
params: author, collapse_threads, inbox, limit, offset, query*, since, until
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/substitutions per match). Same prefix syntax as `search`: s:subject f:from t:to d:2024-01..2025-01 b:body_text
params: collapse_threads, inbox, k, limit, offset, query*
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; operators and warnings say what the query used, and skipped names each source the query left out and why. With define:<term> it also returns definition, the same card search_docs returns.
params: limit, query*
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 the Discord community agreement).
params: limit, query*
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 given; a page matching in several selected versions is one result listing each version and its URL. Returns title, path, url, the versions it matched and a snippet. With define:<term> in query (define:MV
params: limit, query*, version, versions
search_patchesFind patch series by parsing [PATCH v2 3/7]-style subject prefixes. Returns structured patch metadata including version, sequence, total, and series grouping.
params: inbox, limit, query
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. Each result: qualified_name, name, kind, language, file, start_line and end_line. Like `ctags`/`git grep -w` for definitions. Follow with get_callers, or git_show_file with start_line/end_line to read th
params: kind, language, limit, query*, repository
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_id, revision_url, author, comment, timestamp, is_current) and how many matched; since/until bound the revision dates. Read a page with get_wiki_page; cite its wiki url. Search operators apply (intitle
params: history, limit, query*, since, until
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 embeddings to be generated first (see embedding_status). Each result carries an 'excerpt': the author's own words, quoted text and signatures removed.
params: inbox, limit, query*
semantic_search_codeSearch code symbols by semantic similarity using vector embeddings. Requires embeddings.
params: limit, query*, repository
symbols_in_fileList all code symbols defined in a file, ordered by line number.
params: path*, repository
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, . does not cross lines. PostgreSQL regex syntax (\s, \w, (?i) work). path_glob narrows by SQL LIKE pattern ("src/backend/%.c"), repository by name. Returns up to max_results files (default 50, max 50
params: max_results, path_glob, pattern*, repository
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 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 wit
params: case_insensitive, max_results, repository, text*
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".
params: kind, literal*, max_results, repository
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), Talking Postgres episodes, release dates and commitfests. Same data as the iCalendar feeds at https://pg.ddx.io/calendars (community event listings from the PostgreSQL Event Calendar, curated by Andr
params: days, from, kind, limit, offset, person, series, speaker, to, where
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.
params: none
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>, 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.
params: excludes, feeds*
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 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, no
params: kinds, limit_per_kind, ref*, timeline, version
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}]), email, hash:<8 hex>, team:<slug>, org:<name>, new:<window>, a phrase ('the core team'), or a list. since/until: ISO date, today, 2w/14d/1m, pg19 (a release's development window), all; default 14 days.
params: during, kinds, limit, since, topic, until, who*
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 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
params: budget_ms, case_sensitive, context, exclude, history, include, limit, match, offset, output, paths, query*, repository, version
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_lines and complete; binary files return their metadata only.
params: end_line, path*, repository, start_line, version
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 filters paths.
params: depth, glob, limit, path, repository, version
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/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
params: end_line, ignore_revs, path*, repository, reverse, start_line, version
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 (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, fil
params: commit*, context, diff, paths, repository
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, committer and Author/Co-authored-by/Reviewed-by trailers), paths, since/until (YYYY-MM-DD), changed_lines (a regex an added or removed line matches, as git log -G) and occurrences (a string whose count in
params: author, budget_ms, changed_lines, limit, message, occurrences, offset, paths, range, repository, since, until

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.