guarded-sql-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABASE_URL | Yes | PostgreSQL connection URL, e.g. postgres://mcp_readonly:mcp_readonly_dev@localhost:5432/inventory. Always connect as mcp_readonly, never as the owner. | |
| STATEMENT_TIMEOUT_MS | No | Per-statement timeout inside each transaction, in milliseconds. | 5000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sitesA | List all sites with their code, city and number of non-retired devices. |
| search_devicesB | Search devices by site, status and operating system. Returns hostname, site, OS, status, IP and last check-in time. |
| get_deviceA | Get one device by hostname, including its site and the name and email of the person it is assigned to. |
| find_peopleA | Find people whose name or email contains the given text. Returns name, email, department and site. |
| device_softwareA | List software installed on a device, optionally filtered by package name. |
| stale_devicesA | List non-retired devices that have not checked in for at least the given number of days (or never), oldest first. |
| open_ticketsA | List tickets that are not closed, highest priority first, optionally filtered by site and priority. |
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
search_devices and get_device have a clear plural-vs-single boundary, and stale_devices is a distinct specialized filter. device_software, find_people, and open_tickets each target clearly different resources. Minor risk of overlap between search_devices and stale_devices since both return device lists.
list_sites, search_devices, get_device, and find_people follow a verb_noun pattern, but device_software, stale_devices, and open_tickets are noun-only phrases. The mix of verb-led and noun-led names breaks predictability, and search vs find for similar lookups is inconsistent.
Seven tools is a well-scoped set that cleanly covers the main entities (sites, devices, people, software, tickets). Each tool earns its place with no redundancy or bloat.
The read-only surface covers broad listing and lookup but lacks single-record detail for sites, people, and tickets (e.g. get_site, get_ticket), and there is no way to fetch a ticket's details or a person's assigned devices. Core workflows are usable but leave dead ends.