# PostgreSQL_get_unused_indexes

Find indexes that are rarely or never used.

Agent View of the PolicyLayer registry record for `PostgreSQL_get_unused_indexes`. HTML page: https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-get-unused-indexes

## Facts

- Tool: `PostgreSQL_get_unused_indexes`
- Server: Postgres (`mukul975/postgres-mcp-server`) — https://policylayer.com/tools/mukul975-postgres-mcp-server.md
- Homepage: https://github.com/mukul975/postgres-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "PostgreSQL_get_unused_indexes",
    "arguments": {}
  }
}
```

## Why PostgreSQL_get_unused_indexes is rated Low

This tool retrieves and analyzes index usage statistics from the database, producing read-only diagnostic information. It has no side effects, does not execute queries, modify data, or perform destructive operations. The blast radius of misuse is minimal—an agent could only obtain information about index performance characteristics.

From the tool's own definition: "Tool name contains 'get' and description states 'Find indexes' — both indicate data retrieval. The tool queries PostgreSQL metadata to identify unused indexes without modifying or executing any database operations."

## Use case

AI agents call PostgreSQL_get_unused_indexes to retrieve information from Postgres without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Postgres:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "PostgreSQL_get_unused_indexes": {}
  }
}
```

## Other tools on Postgres (238)

- `PostgreSQL_drop_index` — Destructive — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-drop-index.md
- `PostgreSQL_drop_schema` — Destructive — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-drop-schema.md
- `PostgreSQL_drop_user` — Destructive — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-drop-user.md
- `PostgreSQL_analyze_database` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-analyze-database.md
- `PostgreSQL_execute_select_query` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-execute-select-query.md
- `PostgreSQL_execute_update_query` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-execute-update-query.md
- `PostgreSQL_kill_connection` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-kill-connection.md
- `PostgreSQL_refresh_materialized_view` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-refresh-materialized-view.md
- `PostgreSQL_vacuum_analyze_table` — Execute — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-vacuum-analyze-table.md
- `analyze_buffer_utilization` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-buffer-utilization.md
- `analyze_foreign_key_locks` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-foreign-key-locks.md
- `analyze_index_effectiveness` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-index-effectiveness.md
- `analyze_query_complexity` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-query-complexity.md
- `analyze_query_plans` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-query-plans.md
- `analyze_sequence_usage` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-sequence-usage.md
- `analyze_transaction_wraparound` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-transaction-wraparound.md
- `analyze_trigger_performance` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-trigger-performance.md
- `analyze_vacuum_efficiency` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/analyze-vacuum-efficiency.md
- `check_constraint_violations` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/check-constraint-violations.md
- `check_database_encoding_collation` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/check-database-encoding-collation.md
- `check_function_performance` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/check-function-performance.md
- `check_replication_lag_details` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/check-replication-lag-details.md
- `check_table_inheritance` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/check-table-inheritance.md
- `monitor_autovacuum_progress` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/monitor-autovacuum-progress.md
- `monitor_checkpoint_efficiency` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/monitor-checkpoint-efficiency.md
- `monitor_connection_patterns` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/monitor-connection-patterns.md
- `monitor_materialized_views` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/monitor-materialized-views.md
- `monitor_wal_generation_rate` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/monitor-wal-generation-rate.md
- `PostgreSQL_active_temp_file_users` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-active-temp-file-users.md
- `PostgreSQL_analyze_advanced_buffer_usage` — Read — https://policylayer.com/tools/mukul975-postgres-mcp-server/postgresql-analyze-advanced-buffer-usage.md
- …and 208 more: https://policylayer.com/tools/mukul975-postgres-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=mukul975-postgres-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/mukul975-postgres-mcp-server
