About PixInsight Connector
PixInsight Connector lets AI agents operate PixInsight through a broad set of image-processing tools, for astronomy imaging workflows guided by user-maintained skills. It provides operations rather than prescribing processing sequences or image-quality judgments.
Key features
- 01Operate PixInsight through MCP tools
- 02Access image and process operations
- 03Run PJSR execution tools
- 04Use skills to guide techniques
- 05Load configured tool packs
Use cases
- 01Control PixInsight in an agent chat
- 02Apply a skill-guided imaging workflow
- 03Run image measurements and previews
- 04Extend available tools with packs
MCP support
Exposes PixInsight operations as tools to MCP clients and AI agents. PixInsight starts on the first tool call; skills supply processing knowledge separately.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y pixinsight-connectorPIXINSIGHT_BINPath to the PixInsight executable. When unset, the default install location for the OS is used.PIXINSIGHT_DIRPixInsight install root, from which the executable and its resources are derived. When unset, the default install location for the OS is used.PIXINSIGHT_CONNECTOR_PACKSComma-separated tool packs to load: pack directories and .mjs files (an npm package by the path to its folder). Empty: no packs.PIXINSIGHT_CONNECTOR_AUTOSTART0 stops the connector from starting PixInsight when a tool call finds it not running.PIXINSIGHT_CONNECTOR_WORKSPACEThe target folder the tools work in (session files in its agentic folder, results in its output folder). When unset, the folder the connector was started in; the set_workspace tool overrides both.PIXINSIGHT_CONNECTOR_STATEWhere the connector's session files (scratch, bridge, logs) go, resolved against the target folder. When unset, <target>/agentic.PIXINSIGHT_CONNECTOR_LOG0 turns off the per-session call logs in <target>/agentic/logs.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
91Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| overwrite | boolean | No | Overwrite existing registered files (default false) |
| batch_size | integer | No | Targets per StarAlignment execution, 1 to 20 (default 20) |
| output_dir | string | No | Folder for registered files: relative to <workspace>/output, or absolute inside <workspace>/output or the state folder. Not used with matrix_only |
| matrix_only | boolean | No | Compute the registration only; keep no image files (default false) |
| target_files | array | Yes | Absolute paths of the files to register |
| interpolation | enum | No | StarAlignment pixel interpolation; omitted, PixInsight's defaultAuto | NearestNeighbor | Bilinear | BicubicSpline | BicubicBSpline | Lanczos3 | Lanczos4 | Lanczos5 | MitchellNetravaliFilter | CatmullRomSplineFilter | CubicBSplineFilter |
| output_postfix | string | No | Suffix of registered file names (default "_r") |
| reference_file | string | Yes | Absolute path of the reference image file |
| distortion_correction | boolean | No | StarAlignment distortion correction; omitted, PixInsight's default |
Details
From the project READMEPixInsight Connector
An MCP connector that lets any AI agent operate PixInsight: about 80 PixInsight operations as tools, for chat sessions and the skills that guide them. New here? Start with the Quick start.
Community project, not affiliated with or endorsed by Pleiades Astrophoto. PixInsight® is a registered trademark of Pleiades Astrophoto S.L.
The principle: a toolbox, not a pipeline
The connector knows how to operate PixInsight, never what makes a good picture. No pipeline, no ordering, no recommended values, no verdicts: every tool takes the values that shape the image as inputs, and every measurement returns numbers. The knowledge (which tools, in what order, with which values, what counts as good enough) lives in skills: markdown in your own repositories, public or private.
%%{init: {'theme': 'base', 'flowchart': {'wrappingWidth': 400, 'curve': 'basis', 'padding': 18}, 'themeVariables': {'fontFamily': "-apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Helvetica, Arial, sans-serif", 'lineColor': '#94a3b8', 'textColor': '#334155', 'edgeLabelBackground': '#e2e8f0'}}}%%
flowchart TB
classDef know fill:#0f766e,stroke:#115e59,color:#f0fdfa,stroke-width:1px,rx:12,ry:12
classDef harness fill:#475569,stroke:#334155,color:#f8fafc,stroke-width:1px,rx:12,ry:12
classDef tool fill:#1e293b,stroke:#64748b,color:#f8fafc,stroke-width:1px,rx:12,ry:12
classDef app fill:#e2e8f0,stroke:#94a3b8,color:#0f172a,stroke-width:1px
You(["You, in a chat session"]):::know
Skills("<b>The knowledge · yours</b><br/>your skills: order, values, quality gates<br/>kept in your own repositories"):::know
Harness("<b>Any MCP agent harness</b><br/>Claude Code · Codex · Cursor · Gemini CLI · …"):::harness
Tools("<b>The toolbox · this connector</b><br/>~80 PixInsight operations as MCP tools<br/>measurements return numbers, never verdicts"):::tool
Bridge("<b>File bridge + watcher script</b><br/>starts PixInsight on the first call"):::tool
PI(["PixInsight 1.9.5+"]):::app
You --> Harness
Skills -. guides .-> Harness
Harness -- MCP tool calls --> Tools
Tools --> Bridge
Bridge <--> PI
linkStyle default stroke:#8b949e,stroke-width:1.5px
Install
Needs Node 22+ and PixInsight 1.9.5+. The same three steps work whether you or your agent runs them.
1. Install the connector from npm:
npm install -g pixinsight-connector
2. Register it with your agent harness as the MCP server pixinsight. Claude Code:
claude mcp add -s user pixinsight -- pixinsight-connector
Any harness configured with an mcpServers JSON file (Cursor, Windsurf, Gemini CLI, Claude Desktop, Cline, Kiro):
{ "mcpServers": { "pixinsight": { "command": "pixinsight-connector" } } }
Codex, OpenCode, VS Code and Zed use other shapes; each one, and where its file lives: docs/setup.md.
3. Check the machine:
pixinsight-connector doctor
PixInsight and its watcher script start on the first tool call; there is nothing else to launch. Upgrade with
npm install -g pixinsight-connector@latest. Without installing, register npx -y pixinsight-connector as the
command instead (npx fetches it from npm, so the first start needs the network). From pixinsight-mcp 1.x: point
your pixinsight entry at pixinsight-connector (not a second server) and npm uninstall -g pixinsight-mcp.
Where files go
The tools work in a target folder: the one set_workspace names, else PIXINSIGHT_CONNECTOR_WORKSPACE, else the
folder the harness started in. The connector writes only <target>/agentic/ (scratch, the bridge, call logs) and
<target>/output/, never your home folder. Details and every environment variable: docs/setup.md.
Tools, packs and skills
- Tools: 78, grouped as images, processes, channels, tone, detail, masks, stars, narrowband, astrometry, measurement, preview, PJSR execution, introspection and session. Full list: docs/tools.md.
- Skills hold the technique. Companion skills (environment preflight, dataset intake, a basic LRGB flow): pixinsight-connector-skills.
- Packs are ES modules that add or replace tools at startup, listed in
PIXINSIGHT_CONNECTOR_PACKS. A pack is arbitrary code running with your privileges; only packs you configure load. See CONTRIBUTING.md. - Models: any with vision and reliable tool calling. Start with a Sonnet-class model (Claude Sonnet 5, GPT-6 Sol, Gemini 3.8 Flash), then try cheaper ones (GPT-6 Luna, GLM-5.3-Flash, DeepSeek V4.1 Flash): prices and the list are in docs/setup.md.
Contributing
A PixInsight capability with no tool yet is one module in src/tools/, no registry: CONTRIBUTING.md.
Humans and agents are both welcome; npm test needs no PixInsight.
Cross-platform
macOS, Windows and Linux are all first-class, for running this connector and for developing it. A change that works on one OS and breaks another is a bug, not a limitation.
- No shell pipelines. No
ps,grep,awk,wc,dfor&&insrc/or in npm scripts. OS-specific behaviour goes behindsrc/platform.mjs(paths) orsrc/process-probe.mjs(process inspection), one implementation per OS. - No POSIX path literals. Use
path.join. Use forward slashes only when handing a path to PixInsight, which accepts them everywhere. - CI runs the full suite on Linux, macOS and Windows. Green on one is not green.
- Degrade, never fail. If an OS cannot supply something optional — a memory reading, a process start time — carry on without it. Never report it as a crash.
- Overrides always win:
PIXINSIGHT_BINfor the executable,PIXINSIGHT_DIRfor the install root.
Tests need no PixInsight and no astronomy software, so you can develop on any of the three.
Troubleshooting
Run pixinsight-connector doctor first. Common symptoms and fixes: docs/troubleshooting.md.
Credit and license
This project began as aescaffre/pixinsight-mcp by Alain Escaffre; parts of the original file bridge and watcher script remain. MIT licensed: see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.