Optimize PostgreSQL Performance with Datasentinel MCP Server
Enhance PostgreSQL observability with our monitoring and performance troubleshooting platform. Datasentinel offers comprehensive performance insights, real-time analytics, and tailored troubleshooting solutions.
- Host
- mcp.datasentinel.io
- Tools
- 24
- Connection URL
- https://mcp.datasentinel.io/mcp
Tools
check_token_and_user
Check the validity and properties of a user-token. Returns: email: user email address user: display name of the user user_profile: user profile name (DATA ADMIN or DEVELOPER) datasentinel_privilege: privilege level (e.g. ADMIN, READ_WRITE, READ_ONLY) real_time_access: whether the user has real-time (live 360) access
get_platform_status
Return the current status of the Datasentinel platform including all services.
get_instances
Return the list of monitored PostgreSQL instances with their details. Each instance includes its tags, connection info, PostgreSQL version, and the databases it contains.
get_workload
Load Average Active Sessions metrics. Returns workload data including session load by wait event, by username, by query
get_workload_summary
Condensed Average Active Sessions summary, grouped by instance and wait event. Lightweight alternative to get_workload: a single InfluxDB call (sourced from pg_active_session_history_10s) returns the active-session load distribution per wait event, reshaped into an array of instances. For each instance the response carries its total samples and its wait events ranked by sample count, each enriched with the standard PostgreSQL wait event description and the wait event type de
get_top_queries
Load top SQL queries metrics. Returns aggregated query workload metrics by database/query and a per-instance summary. Queries are ranked by the `by` metric (default: total_time).
get_query_details
Load detailed metrics for a single SQL query identified by its query_md5_id. Returns query stats, full SQL text, session load by wait event type and wait event, also return list of execution plans for the query over the requested time window as well as execution plan metrics
get_top_tables
Load top accessed tables and indexes. Returns the top tables ranked by `by` and the top indexes ranked by `index_by`. Each table row also carries a nested `indexes` list with stats for its own indexes, plus per-column statistics (`col_stats`) and extended statistics objects (`extended_stats`) when present.
get_table_details
Load detailed statistics for a single table and all of its indexes. Returns the aggregated pg_stat_tables metrics for the requested (database, schemaname, relname) table and the per-index pg_stat_indexes metrics for every index belonging to that table. The table row also carries per-column statistics (`col_stats`) and extended statistics objects (`extended_stats`) when present.
get_blocking_scenarios
Load PostgreSQL blocking scenarios detected over the time window. Returns the lock holders, the sessions they block, the locks held by the holders, and the locks the blocked sessions are waiting on.
get_postgresql_metrics
Load PostgreSQL instance-level metrics over the time window. Returns aggregated stats per instance, PostgreSQL parameters that changed during the period, and the current pg_settings parameter set.
get_postgresql_stat_io
Load PostgreSQL I/O statistics from pg_stat_io over the time window. Returns per-instance I/O metrics broken down by backend_type, object and context (e.g. autovacuum worker / relation / vacuum, client backend / relation / normal, background writer / relation / normal, ...).
get_annotations
Load Datasentinel monitoring annotations over the time window. Annotations are event messages emitted by the Datasentinel monitoring stack itself, not by PostgreSQL. They cover two complementary kinds of events: - informational lifecycle messages (monitoring started, agent reconnected, instance discovered, ...); - error messages from the monitoring pipeline (collection failure, agent timeout, query timeout, connection refused, ...) that may have left gaps or anomalie
get_system_metrics
Load OS-level system metrics for the servers hosting the monitored PostgreSQL instances. Returns aggregated CPU, memory, swap, network, and disk I/O metrics per server over the time window.
get_replication_metrics
Load PostgreSQL streaming-replication lag metrics over the time window. Covers both directions: outgoing replication (the instance acting as a primary — per-standby write/replay lag in seconds and the unreplayed WAL backlog in bytes), incoming replication (the instance acting as a standby in recovery — replay backlog in bytes, replay delay in seconds, and whether replay is paused), and the distribution (mean + percentiles) of the outgoing lag per standby over the window. An
generate_query_report
Generate a detailed query analysis report as a PDF for a specific SQL query. Returns {'download_url': '<url>'} on success. Use the URL to download the PDF (single-use, requires user-token header).
generate_full_report
Generate a comprehensive full report covering instances, queries, server and workload as a PDF. Returns {'download_url': '<url>'} on success. Use the URL to download the PDF (single-use, requires user-token header).
generate_workload_report
Generate a session history (Average Active Sessions) report as a PDF. Returns {'download_url': '<url>'} on success. Use the URL to download the PDF (single-use, requires user-token header).
generate_top_queries_report
Generate a top SQL queries report ranked by a chosen metric as a PDF. Returns {'download_url': '<url>'} on success. Use the URL to download the PDF (single-use, requires user-token header).
get_current_sessions
Return the current connected backends for a specific PostgreSQL instance.
get_current_progress_operations
Return the PostgreSQL background maintenance operations currently running on a specific instance. Reports in-progress VACUUM, VACUUM FULL / CLUSTER, index build/rebuild, ANALYZE and COPY operations, sourced live from the server's pg_stat_progress_* views. An empty list means nothing is running (the normal, healthy case). The result is a point-in-time snapshot; poll to track progress over time.
get_current_table_metrics
Return every live table, index and column metric the agent can collect for a single table. Runs the on-demand single-table variants of the hourly collection queries against the instance: table counters/sizes, per-index counters/sizes, index column lists, and — when the datasentinel_analytics function is installed and executable in the database — table and index bloat estimates, per-column statistics, and extended statistics. The result is a point-in-time snapshot and the cou
get_current_blocking_sessions
Return the current blocking backends for a specific PostgreSQL instance.
get_current_execution_plan
Run an EXPLAIN for a query on a specific PostgreSQL instance.
Use in your AI tool
One-click into Claude, Cursor, VS Code, and more — connects straight to this server’s public endpoint.
https://mcp.datasentinel.io/mcp