Periscope MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PERISCOPE_HOST | No | Host to bind the server to (e.g., 0.0.0.0). | |
| PERISCOPE_PORT | No | Port to bind the server to (e.g., 8765). | |
| PERISCOPE_SOURCE_N | No | Number of sources configured. Sources are indexed starting from 0. | |
| PERISCOPE_TRANSPORT | No | Transport mode for the server. The published image runs the HTTP transport by default. | |
| PERISCOPE_PUBLIC_URL | No | Public URL for download links (e.g., http://127.0.0.1:8765). | |
| PERISCOPE_SOURCE_0_URL | No | Connection URL for source 0 (e.g., postgres://reader:secret@db:5432/shop). | |
| PERISCOPE_SOURCE_1_URL | No | Connection URL for source 1 (e.g., rediss://default:secret@cache:6380). | |
| PERISCOPE_SOURCE_0_NAME | No | Name of source 0 (e.g., shop). | |
| PERISCOPE_SOURCE_0_TYPE | No | Type of source 0 (e.g., postgres). | |
| PERISCOPE_SOURCE_1_NAME | No | Name of source 1 (e.g., cache). | |
| PERISCOPE_SOURCE_1_TYPE | No | Type of source 1 (e.g., redis). |
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_sourcesA | Lists the data sources you may query: name, type, query language, dialect hints, options, limits and the active read-only layers. |
| describeA | Browses metadata of a source step by step (schemas/tables/columns, databases/containers with sampled schemas, blob prefixes, Log Analytics tables, Redis key prefixes). Use path to drill down and filter (with * wildcards) to narrow. |
| queryA | Starts a read-only query and returns a resultId immediately. Query language depends on the source (see list_sources). Invalid or non-read-only queries are rejected right away with a reason. Then call get_result / read_result. |
| get_resultB | Status, progress, schema, row counts, window limits and download information (one manifest URL; all files are listed in the manifest). Use wait (seconds, max 10) to wait for a status change. |
| read_resultA | Returns one window of a result inline: rows (offset, limit, optional columns), or for blob results the content of a referenced text file by line range (file, lineOffset, lineLimit) or an image (file). Long values are truncated; downloads keep full values. |
| cancel_queryC | Stops a running query. Parts already written stay readable until the result expires. |
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 6 tools
The tools split cleanly along the query lifecycle: discovery (list_sources, describe), execution (query, cancel_query), monitoring (get_result) and retrieval (read_result), and each description explains its role in the sequence. The only mild overlap is get_result vs read_result, which sound similar (status/manifest vs inline rows) and rely on the descriptions to separate.
Most names are consistent snake_case verb_noun (list_sources, get_result, read_result, cancel_query), which is predictable. The two bare verbs 'describe' and 'query' deviate slightly from the pattern but remain readable and verb-first.
Six tools is well-scoped for a read-only federated query service; each one maps to a distinct lifecycle stage (list, describe, start, poll, read, cancel) with no filler. Nothing feels thin or bloated.
The full async query lifecycle is covered: source discovery, metadata drill-down, query start, status/progress polling, windowed row/blob retrieval with download manifest, and cancellation. No obvious dead ends for a read-only query server.