# list_tables

List all tables in the current PostgreSQL database.

Agent View of the PolicyLayer registry record for `list_tables`. HTML page: https://policylayer.com/tools/aadarshjain-postgres-mcp-server/list-tables

## Facts

- Tool: `list_tables`
- Server: PostgreSQL MCP Server (`aadarshjain/postgres-mcp-server`) — https://policylayer.com/tools/aadarshjain-postgres-mcp-server.md
- Homepage: https://github.com/aadarshjain/postgres-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade C, 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": "list_tables",
    "arguments": {}
  }
}
```

## Why list_tables is rated Low

The tool retrieves schema metadata (table names) from the database without side effects, modification, or execution of arbitrary operations. This is a standard Read operation. Severity is low because listing tables exposes minimal sensitive information compared to reading table contents, and has no blast radius if misused by an AI agent.

From the tool's own definition: "Tool name is 'list_tables' and description states 'List all tables in the current PostgreSQL database.' This is a retrieval operation with no data modification or code execution."

## Use case

AI agents call list_tables to retrieve information from PostgreSQL MCP Server 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 PostgreSQL MCP Server:

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

## Other tools on PostgreSQL MCP Server (4)

- `execute_query` — Execute — https://policylayer.com/tools/aadarshjain-postgres-mcp-server/execute-query.md
- `filter_instances` — Read — https://policylayer.com/tools/aadarshjain-postgres-mcp-server/filter-instances.md
- `get_database_stats` — Read — https://policylayer.com/tools/aadarshjain-postgres-mcp-server/get-database-stats.md
- `get_table_schema` — Read — https://policylayer.com/tools/aadarshjain-postgres-mcp-server/get-table-schema.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=aadarshjain-postgres-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/aadarshjain-postgres-mcp-server
