amu-pgvector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AMU_PGVECTOR_DSN | No | Postgres DSN for the role the server runs as. Results are gated by row-level security under this role. | |
| AMU_PGVECTOR_EMBEDDING_DIM | No | Embedding dimension for the fallback embedder. Default 1536. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| amu_searchB | Search lineage-gated Analytical Memory Units (AMUs) by semantic similarity to a natural-language query. Results are lineage-gated by Postgres row-level security under this server's own Postgres role: an Analytical Memory Unit (AMU) is only ever returned if every sensitive column touched by its derivation is in this role's permitted set. This tool cannot bypass that gate. |
| amu_recordA | Record a new Analytical Memory Unit (AMU). Lineage is extracted from the executed |
| amu_check_conflictA | Check whether another department has already recorded a conflicting definition of the same metric_name (same name, different derivation / definition_hash). Returns only department names and hashes -- never values or lineage -- so this cannot become a side channel around the gate. |
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 3 tools
The three tools map to distinct operations: a pre-write conflict check, a write, and a semantic read. amu_check_conflict and amu_search both read from the AMU store, which could momentarily overlap, but their descriptions (exact metric_name/hash match vs. natural-language similarity query) clearly separate them.
All tools share a consistent amu_ prefix and use lowercase snake_case, so the set reads as a coherent family. Minor deviation: amu_check_conflict follows verb_noun while amu_record and amu_search are bare verbs, but this is still readable and predictable.
With only 3 tools the surface is on the lean side, but each tool is well-scoped to a distinct step of the AMU lifecycle (record, retrieve, conflict-check), so nothing feels redundant or padded. It is slightly under-provisioned rather than excessive.
The core write/search/conflict-check loop is covered, but there is no way to fetch or list an AMU by identifier or metric_name outside of a semantic query, and no update/delete path (which may be intentional for immutable, lineage-gated memory). These are notable gaps an agent would hit when trying to enumerate or revisit known AMUs.