# Orrery (npm · @sagargupta1610/orrery)

Architecture diagrams with official AWS, Azure, GCP and Kubernetes icons, to SVG, PNG and draw.io

- Trust score: 88/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- mcpb · `orrery-0.12.2.mcpb`: 48/100, [markdown](https://verifymcp.io/servers/sagargupta16-orrery/orrery.md), [page](https://verifymcp.io/servers/sagargupta16-orrery/orrery)
- npm · `@sagargupta1610/orrery`: 88/100 (this document), [markdown](https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery.md), [page](https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery)

## Channel facts

- Registry: `npm`
- Package: `@sagargupta1610/orrery`
- Version: `0.12.2`
- Transport: `stdio`

## 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-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Sagargupta16/orrery).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 2 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 75/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1808 tokens (~164/item across 11 items; 10 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 50/100
  - Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 98% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

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

Orrery runs locally as an npm package, launched with npx -y @sagargupta1610/orrery. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sagargupta16-orrery -- npx -y @sagargupta1610/orrery
```

### Cursor

```json
{
  "mcpServers": {
    "sagargupta16-orrery": {
      "command": "npx",
      "args": [
        "-y",
        "@sagargupta1610/orrery"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sagargupta16-orrery": {
      "command": "npx",
      "args": [
        "-y",
        "@sagargupta1610/orrery"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sagargupta16-orrery -- npx -y @sagargupta1610/orrery
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sagargupta16-orrery": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@sagargupta1610/orrery"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sagargupta16-orrery --command npx --arg -y --arg @sagargupta1610/orrery
```

### Hermes

```yaml
mcp_servers:
  sagargupta16-orrery:
    command: "npx"
    args: ["-y", "@sagargupta1610/orrery"]
```

### Netclaw

```json
{
  "McpServers": {
    "sagargupta16-orrery": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@sagargupta1610/orrery"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sagargupta16-orrery -t stdio -c npx -a -y @sagargupta1610/orrery
```

### Other

```json
{
  "mcpServers": {
    "sagargupta16-orrery": {
      "command": "npx",
      "args": [
        "-y",
        "@sagargupta1610/orrery"
      ]
    }
  }
}
```

## 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-11-04 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 87, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-02 (score 72, −15)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 0.12.1 → 0.12.2

### 2026-11-01 (score 87, +2)

- [functional improvement] Security disclosure: unverified → pass

### 2026-10-31 (score 85, −1)

- [functional regression] Security disclosure: pass → unverified

### 2026-10-30 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (10)

### `get_authoring_guide` (~67 tokens)

Authoring guide

Read this before writing a spec. topic diagram (default) returns the orrery skill (fast path, authoring rules, outputs) and the full spec reference; topic review returns the review loop and the patch ops try_patches takes.

Input parameters:

- `topic` (string)

### `validate` (~140 tokens)

Validate a spec

Check a spec without rendering: parse errors, unknown icons (with the closest ids), bad references and layout warnings, each with a code, a message and concrete fixes. Returns JSON with ok, the counts, the diagnostics and the diagram's size.

Input parameters:

- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.

### `render` (~313 tokens)

Render a diagram

Render a spec to SVG, PNG, draw.io, editable draw.io SVG, a React TSX component or a standalone HTML page. Nothing renders while the spec has errors (see the diagnostics). With out_dir (stdio only) the files are written there and their paths returned; otherwise the result carries a JSON receipt, then each output in order: PNGs as images, the others as text.

Input parameters:

- `animate` (string): SVG motion: packets, flow, relay or none. Default: the skin's (packets for classic, relay for stage). PNG is always still.
- `formats` (array): Default: svg and png.
- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `out_dir` (string): Absolute folder to write the files to (stdio only). Existing files are replaced.
- `scale` (number): PNG pixels per diagram unit. Default 3 with out_dir, 2 inline.
- `skin` (string): classic (vendor deck look) or stage (dark product look). Default: the spec's skin.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.
- `theme` (string): both renders a light and a dark file. Default: the spec's theme.

### `review` (~237 tokens)

Review a diagram

Measure the diagram at the width readers see it (a README column is 880 px): six scored dimensions (conventions, layout, grid, flow, overlap, quality), hard counts, findings with evidence and spec fixes, and pass (no blocker or major and score >= 85). Returns the report JSON and the PNG exactly as the reader sees it. A failing review is a normal result: fix the spec, or try fixes with try_patches.

Input parameters:

- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `skin` (string): classic (vendor deck look) or stage (dark product look). Default: the spec's skin.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.
- `theme` (string): Default: the spec's theme.
- `width` (integer): Display width in CSS px. Default 880.

### `describe` (~193 tokens)

Describe a diagram

Lay the spec out and tell what the picture shows in plain text: the title, each group and the nodes in it, each node's place in reading order (row from the top, then from the left) and its edges with their labels, and the numbered steps. Use it to check the drawing says what you meant without looking at an image, or as alt text. format json returns the same as data. A spec with errors returns its diagnostics instead.

Input parameters:

- `format` (string): Default: text.
- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.

### `icons_search` (~116 tokens)

Search icons

Find icon ids for a spec's icon: field across the official AWS, Azure, Google Cloud, Kubernetes, GitHub and IBM packs, 5,500 tech logos and the generic symbol sets, ranked best first. Returns JSON: id, name, category, type.

Input parameters:

- `limit` (integer): Default 15.
- `pack` (string): Only this pack.
- `type` (string): Only this kind of icon.
- `words` (string, required): What to draw, for example 'load balancer' or 'redis'.

### `list_templates` (~53 tokens)

List templates

The bundled reference diagrams (AWS, Azure, Google Cloud, Kubernetes, C4, system design, flowcharts, BPMN, state machines, journeys), each with its title. Start from the closest one with get_template.

### `get_template` (~52 tokens)

Get a template

One bundled template's spec YAML (names from list_templates; starter is the general one). Edit it and pass it to validate, render or review as spec.

Input parameters:

- `name` (string, required): A name from list_templates.

### `try_patches` (~297 tokens)

Try spec patches

Review each candidate (a list of patch ops) on its own copy of the spec and keep only those that raise the score without raising any hard count or adding a blocker or major finding. Ops: {op: set, path, value}, {op: unset, path}, {op: add, path, value}, {op: move, path, after|before}, {op: edge, match: a spec edge line or null to append, value: the new line or null to remove}; paths are dotted, for example nodes.db.note. Returns each candidate's score and verdict, then the best patched spec text when one was kept.

Input parameters:

- `candidates` (array, required): Candidate fixes, each a list of patch ops applied in order.
- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `skin` (string): classic (vendor deck look) or stage (dark product look). Default: the spec's skin.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.
- `theme` (string): Default: the spec's theme.
- `width` (integer): Display width in CSS px. Default 880.

### `drawio_link` (~169 tokens)

Open in diagrams.net

A link that opens the diagram in diagrams.net, loaded and editable. Nothing is uploaded: the draw.io file travels in the link's fragment, which the browser never sends to a server.

Input parameters:

- `name` (string): File name stem for outputs: lowercase letters, digits and -. Default: the spec file's name, else diagram.
- `skin` (string): classic (vendor deck look) or stage (dark product look). Default: the spec's skin.
- `spec` (string): The diagram spec as YAML (or JSON) text. Pass this or spec_path, not both.
- `spec_path` (string): Absolute path of a spec file on this machine (stdio only). Its folder resolves relative icons: paths.
- `theme` (string): Default: the spec's theme.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery#diagnostics

## Score history

- 2026-11-05: 88
- 2026-11-04: 88
- 2026-11-03: 87
- 2026-11-02: 72
- 2026-11-01: 87
- 2026-10-31: 85
- 2026-10-30: 86
- 2026-10-29: 85
- 2026-10-28: 85
- 2026-10-27: 84
- 2026-10-26: 84
- 2026-10-25: 83
- 2026-10-24: 68
- 2026-10-23: 81
- 2026-10-22: 81
- 2026-10-21: 66

## Common questions

### What is the Orrery MCP server?

Orrery is an MCP server listed in the public MCP registry as io.github.Sagargupta16/orrery. Architecture diagrams with official AWS, Azure, GCP and Kubernetes icons, to SVG, PNG and draw.io. This page covers its npm package (@sagargupta1610/orrery).

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

Orrery scores 88 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 Orrery MCP server expose?

Orrery exposes 10 tools: get_authoring_guide, validate, render, review, describe, and 5 more. Their descriptions and schemas cost roughly 1,637 tokens of context every time the server is loaded.

### Is the Orrery MCP server still maintained?

Orrery is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

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

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

## Links

- npm package: https://www.npmjs.com/package/@sagargupta1610/orrery
- Socket report: https://socket.dev/npm/package/@sagargupta1610/orrery
- Repository: https://github.com/Sagargupta16/orrery
- Website: https://sagargupta.online/orrery/
- Changelog RSS feed: https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery.xml
- Changelog JSON feed: https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery.json
- HTML version of this page: https://verifymcp.io/servers/sagargupta16-orrery/sagargupta1610-orrery
