{"name":"io.github.timescale/pg-aiguide","slug":"timescale-pg-aiguide","title":null,"description":"Comprehensive PostgreSQL documentation and best practices, including ecosystem tools","url":"https://mcp.market/server/timescale-pg-aiguide","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":62,"stars":1848,"forks":109,"downloads_week":123,"last_push_at":"2026-09-16T04:54:54.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":5,"ok":5,"last_checked_at":"2026-09-20T18:31:15.069Z","last_ok_at":"2026-09-20T18:31:15.069Z","latency_ms":469},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/timescale/pg-aiguide","website":null,"version":"0.6.1","remotes":[{"type":"streamable-http","url":"https://mcp.tigerdata.com/docs"}],"packages":[{"registryType":"npm","identifier":"@tigerdata/pg-aiguide","version":"0.6.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your API key for text embeddings via OpenAI","isRequired":true,"format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"PostgreSQL host to connect to","isRequired":true,"format":"string","isSecret":true,"name":"PGHOST"},{"description":"PostgreSQL port to connect to","isRequired":true,"format":"number","isSecret":true,"name":"PGPORT"},{"description":"PostgreSQL user to connect as","isRequired":true,"format":"string","isSecret":true,"name":"PGUSER"},{"description":"PostgreSQL password to connect with","isRequired":true,"format":"string","isSecret":true,"name":"PGPASSWORD"},{"description":"PostgreSQL database to connect to","isRequired":true,"format":"string","isSecret":true,"name":"PGDATABASE"},{"description":"PostgreSQL database schema to use","format":"string","isSecret":true,"name":"DB_SCHEMA"}]},{"registryType":"oci","identifier":"ghcr.io/timescale/pg-aiguide:0.6.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your API key for text embeddings via OpenAI","isRequired":true,"format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"PostgreSQL host to connect to","isRequired":true,"format":"string","isSecret":true,"name":"PGHOST"},{"description":"PostgreSQL port to connect to","isRequired":true,"format":"number","isSecret":true,"name":"PGPORT"},{"description":"PostgreSQL user to connect as","isRequired":true,"format":"string","isSecret":true,"name":"PGUSER"},{"description":"PostgreSQL password to connect with","isRequired":true,"format":"string","isSecret":true,"name":"PGPASSWORD"},{"description":"PostgreSQL database to connect to","isRequired":true,"format":"string","isSecret":true,"name":"PGDATABASE"},{"description":"PostgreSQL database schema to use","format":"string","isSecret":true,"name":"DB_SCHEMA"}]}],"tools":[{"name":"search_docs","description":"Search documentation with hybrid semantic (vector) and keyword (BM25) search. Use semanticWeight to choose keyword-only (0), semantic-only (1), or a blend; mid values fuse rankings with RRF. Supports Tiger Cloud (TimescaleDB), PostgreSQL, and PostGIS.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"source":{"type":"string","enum":["tiger","postgres_14","postgres_15","postgres_16","postgres_17","postgres_18","postgis_3.3","postgis_3.4","postgis_3.5","postgis_3.6"],"description":"The documentation source to search. \"tiger\" for Tiger Cloud and TimescaleDB, \"postgres\" for PostgreSQL, \"postgis\" for PostGIS spatial extension. Specific versions provided with _X.X suffixes."},"query":{"type":"string","description":"The search query. Used for BM25 when keyword or hybrid search applies, and for the embedding when semantic or hybrid search applies."},"limit":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The maximum number of matches to return. Defaults to 20."},"semanticWeight":{"anyOf":[{"type":"number","minimum":0,"maximum":1,"multipleOf":0.1},{"type":"null"}],"description":"Controls the balance between semantic and keyword search. 0 = keyword only, 0.5 = equal mix, 1 = semantic only. Default is 0.7 (favor semantic search)."}},"required":["source","query","limit","semanticWeight"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"view_skill","description":"Retrieve detailed skills for TimescaleDB operations and best practices.\n\n## Available Skills\n\n<available_skills>\n[9\t]{name\tdescription}:\n  design-postgis-tables\tComprehensive PostGIS spatial table design reference covering geometry types, coordinate systems, spatial indexing, and performance patterns for location-based applications\n  design-postgres-tables\t\"Use this skill for general PostgreSQL table design.\\n\\n**Trigger when user asks to:**\\n- Design PostgreSQL tables, schemas, or data models when creating new tables and when modifying existing ones.\\n- Choose data types, constraints, or indexes for PostgreSQL\\n- Create user tables, order tables, reference tables, or JSONB schemas\\n- Understand PostgreSQL best practices for normalization, constraints, or indexing\\n- Design update-heavy, upsert-heavy, or OLTP-style tables\\n\\n\\n**Keywords:** PostgreSQL schema, table design, data types, PRIMARY KEY, FOREIGN KEY, indexes, B-tree, GIN, JSONB, constraints, normalization, identity columns, partitioning, row-level security\\n\\nComprehensive reference covering data types, indexing strategies, constraints, JSONB patterns, partitioning, and PostgreSQL-specific best practices.\\n\"\n  find-hypertable-candidates\t\"Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.\\n\\n**Trigger when user asks to:**\\n- Analyze database tables for hypertable conversion potential\\n- Identify time-series or event tables in an existing schema\\n- Evaluate if a table would benefit from Timescale/TimescaleDB\\n- Audit PostgreSQL tables for migration to Timescale/TimescaleDB/TigerData\\n- Score or rank tables for hypertable candidacy\\n\\n\\n**Keywords:** hypertable candidate, table analysis, migration assessment, Timescale, TimescaleDB, time-series detection, insert-heavy tables, event logs, audit tables\\n\\nProvides SQL queries to analyze table statistics, index patterns, and query patterns. Includes scoring criteria (8+ points = good candidate) and pattern recognition for IoT, events, transactions, and sequential data.\\n\"\n  migrate-postgres-tables-to-hypertables\t\"Use this skill to migrate identified PostgreSQL tables to Timescale/TimescaleDB hypertables with optimal configuration and validation.\\n\\n**Trigger when user asks to:**\\n- Migrate or convert PostgreSQL tables to hypertables\\n- Execute hypertable migration with minimal downtime\\n- Plan blue-green migration for large tables\\n- Validate hypertable migration success\\n- Configure compression after migration\\n\\n**Prerequisites:** Tables already identified as candidates (use find-hypertable-candidates first if needed)\\n\\n**Keywords:** migrate to hypertable, convert table, Timescale, TimescaleDB, blue-green migration, in-place conversion, create_hypertable, migration validation, compression setup\\n\\nStep-by-step migration planning including: partition column selection, chunk interval calculation, PK/constraint handling, migration execution (in-place vs blue-green), and performance validation queries.\\n\"\n  pgvector-semantic-search\t\"Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search.\\n\\n**Trigger when user asks to:**\\n- Store or search vector embeddings in PostgreSQL\\n- Set up semantic search, similarity search, or nearest neighbor search\\n- Create HNSW or IVFFlat indexes for vectors\\n- Implement RAG (Retrieval Augmented Generation) with PostgreSQL\\n- Optimize pgvector performance, recall, or memory usage\\n- Use binary quantization for large vector datasets\\n\\n**Keywords:** pgvector, embeddings, semantic search, vector similarity, HNSW, IVFFlat, halfvec, cosine distance, nearest neighbor, RAG, LLM, AI search\\n\\nCovers: halfvec storage, HNSW index configuration (m, ef_construction, ef_search), quantization strategies, filtered search, bulk loading, and performance tuning.\\n\"\n  postgres\t\"Use this skill for any PostgreSQL database work — table design, indexing, data types, constraints, extensions (pgvector, PostGIS, TimescaleDB), search, and migrations.\\n\\n**Trigger when user asks to:**\\n- Design or modify PostgreSQL tables, schemas, or data models\\n- Choose data types, constraints, indexes, or partitioning strategies\\n- Work with pgvector embeddings, semantic search, or RAG\\n- Set up full-text search, hybrid search, or BM25 ranking\\n- Use PostGIS for spatial/geographic data\\n- Set up TimescaleDB hypertables for time-series data\\n- Migrate tables to hypertables or evaluate migration candidates\\n- Plan or execute safe schema migrations with zero downtime\\n\\n**Keywords:** PostgreSQL, Postgres, SQL, schema, table design, indexes, constraints, pgvector, PostGIS, TimescaleDB, hypertable, semantic search, hybrid search, BM25, time-series, migration\\n\"\n  postgres-database-migration\t\"Use this skill for planning, testing, and safely executing PostgreSQL schema migrations — especially when working with production data or shared databases.\\n\\n**Trigger when user asks to:**\\n- Test a schema migration before applying it to production\\n- Add, remove, or rename columns safely on a live table\\n- Change a column's data type without downtime\\n- Add or drop indexes, constraints, or foreign keys on large tables\\n- Understand which ALTER TABLE operations lock the table\\n- Roll back a failed migration\\n- Plan a zero-downtime migration strategy\\n- Fork a database to test a migration safely\\n\\n**Keywords:** migration, schema change, ALTER TABLE, add column, drop column, rename column, change type, zero downtime, lock, AccessExclusiveLock, concurrent index, forking, rollback, backfill, deploy\\n\\nCovers: lock-level reference for every common DDL operation, safe migration patterns, fork-based testing, zero-downtime column changes, index creation, constraint addition, backfill strategies, pre/post-migration validation, and rollback planning.\\n\"\n  postgres-hybrid-text-search\t\"Use this skill to implement hybrid search combining BM25 keyword search with semantic vector search using Reciprocal Rank Fusion (RRF).\\n\\n**Trigger when user asks to:**\\n- Combine keyword and semantic search\\n- Implement hybrid search or multi-modal retrieval\\n- Use BM25/pg_textsearch with pgvector together\\n- Implement RRF (Reciprocal Rank Fusion) for search\\n- Build search that handles both exact terms and meaning\\n\\n\\n**Keywords:** hybrid search, BM25, pg_textsearch, RRF, reciprocal rank fusion, keyword search, full-text search, reranking, cross-encoder\\n\\nCovers: pg_textsearch BM25 index setup, parallel query patterns, client-side RRF fusion (Python/TypeScript), weighting strategies, and optional ML reranking.\\n\"\n  setup-timescaledb-hypertables\t\"Use this skill when creating database schemas or tables for Timescale, TimescaleDB, TigerData, or Tiger Cloud, especially for time-series, IoT, metrics, events, or log data. Use this to improve the performance of any insert-heavy table.\\n\\n**Trigger when user asks to:**\\n- Create or design SQL schemas/tables AND Timescale/TimescaleDB/TigerData/Tiger Cloud is available\\n- Set up hypertables, compression, retention policies, or continuous aggregates\\n- Configure partition columns, segment_by, order_by, or chunk intervals\\n- Optimize time-series database performance or storage\\n- Create tables for sensors, metrics, telemetry, events, or transaction logs\\n\\n**Keywords:** CREATE TABLE, hypertable, Timescale, TimescaleDB, time-series, IoT, metrics, sensor data, compression policy, continuous aggregates, columnstore, retention policy, chunk interval, segment_by, order_by\\n\\nStep-by-step instructions for hypertable creation, column selection, compression policies, retention, continuous aggregates, and indexes.\\n\"\n</available_skills>","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"skill_name":{"type":"string","description":"The name of the skill to browse, or `.` to list all available skills."},"path":{"type":"string","description":"A relative path to a file or directory within the skill to view.\nIf empty, will view the `SKILL.md` file by default.\nUse `.` to list the root directory of the skill."}},"required":["skill_name","path"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-20T11:40:30.781Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:40:30.694Z","components":{"code":{"score":25,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 940ms"]},"poisoning":{"score":13,"max":15,"notes":["2 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"poison.long-description","severity":"low","component":"poisoning","title":"Unusually long tool description (over 2,000 characters)","evidence":"tool view_skill: …Retrieve detailed skills for TimescaleDB operations and best practices. ## Available Skills <available_skills> [9 ]{name description}: design-postgis-tables Comprehensive PostGIS spatial table design reference covering geometry types, coordinate systems, spatial indexing, and performance patterns for location-based applications design-postgres-tables \"Use this skill for general PostgreSQL table design.\\n\\n**Trigger when user asks to:**\\n- Design PostgreSQL tables, schemas, or data models when creating new tables and when modifying existing ones.\\n- Choose data types, constraints, or indexes for PostgreSQL\\n- Create user tables, order tables, reference tables, or JSONB schemas\\n- Understand PostgreSQL best practices for normalization, constraints, or indexing\\n- Design update-heavy, upsert-heavy, or OLTP-style tables\\n\\n\\n**Keywords:** PostgreSQL schema, table design, data types, PRIMARY KEY, FOREIGN KEY, indexes, B-tree, GIN, JSONB, constraints, normalization, identity columns, partitioning, row-level security\\n\\nComprehensive reference covering data types, indexing strategies, constraints, JSONB patterns, partitioning, and PostgreSQL-specific best practices.\\n\" find-hypertable-candidates \"Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.\\n\\n**Trigger when user asks to:**\\n- Analyze database tables for hypertable conversion potential\\n- Identify time-series or event tables in an existing schema\\n- Evaluate if a table would benefit from Timescale/TimescaleDB\\n- Audit PostgreSQL tables for migration to Timescale/TimescaleDB/TigerData\\n- Score or rank tables for hypertable candidacy\\n\\n\\n**Keywords:** hypertable candidate, table analysis, migration assessment, Timescale, TimescaleDB, time-series detection, insert-heavy tables, event logs, audit tables\\n\\nProvides SQL queries to analyze table statistics, index patterns, and query patterns. Includes scoring criteria (8+ points = good candidate) and pattern recognition for IoT, events, transactions, and sequential data.\\n\" migrate-postgres-tables-to-hypertables \"Use this skill to migrate identified PostgreSQL tables to Timescale/TimescaleDB hypertables with optimal configuration and validation.\\n\\n**Trigger when user asks to:**\\n- Migrate or convert PostgreSQL tables to hypertables\\n- Execute hypertable migration with minimal downtime\\n- Plan blue-green migration for large tables\\n- Validate hypertable migration success\\n- Configure compression after migration\\n\\n**Prerequisites:** Tables already identified as candidates (use find-hypertable-candidates first if needed)\\n\\n**Keywords:** migrate to hypertable, convert table, Timescale, TimescaleDB, blue-green migration, in-place conversion, create_hypertable, migration validation, compression setup\\n\\nStep-by-step migration planning including: partition column selection, chunk interval calculation, PK/constraint handling, migration execution (in-place vs blue-green), and performance validation queries.\\n\" pgvector-semantic-search \"Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search.\\n\\n**Trigger when user asks to:**\\n- Store or search vector embeddings in PostgreSQL\\n- Set up semantic search, similarity search, or nearest neighbor search\\n- Create HNSW or IVFFlat indexes for vectors\\n- Implement RAG (Retrieval Augmented Generation) with PostgreSQL\\n- Optimize pgvector performance, recall, or memory usage\\n- Use binary quantization for large vector datasets\\n\\n**Keywords:** pgvector, embeddings, semantic search, vector similarity, HNSW, IVFFlat, halfvec, cosine distance, nearest neighbor, RAG, LLM, AI search\\n\\nCovers: halfvec storage, HNSW index configuration (m, ef_construction, ef_search), quantization strategies, filtered search, bulk loading, and performance tuning.\\n\" postgres \"Use this skill for any PostgreSQL database work — table design, indexing, data types, constraints, extensions (pgvector, PostGIS, TimescaleDB), search, and migrations.\\n\\n**Trigger when user asks to:**\\n- Design or modify PostgreSQL tables, schemas, or data models\\n- Choose data types, constraints, indexes, or partitioning strategies\\n- Work with pgvector embeddings, semantic search, or RAG\\n- Set up full-text search, hybrid search, or BM25 ranking\\n- Use PostGIS for spatial/geographic data\\n- Set up TimescaleDB hypertables for time-series data\\n- Migrate tables to hypertables or evaluate migration candidates\\n- Plan or execute safe schema migrations with zero downtime\\n\\n**Keywords:** PostgreSQL, Postgres, SQL, schema, table design, indexes, constraints, pgvector, PostGIS, TimescaleDB, hypertable, semantic search, hybrid search, BM25, time-series, migration\\n\" postgres-database-migration \"Use this skill for planning, testing, and safely executing PostgreSQL schema migrations — especially when working with production data or shared databases.\\n\\n**Trigger when user asks to:**\\n- Test a schema migration before applying it to production\\n- Add, remove, or rename columns safely on a live table\\n- Change a column's data type without downtime\\n- Add or drop indexes, constraints, or foreign keys on large tables\\n- Understand which ALTER TABLE operations lock the table\\n- Roll back a failed migration\\n- Plan a zero-downtime migration strategy\\n- Fork a database to test a migration safely\\n\\n**Keywords:** migration, schema change, ALTER TABLE, add column, drop column, rename column, change type, zero downtime, lock, AccessExclusiveLock, concurrent index, forking, rollback, backfill, deploy\\n\\nCovers: lock-level reference for every common DDL operation, safe migration patterns, fork-based testing, zero-downtime column changes, index creation, constraint addition, backfill strategies, pre/post-migration validation, and rollback planning.\\n\" postgres-hybrid-text-search \"Use this skill to implement hybrid search combining BM25 keyword search with semantic vector search using Reciprocal Rank Fusion (RRF).\\n\\n**Trigger when user asks to:**\\n- Combine keyword and semantic search\\n- Implement hybrid search or multi-modal retrieval\\n- Use BM25/pg_textsearch with pgvector together\\n- Implement RRF (Reciprocal Rank Fusion) for search\\n- Build search that handles both exact terms and meaning\\n\\n\\n**Keywords:** hybrid search, BM25, pg_textsearch, RRF, reciprocal rank fusion, keyword search, full-text search, reranking, cross-encoder\\n\\nCovers: pg_textsearch BM25 index setup, parallel query patterns, client-side RRF fusion (Python/TypeScript), weighting strategies, and optional ML reranking.\\n\" setup-timescaledb-hypertables \"Use this skill when creating database schemas or tables for Timescale, TimescaleDB, TigerData, or Tiger Cloud, especially for time-series, IoT, metrics, events, or log data. Use this to improve the performance of any insert-heavy table.\\n\\n**Trigger when user asks to:**\\n- Create or design SQL schemas/tables AND Timescale/TimescaleDB/TigerData/Tiger Cloud is available\\n- Set up hypertables, compression, retention policies, or continuous aggregates\\n- Configure partition columns, segment_by, order_by, or chunk intervals\\n- Optimize time-series database performance or storage\\n- Create tables for sensors, metrics, telemetry, events, or transaction logs\\n\\n**Keywords:** CREATE TABLE, hypertable, Timescale, TimescaleDB, time-series, IoT, metrics, sensor data, compression policy, continuous aggregates, columnstore, retention policy, chunk interval, segment_by, order_by\\n\\nStep-by-step instructions for hypertable creation, column selection, compression policies, retention, continuous aggregates, and indexes.\\n\" </available_skills>…"}],"inputs":{"probes":[{"url":"https://mcp.tigerdata.com/docs","reachable":true,"authRequired":false,"latencyMs":940,"serverInfo":{"name":"pg-aiguide","version":"1.0.0"}}],"packages":[{"registryType":"npm","identifier":"@tigerdata/pg-aiguide","version":"0.6.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":9,"publishedAt":"2026-09-04T19:15:41.489Z","repositoryUrl":"git+https://github.com/timescale/pg-aiguide.git","weeklyDownloads":123}],"repo":{"found":true,"owner":"timescale","repo":"pg-aiguide","archived":false,"pushedAt":"2026-09-16T04:54:54Z","stars":1848,"forks":109,"openIssues":8,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/8986001?v=4","ownerCreatedAt":"2014-10-01T15:06:29Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/8986001?v=4&s=128","source":"github"},"presence":{"stars":1848,"forks":109,"downloadsWeek":123,"license":"Apache-2.0","lastPushAt":"2026-09-16T04:54:54.000Z","score":62}}}},"grade_history":[],"reviews":[]}