mcp-server-pgvector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABASE_URL | No | PostgreSQL connection string (e.g., postgresql://user:password@localhost:5432/mydb) | |
| PGVECTOR_DATABASE_URL | No | Alternative PostgreSQL connection string | |
| MCP_PGVECTOR_READ_ONLY | No | Set to 'true' to disable write tools (upsert_embedding, create_vector_index). Default is 'false'. | false |
| MCP_PGVECTOR_COMMAND_TIMEOUT_SECONDS | No | Per-command timeout in seconds. Set to '0' to disable. Default is '30'. | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_vector_tablesA | List every column of type |
| describe_vector_tableA | Get columns, indexes, and an approximate row count for a table. |
| similarity_searchB | Find the k nearest neighbors to a query embedding. |
| hybrid_searchA | Rank rows by a weighted blend of vector similarity and Postgres full-text search. |
| upsert_embeddingB | Insert a row or update it in place if |
| create_vector_indexB | Create an HNSW or IVFFlat approximate-nearest-neighbor index on a vector column. |
| explain_similarity_queryB | Run EXPLAIN ANALYZE on a similarity query to confirm an ANN index is used. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct role: discovery (list_vector_tables, describe_vector_table), search (similarity_search, hybrid_search), data modification (upsert_embedding), indexing (create_vector_index), and diagnostics (explain_similarity_query). No two tools overlap in purpose.
All tools follow a consistent verb_noun snake_case pattern (list_, describe_, create_, upsert_, explain_) or use noun_verb for search operations. The naming style is uniform and predictable.
Seven tools is well within the ideal 3-15 range. Each tool earns its place, covering discovery, search, ingestion, indexing, and query analysis without redundancy.
The toolkit covers the core pgvector workflow: list tables, describe schema, create index, upsert vectors, search, and explain query plans. Minor gaps like a delete_embedding or drop_index tool are missing, but they are not essential for the primary use case.