Skip to main content
Glama
coreprocess

Periscope MCP

Official
by coreprocess

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PERISCOPE_HOSTNoHost to bind the server to (e.g., 0.0.0.0).
PERISCOPE_PORTNoPort to bind the server to (e.g., 8765).
PERISCOPE_SOURCE_NNoNumber of sources configured. Sources are indexed starting from 0.
PERISCOPE_TRANSPORTNoTransport mode for the server. The published image runs the HTTP transport by default.
PERISCOPE_PUBLIC_URLNoPublic URL for download links (e.g., http://127.0.0.1:8765).
PERISCOPE_SOURCE_0_URLNoConnection URL for source 0 (e.g., postgres://reader:secret@db:5432/shop).
PERISCOPE_SOURCE_1_URLNoConnection URL for source 1 (e.g., rediss://default:secret@cache:6380).
PERISCOPE_SOURCE_0_NAMENoName of source 0 (e.g., shop).
PERISCOPE_SOURCE_0_TYPENoType of source 0 (e.g., postgres).
PERISCOPE_SOURCE_1_NAMENoName of source 1 (e.g., cache).
PERISCOPE_SOURCE_1_TYPENoType 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues