mcpg MCP server

mcpg is an MCP server with 186 tools an agent can call, among them analyze_distance_metric, analyze_hnsw_recall, analyze_lock_hotspots. It answers at https://devopam-mcpg-demo.hf.space/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.

Status
Answering
Tools
186
Official
yes, served from hf.space
Reliability
6 of 10 checks
Response time
518 ms
Transport
streamable HTTP
Last checked
18 October 2026

MCP server at devopam-mcpg-demo.hf.space, verified by introspection: 186 tools exposed.

Description as the publisher wrote it.

The 186 tools mcpg offers

ToolWhat it does
analyze_distance_metricRecommend a pgvector distance metric (cosine | l2 | inner_product) from the embedding-magnitude distribution. Samples up to `sample_size` non-NULL rows of schema.table.column, computes each embedding's L2 norm, and applies a small heuristic
Inputs: schema, table, column, sample_size, database
analyze_hnsw_recallSweeps ef_search values to measure the latency and recall trade-off curve for a given pgvector query vector against exact brute-force ground truth. Requires the vector extension. Returns a list of objects with `ef_search`, `recall_at_k`, `m
Inputs: schema, table, column, query_vector, k, metric
analyze_lock_hotspotsRank PG 19 `pg_stat_lock` rows by wait dominance and surface stable reason codes. Read-only — never modifies state. Pair with `find_blocking_chains` for the active culprits on a specific hot lock_type. Returns an object with `available` (bo
Inputs: database
analyze_mpp_query_planRun `EXPLAIN (ANALYZE, FORMAT JSON)` on `sql` and roll up MPP-specific facts: slice count, motion nodes (`Redistribute Motion` / `Broadcast Motion` / `Gather Motion`), and per-motion metadata (senders, receivers, estimated rows). Uses the s
Inputs: sql, database
analyze_query_planSummarise a query's execution plan: total estimated cost, estimated rows, node types used, and any sequentially-scanned tables. Set `io=true` to run `EXPLAIN (ANALYZE, BUFFERS, TIMING)` instead of the plan-only variant — adds `actual_total_
Inputs: sql, io, database
analyze_rerank_ndcgNDCG@k under bi-encoder ordering vs cross-encoder ordering, averaged across labeled queries (``ground_truth_relevance IS NOT NULL``). Reports the delta (cross - bi) — positive = the rerank is adding real ranking quality, negative = it's hur
Inputs: days, k, model, retrieval_index, database
analyze_rerank_score_distributionEqual-width histogram of cross_encoder_score values over the window plus the top-decile share. Surfaces ``score_clustering`` (WARNING) when the reranker isn't discriminating (more than half of scores land in the top decile of the range). Re
Inputs: days, model, retrieval_index, n_buckets, database
analyze_reranker_liftPer-query Spearman + Kendall correlation between bi-encoder and cross-encoder ranks, aggregated across queries in the window. Low correlation = the reranker is actively reordering (doing real work); high correlation = the reranker mostly co
Inputs: days, model, retrieval_index, database
analyze_session_costSurface hot-path inefficiencies from the audit log. Reads `mcpg_audit.events` over the last `lookback_minutes` (default 60, capped at 1440) and flags tools called more than `hot_threshold` times (default 10). Catalogue-listing tools (`list_
Inputs: lookback_minutes, hot_threshold, database
analyze_table_bloatRank a schema's tables and indexes by estimated bloat, worst first. By default uses a cheap catalog-only estimate (relpages vs a reltuples/row-width floor) plus the dead-tuple ratio from pg_stat_user_tables. Set `precise=true` to use pgstat
Inputs: schema, limit, precise, database
analyze_topk_stabilityJaccard overlap between top-K-by-bi-rank and top-K-by-cross-rank per query, aggregated. High mean Jaccard means the reranker isn't actually changing the top-K membership. Surfaces ``topk_stable`` (WARNING) when the rerank is barely earning
Inputs: days, k, model, retrieval_index, database
analyze_vector_search_efficiencyCross-backend retrieval-quality report for a pgvector or pg_turboquant ANN index. Detects the backend (HNSW / IVFFlat / turboquant), sweeps the matching per-backend knob (ef_search / probes / candidate_limit) across a multiplier curve, comp
Inputs: schema, table, column, id_column, index_name, k
analyze_workloadReturn the slowest queries by mean execution time, via the pg_stat_statements extension. Reports availability=false if the extension is not installed. Example: `analyze_workload(limit=10)`
Inputs: limit, database
audit_databaseRun a deep, comprehensive DBA-level database performance, logs, and health audit over the specified schema. Scans memory, checkpoints, temp file spills, contention locks, dead tuple cleanliness, and optionally scans custom logging tables. S
Inputs: schema, log_table, database, fresh
audit_sequencesFlag sequences nearing their ceiling — serial / identity / explicit sequences whose `last_value / max_value` exceeds `warning_pct` (default 80) or `critical_pct` (default 95). Sequence overflow is catastrophic and silent until the next `nex
Inputs: warning_pct, critical_pct, database
audit_settingsSanity-sweep `postgresql.conf` via `pg_settings`. Flags dangerous toggles (`fsync=off`, `full_page_writes=off`, `autovacuum=off`, `synchronous_commit=off`), cross-setting issues (`maintenance_work_mem` < `work_mem`, tiny `shared_buffers`, l
Inputs: total_ram_mb, database
check_database_healthRun database health checks: connection utilisation, buffer cache hit ratio, tables needing vacuum, and invalid indexes. Returns an object with `status` ('ok' / 'warning' / 'critical') and `checks` (a list of `{name, status, detail}` per che
Inputs: database
check_pitr_readinessAssess whether the cluster is ready for point-in-time recovery (PITR) — the one-call 'could I actually recover to an arbitrary point right now, and if not what's missing?' check. Composes `get_wal_archive_status` (5.2) with the GUCs that ga
Inputs: database
check_segment_healthWalk `gp_segment_configuration` and surface MPP segment posture. Returns per-segment `status` ('u' = up), `mode` ('s' = sync / 'n' = not-in-sync / 'c' = changetracking), and `role` vs `preferred_role` to detect post-failover state. Top-leve
Inputs: database
close_cursorClose a server-side cursor and release its dedicated connection. Idempotent — returns closed=false when the cursor was not open (already closed, expired, or never existed).
Inputs: cursor_id
cluster_vectorsk-means cluster a pgvector column. Samples up to `sample_size` (default 5000) non-NULL rows of schema.table.embedding_column, runs Lloyd's algorithm with k-means++ seeding (`seed` for determinism), and returns `centroids` (one per cluster,
Inputs: schema, table, embedding_column, k, id_column, sample_size
compare_schemasReturn the structural diff between two schemas — tables/columns/indexes/constraints/foreign-keys added, removed, or changed. Base tables only; views and custom types are not compared. Renames surface as a paired add + remove. Example: `comp
Inputs: left_schema, right_schema, database
cross_table_similarityFind the k rows in target_schema.target_table most similar to a specific row in source_schema.source_table. Locates the source row via source_id_column = source_id_value, reads its embedding from source_embedding_column, then issues a pgvec
Inputs: source_schema, source_table, source_embedding_column, source_id_column, source_id_value, target_schema
describe_ao_tableDescribe append-optimized (AO) / append-optimized columnar (AO/CO) storage metadata for one table: row vs column orientation, `compression_type`, `compression_level`, `block_size`, `checksum`. Reads `pg_appendonly`. Returns `is_ao=false` cl
Inputs: schema, table, database
describe_graphDescribe the schema structure, vertex labels, and edge labels of a specific property graph. Returns an object with `graph_name`, `vertex_labels`, and `edge_labels`.
Inputs: graph_name
describe_property_graphDescribe one SQL/PGQ property graph by schema-qualified name. Requires PG 19+; raises an error otherwise. Useful when an agent has located a graph via `list_property_graphs` and needs the full membership before composing a `run_pgq` query.
Inputs: schema, name, database
describe_redis_cache_tableDescribe one foreign table backed by ``redis_fdw``: which server it's mapped to, the Redis-side key structure (`hash` / `list` / `string` / `set` / `zset`), key-prefix, TTL, and SQL-side column shape. Raises an error when the table doesn't
Inputs: schema, table, database
describe_selfReturn a high-level summary of what mcpg can do, organised into capability buckets (schema introspection, query execution, vector search, RAG telemetry, audit trail, migrations, time-series, etc.). Call this first when discovering mcpg's su
describe_tableDescribe the columns of a table, in ordinal order. Set `fresh=true` to bypass the cache and re-read live (e.g. after a schema change). Returns a list of objects with `name`, `data_type`, `nullable`, `default`, and `vector_dimension` (set on
Inputs: schema, table, database, fresh
describe_toolReturn the full registered schema for one MCP tool by name — `description`, `input_schema`, `output_schema`, and which capability bucket it belongs to. Use this when an agent hits a tool error and needs to verify the call shape without re-w
Inputs: name
detect_n_plus_oneSurface query templates in pg_stat_statements that look like an N+1 loop: hundreds of calls, each returning at most a row or two, with meaningful total wall-clock time spent. Returns the candidates sorted by total time descending so the wor
Inputs: min_calls, max_rows_per_call, min_total_ms, limit, database
detect_vector_outliersFlag pgvector rows whose embedding sits far from any cluster centroid. Samples up to `sample_size` (default 5000) non-NULL rows of schema.table.embedding_column, clusters them with k-means (same engine as `cluster_vectors`), then per cluste
Inputs: schema, table, embedding_column, id_column, k, zscore_threshold
explain_queryReturn the PostgreSQL execution plan for a query. By default uses `EXPLAIN (FORMAT JSON)` — plan only, the query is not executed. Set `io=true` to switch to `EXPLAIN (ANALYZE, BUFFERS, TIMING)` — runs the query and includes buffer + I/O tim
Inputs: sql, io, database
export_queryRun a read-only SQL query and serialise its rows to CSV or JSON. Reuses the SQL-safety checks of run_select. Truncates at `limit` rows and flags it in the result so callers can paginate. Example: `export_query(sql='SELECT id, email FROM use
Inputs: sql, format, limit, database
export_tableSerialise every row in schema.table (up to `limit`) to CSV or JSON. Schema and table names must be plain identifiers. Returns an object with `format`, `row_count`, `truncated` (bool — true when the row count hit `limit`), and `content` (the
Inputs: schema, table, format, limit, database
fetch_cursorFetch the next batch from an open server-side cursor. exhausted=true means the FETCH returned fewer rows than requested — stop polling. batch_size defaults to 100; hard cap is 10000 per call.
Inputs: cursor_id, batch_size
find_blocking_chainsReturn (blocked, blocking) backend pairs via pg_blocking_pids. Each row pairs a backend waiting on a Lock with one PID holding the lock that's preventing progress. Cycles are possible (A blocks B, B blocks A); render with care. Read-only.
Inputs: limit, database
find_sensitive_columnsFlag columns whose names or types look like they hold sensitive data (passwords, tokens, PII, financial info, health records). Pure heuristic — no row sampling, no value introspection. Categories: credential, financial, contact, identifier,
Inputs: schema, database
find_unused_objectsFind tables and indexes with zero scans since pg_stat was last reset — a strong signal of dead code, but NOT a verdict. Tables report seq+idx scan counts, write counts, and estimated row count; indexes report size and definition. Excludes P
Inputs: schema, database
full_text_searchRank a text column's documents against a full-text query using PostgreSQL's built-in tsvector/tsquery. The query accepts web-search syntax (quoted phrases, or, - exclusion). Returns a list of objects with the matched row's primary key colum
Inputs: schema, table, column, search_query, config, limit
146 more tools

fuzzy_search, generate_diesel_schema, generate_drizzle_schema, generate_ecto_schemas, generate_ent_schemas, generate_fk_cascade_graph, generate_graph_diagram, generate_graph_projection, generate_jooq_config, generate_prisma_schema, generate_schema_diagram, generate_schema_docs, generate_sqlalchemy_models, generate_sqlc_schema, generate_test_data, generate_test_row_for, geo_search, get_aio_status, get_compact_schema, get_current_wal_lsn, get_data_checksums_status, get_database_ddl, get_logical_replication_status, get_metrics_exposition, get_pg19_ddl_status, get_pg19_partitions_status, get_pg19_stats_status, get_pg_search_index_metadata, get_pgq_status, get_prewarm_extension_status, get_redis_cache_stats, get_repack_status, get_role_ddl, get_server_info, get_skip_scan_status, get_tablespace_ddl, get_turboquant_heap_stats, get_turboquant_index_metadata, get_turboquant_last_scan_stats, get_wait_for_lsn_status, get_wal_archive_status, get_warehousepg_status, hybrid_bm25_vector_search, hybrid_search, lint_naming_conventions, list_active_queries, list_audit_events, list_autowarm_jobs, list_available_extensions, list_chunks, list_composite_types, list_constraints, list_cron_jobs, list_cursors, list_databases, list_distribution_policies, list_domains, list_enums, list_extensions, list_foreign_data_wrappers, list_foreign_keys, list_foreign_servers, list_foreign_tables, list_functions, list_generated_columns, list_grants, list_graphs, list_hypertables, list_indexes, list_locks, list_partitions, list_pg_search_indexes, list_policies, list_prewarmed_relations, list_property_graphs, list_publications, list_redis_foreign_servers, list_replicas, list_resource_groups, list_roles, list_schemas, list_sequences, list_subscriptions, list_tables, list_triggers, list_turboquant_indexes, list_user_mappings, list_views, migrate_vector_to_halfvec, mmr_search, monitor_embedding_drift, monitor_index_build, open_cursor, optimize_query, pg_search_more_like_this, pg_search_parse_query, pg_search_run, read_autovacuum_priority, read_migration_history, read_pg_buffercache_relations, read_pg_buffercache_summary, read_pg_stat_io, read_pg_stat_lock, read_pg_stat_recovery, read_pg_wal_records, read_pg_wal_stats, recommend_efficiency_thresholds, recommend_headline_tools, recommend_hnsw_ef_search, recommend_index_drops, recommend_indexes, recommend_io_method, recommend_ivfflat_probes, recommend_pg_search_maintenance, recommend_postgres_conf, recommend_prewarm_targets, recommend_read_your_writes, recommend_redis_cache_targets, recommend_redistribute, recommend_rerank_strategy, recommend_skip_scan_indexes, recommend_turboquant_maintenance, recommend_turboquant_query_knobs, recommend_vector_quantization, retrieve_with_context, run_advisors, run_analytical_query, run_cypher, run_pgq, run_select, run_select_parallel, run_select_tuned, summarize_table, test_rls_for_role, translate_nl_to_sql, tune_vector_index, turboquant_approx_candidates, turboquant_rerank_candidates, vector_range_search, vector_recall_at_k, vector_search, verify_audit_chain, verify_connection_encryption, wait_for_lsn, walk_blocking_chains, why_is_this_slow

Add mcpg to your AI client

Every block below points at https://devopam-mcpg-demo.hf.space/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http mcpg https://devopam-mcpg-demo.hf.space/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "mcpg": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://devopam-mcpg-demo.hf.space/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "mcpg": {
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "mcpg": {
      "type": "http",
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "mcpg": {
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "mcpg": {
      "serverUrl": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "mcpg": {
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: mcpg
version: 0.0.1
schema: v1
mcpServers:
  - name: mcpg
    type: streamable-http
    url: https://devopam-mcpg-demo.hf.space/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "mcpg": {
      "httpUrl": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "mcpg": {
      "type": "http",
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "mcpg": {
      "url": "https://devopam-mcpg-demo.hf.space/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fdevopam-mcpg-demo.hf.space%2Fmcp&type=streamable_http&id=mcpg&name=mcpg

Is mcpg up right now?

It answered our last check on 18 October 2026 in 518 ms. Over 10 checks since 5 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to mcpg

Questions about mcpg

Is there an official mcpg MCP server?

Yes. It is published by hf.space and served from devopam-mcpg-demo.hf.space, the vendor's own domain: https://devopam-mcpg-demo.hf.space/mcp.

How many tools does mcpg have?

186, as returned by the server's own tools/list on 5 September 2026: analyze_distance_metric, analyze_hnsw_recall, analyze_lock_hotspots, analyze_mpp_query_plan, analyze_query_plan, analyze_rerank_ndcg, analyze_rerank_score_distribution, analyze_reranker_lift, and 178 more.

Is mcpg down?

It answered our last check on 18 October 2026 in 518 ms. Over 10 checks since 5 September 2026 it answered 6.

How do I add mcpg to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://devopam-mcpg-demo.hf.space/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does mcpg need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: devopam-mcpg-demo.hf.space. Endpoint host: devopam-mcpg-demo.hf.space. ARD identifier: urn:air:devopam-mcpg-demo.hf.space:mcp:mcpg. First indexed 5 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.