# Periscope (mcpb · linux-x64)

MCP broker into your live Neovim/diver config: LSP, formatters, linters, DAP, MATE attention.

- Trust score: 36/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- mcpb · `linux-x64`: 36/100 (this document), [markdown](https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64.md), [page](https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/qompassai/periscope/releases/download/v0.1.0/periscope-mcp-0.1.0-linux-x64.mcpb`
- Transport: `stdio`
- SHA-256: `e89eaaedb868ca7825f2d1247608dc74c35911b88d33ff633e2857a6b63952bc`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Supply Chain Security**: 0/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 2 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1138 tokens (~71/item across 16 items; 16 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "attention_publish" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the Periscope MCP server?

Periscope ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, e89eaaedb868ca7825f2d1247608dc74c35911b88d33ff633e2857a6b63952bc; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/qompassai/periscope/releases/download/v0.1.0/periscope-mcp-0.1.0-linux-x64.mcpb`
- SHA-256: `e89eaaedb868ca7825f2d1247608dc74c35911b88d33ff633e2857a6b63952bc`

### Verify on macOS / Linux

```bash
echo "e89eaaedb868ca7825f2d1247608dc74c35911b88d33ff633e2857a6b63952bc  periscope-mcp-0.1.0-linux-x64.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\periscope-mcp-0.1.0-linux-x64.mcpb).Hash -eq "e89eaaedb868ca7825f2d1247608dc74c35911b88d33ff633e2857a6b63952bc"
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-21 (score 36)

First indexed and scored.

## MCP tools (16)

### `attention_alignment` (~64 tokens)

Alignment between your published focus and a partner agent's focus, measured only inside one saliency snapshot frame (Jaccard overlap, shared targets, shared top). Refused across frames.

Input parameters:

- `agent_id` (string, required): The partner agent whose advertised focus to read or compare against.

### `attention_decide` (~73 tokens)

Coordination decision against a partner agent's focus: parallel (no contention), serialize (same top target — the named holder proceeds, you defer), or reject (stale frame or invalid focus — re-snapshot, never guess).

Input parameters:

- `agent_id` (string, required): The partner agent whose advertised focus to read or compare against.

### `attention_focus` (~55 tokens)

Read a partner agent's currently advertised focus (ordered salient targets + the saliency snapshot hash it was computed from) from the coordination board.

Input parameters:

- `agent_id` (string, required): The partner agent whose advertised focus to read or compare against.

### `attention_publish` (~73 tokens)

Publish your attention focus to the coordination board. The focus document's agent_id must equal your client identity; sequences must strictly advance. Bounded: at most 8 targets.

Input parameters:

- `focus` (object, required): A focus document: {agent_id, snapshot_hash, seq, targets[]} — ordered salient targets, most salient first.

### `broker_status` (~30 tokens)

Report the broker mode (managed or attached), the editor version, its config root, and its working directory.

### `get_definition` (~97 tokens)

Definitions of the symbol at a position, from the editor's attached language servers, merged across clients.

Input parameters:

- `character` (integer, required): 0-based character offset in UTF-16 code units (the LSP convention).
- `line` (integer, required): 0-based line number.
- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `get_diagnostics` (~72 tokens)

Diagnostics for one file from every source the editor aggregates (language servers and the linter pipeline), each entry naming its producing tool in `source`.

Input parameters:

- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `get_document_symbols` (~63 tokens)

The symbol outline of one file, flattened with container names, from the editor's attached language servers.

Input parameters:

- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `get_hover` (~99 tokens)

Hover text (types, documentation) for the symbol at a position, from the editor's attached language servers.

Input parameters:

- `character` (integer, required): 0-based character offset in UTF-16 code units (the LSP convention).
- `line` (integer, required): 0-based line number.
- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `get_references` (~104 tokens)

References to the symbol at a position, merged across the editor's attached language servers.

Input parameters:

- `character` (integer, required): 0-based character offset in UTF-16 code units (the LSP convention).
- `include_declaration` (boolean)
- `line` (integer, required): 0-based line number.
- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `list_dap` (~38 tokens)

The debug setup the config ships: per-language dap modules, adapters registered with nvim-dap right now, and launch configurations by filetype.

### `list_formatters` (~18 tokens)

Every formatter in the editor config's registry.

### `list_linters` (~24 tokens)

Every linter in the editor config's registry (internal helpers reported separately).

### `list_servers` (~26 tokens)

Every language server the editor config defines, plus the clients active in the editor right now.

### `run_format` (~172 tokens)

Format one file with the editor config's own formatter pipeline and return the result. The formatted text is applied to the brokered editor's buffer and returned in `text`; the file on disk is never written (`written` is always false). With no `formatters`, the filetype's configured pipeline runs (including the pipeline's LSP fallback unless `lsp` is 'never').

Input parameters:

- `formatters` (array): Explicit formatter names to run, in order. Omit for the filetype's configured pipeline.
- `lsp` (string): The pipeline's LSP mode. 'only' cannot be combined with explicit `formatters`.
- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

### `run_lint` (~130 tokens)

Lint one file with the editor config's own linter runner and return per-linter results: status, exit code, and the diagnostics each linter produced (every diagnostic names its linter in `source`). With no `linters`, the filetype's configured set runs. Nothing is written to disk.

Input parameters:

- `linters` (array): Explicit linter names to run. Omit for the filetype's configured set.
- `path` (string, required): Absolute path of the file to inspect. It is loaded into the brokered editor (without being displayed) if it is not open yet.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64#diagnostics

## Score history

- 2026-10-24: 36
- 2026-10-23: 36
- 2026-10-22: 36
- 2026-10-21: 36

## Common questions

### What is the Periscope MCP server?

Periscope is an MCP server listed in the public MCP registry as ai.qompass/periscope. MCP broker into your live Neovim/diver config: LSP, formatters, linters, DAP, MATE attention. This page covers its MCPB bundle (https://github.com/qompassai/periscope/releases/download/v0.1.0/periscope-mcp-0.1.0-linux-x64.mcpb).

### Is the Periscope MCP server safe to use?

Periscope scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Periscope MCP server expose?

Periscope exposes 16 tools: attention_alignment, attention_decide, attention_focus, attention_publish, broker_status, and 11 more. Their descriptions and schemas cost roughly 1,138 tokens of context every time the server is loaded.

### What licence is the Periscope MCP server under?

Periscope declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/qompassai/periscope
- Website: https://qompass.ai/solutions/periscope/
- Changelog RSS feed: https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64.json
- HTML version of this page: https://verifymcp.io/servers/ai-qompass-periscope/periscope-mcp-linux-x64
