# pg.ddx.io: the PostgreSQL community's memory (io.ddx.pg/archive): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.ddx.pg%2Farchive/versions/latest)
- Connected to: https://pg.ddx.io/mcp
- Homepage: https://pg.ddx.io/
- Scoring rules: v2
- Tools: 126
- Average: 51.8 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how pg.ddx.io: the PostgreSQL community's memory (io.ddx.pg/archive)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 126 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 2542 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `get_wiki_history`: 31 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: title.
  - Minor: Says nothing about what it returns.
- `get_community`: 36 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: community_id. Name the tool or the place that returns it, or models look it up first.
- `list_recent`: 36 / 100
  - Major: The description only restates the name (6 words).
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_discord_channels`: 38 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_doc_versions`: 38 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `animal_owner_contributions`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: owner_email, owner_name.
  - Minor: Says nothing about what it returns.
- `get_repository_summary`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `get_execution_flows`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `animal_history`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `commit_buildfarm_status`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_contributor_history`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_inbox_summary`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `get_patch_branches`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_commitfests`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_inbox_info`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_signature`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_tests_for`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `detect_changes`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `entry_branches`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: cf_id. Name the tool or the place that returns it, or models look it up first.
- `get_impact`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_analyze_churn`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_analyze_hotspots`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `contribution_summary`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_contributions`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_entries_for_author`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: email.
  - Minor: Says nothing about what it returns.
- `get_contributor`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `buildfarm_overview`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `browse_by_date`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `code_index_status`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `codebase_map`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_dead_code`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_entries_with_failures_on`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_pattern`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: pattern.
  - Minor: Says nothing about what it returns.
- `find_rebase_needed_patches`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_similar_messages`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `get_animal`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_callees`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_communities`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_dependents`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_patch_build_history`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: cf_id. Name the tool or the place that returns it, or models look it up first.
- `get_raw_message`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `get_symbol`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_thread_references`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `git_analyze_activity`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_analyze_bus_factor`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_analyze_coupling`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_branches`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_files`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_sources`: 47 / 100
  - Minor: Says nothing about what it returns.
- `repository_stats`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `symbols_in_file`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `upcoming_events`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_repositories`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `semantic_search_code`: 48 / 100
  - Minor: String arguments with no constraint or example: query.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `check_upstream_status`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `commitfest_stats`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `discussion_links`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `find_failing_runs`: 49 / 100
  - Minor: Says nothing about what it returns.
- `find_patches_by_platform_status`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_patch_series`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_source_info`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `hybrid_search_code`: 49 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_projects`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `recent_commitfest_activity`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_author_messages`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_entry`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: cf_id. Name the tool or the place that returns it, or models look it up first.
- `git_analyze_authors`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_diff`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_entries`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `build_status_freshness`: 51 / 100
  - Minor: Says nothing about what it returns.
- `get_message_references`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `blame_symbol`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `calendar_feeds`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `embedding_status`: 52 / 100
  - Minor: Says nothing about what it returns.
- `find_breaks`: 52 / 100
  - Minor: Says nothing about what it returns.
- `find_entries_for_thread`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `find_passing_long_pending`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `find_related_discussions`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_attachment`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `get_commit`: 52 / 100
  - Minor: Says nothing about what it returns.
- `history-of`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `search-regex`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: query.
  - Minor: Says nothing about what it returns.
- `list_contributors`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_doc_page`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_message_headers`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `get_ontology`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_repo_sync_stats`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_threads`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `search_all_sources`: 54 / 100
- `entry_history`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: cf_id. Name the tool or the place that returns it, or models look it up first.
- `find_failing_patches`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_commitfest`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_wiki_page`: 55 / 100
  - Minor: String arguments with no constraint or example: title.
  - Minor: Says nothing about what it returns.
- `list_animals`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `search_commits`: 55 / 100
  - Minor: String arguments with no constraint or example: until.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `find_string_literals`: 57 / 100
  - Minor: Says nothing about what it returns.
- `get_inbox_stats`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `grep_repository`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `read_file`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `search_discord_topics`: 57 / 100
- `search_wiki`: 57 / 100
  - Minor: String arguments with no constraint or example: query.
- `get_callers`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_blame`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `git_log`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_inboxes`: 58 / 100
  - Minor: Says nothing about what it returns.
- `commit_history`: 60 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: commit_id. Name the tool or the place that returns it, or models look it up first.
- `release_contributors`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
- `blame`: 62 / 100
- `get_new_messages`: 62 / 100
- `regex_search_code`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `search_patches`: 62 / 100
- `search_symbols`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_thread`: 63 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `git_search`: 63 / 100
  - Minor: String arguments with no constraint or example: query.
  - Minor: Says nothing about what it returns.
- `code_search`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The meaning of the boolean argument case_sensitive is unclear.
- `combine_calendars`: 69 / 100
- `cross_reference`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: ref. Name the tool or the place that returns it, or models look it up first.
- `get_message`: 70 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `semantic_search`: 70 / 100
- `search`: 72 / 100
- `search_docs`: 72 / 100
  - Minor: String arguments with no constraint or example: query.
- `hybrid_search`: 75 / 100
- `git_show_file`: 77 / 100
- `search_commitfest`: 77 / 100
- `whats_new`: 80 / 100
- `retrieve_context`: 88 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
