Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

LUNA AiStarChartMCP

Ai Star Chart MCP Server — for Claude AI

Just tell Claude a coordinate, and a star chart appears in your browser with an X mark on the target.

Part of the LUNA family — the telescope control MCP server is here

Version License Transport


Download

⬇ Download the latest release (Windows, no Node.js required)

This repository ships as a pre-built binary release — there's no source tree to clone here. Grab the zip from the Releases page and follow Getting Started below.


What is LUNA AiStarChartMCP?

LUNA AiStarChartMCP is a star chart display tool that runs as a streamableHTTP MCP server.

The AI (Claude) itself never generates or receives images. It only instructs the "view", "X mark coordinates", and "message" through tool calls — the actual rendering is done entirely in the browser, by d3-celestial.

You ──→ Claude AI ──→ LUNA AiStarChartMCP (MCP) ──→ updates state
                                                        │
                                                    broadcast via SSE
                                                        ▼
                                          the star chart changes in your browser

Because the same state is broadcast (SSE) to every connected browser tab and device at once, if you tell Claude something from your phone, a large star chart on your PC follows along automatically.

Combined with LUNA itself and the LUNA OAuth Proxy, it can also be operated from cloud AI services like claude.ai / Grok.


Key Features

  • streamableHTTP MCP — same transport as LUNA. Connectable from Claude Desktop and claude.ai (via OAuth Proxy)
  • The AI never holds an image — tool responses are just JSON coordinates, minimizing token cost and latency
  • Real-time broadcast (SSE) — state changes are reflected instantly on every connected browser; multiple devices stay in sync automatically
  • Movable X mark — call the same tool again to move it. Applied instantly (no animation) so it's never stuck when the browser tab is in the background
  • Toggleable display style — constellation lines, constellation names, Messier objects, star proper names on/off; switch between Japanese/English
  • Lightweight — all rendering logic lives in the browser (Canvas); the server only manages state

MCP Tools Available to Claude

Tool Description
set_view Set the view (center RA/Dec, field of view)
set_mark Place or move the X mark
clear_mark Clear the X mark
set_message Show a message below the chart
set_style Toggle constellation lines/names, Messier, star names; switch language
get_state Get the current display state
get_system_info Get the server's version and uptime
get_license_info Get license, author, and bundled-library information

Requirements

  • Windows
  • A modern browser (Canvas support)
  • Node.js is not required — everything needed to run is bundled in the .exe

Getting Started

This walks you through the whole setup, from launching the star chart to talking to it through Claude.ai or Grok. No coding or Node.js knowledge needed.

Part 1 — Start the star chart

  1. Extract the zip.

  2. Keep aistarchartmcp.exe and the public/ folder together in the same location — the server looks for public/ right next to the .exe.

  3. Double-click Start_AiStarChartMCP.bat.

  4. Your browser opens automatically showing the star chart (http://localhost:4600/).

  5. Look at the top-left corner of the star chart page. It shows an address like:

    From other devices: http://192.168.3.23:4600/
    

    Write down (or remember) the IP address and port number shown here (192.168.3.23 and 4600 in this example — yours will differ). You'll need them in the next part.

At this point, the star chart is running, but nothing can talk to it from the cloud yet — that's what the proxy below is for.

Part 2 — Start the OAuth Proxy

Claude.ai and Grok (the web/cloud versions) require a secure login step (OAuth) before they can connect to any outside tool. The star chart itself doesn't have this built in, so a small companion program — the LUNA OAuth Proxy — sits in front of it and handles that step.

  1. Download the LUNA OAuth Proxy: github.com/OnStepNinja/LUNA/releases/tag/oauth-proxy-v1.0-en

  2. Extract and run it (same style as the star chart — no Node.js required).

  3. A status panel page opens in your browser. Even though the field is labeled "LUNA's IP" (this proxy was originally built for LUNA hardware), enter the address and port you noted in Part 1:

    • LUNA's IP: the IP address from the star chart page (e.g. 192.168.3.23)
    • Port: 4600
  4. Click the "🚀 Save and start the proxy" button.

  5. After a few seconds, two things appear on the page:

    • ① URL to register with claude.ai / Grok — a web address
    • ② PIN to enter during authorization — a 6-digit number

    Keep this page open — you'll need both of these next.

Part 3 — Connect from Claude.ai or Grok

  1. In Claude.ai or Grok, find "Add connector""Custom connector".
  2. Give it any name you like (e.g. "StarChart").
  3. Paste in the ① URL from the proxy panel.
  4. When the authorization screen appears, enter the ② PIN from the proxy panel to approve it.
  5. The connector is now linked. You're ready to go.

Try it

Ask the AI something like:

"Can you see the starchart?"

If it responds and lists the available tools (set_view, set_mark, etc.), everything is connected correctly. Try asking it to show a constellation or place a mark on a target, and watch the browser window from Part 1 update in real time.


  • MCP endpoint: http://localhost:4600/mcp
  • Viewer page: http://localhost:4600/
  • To connect from Claude Desktop (not the web version) instead of claude.ai, you don't need the proxy — just add the streamableHTTP endpoint above directly to your mcpServers config.

Architecture

The star chart rendering never goes through the AI at all. All the AI updates is a small JSON state — "center coordinates, field of view, X mark coordinates, message, display style" — and the server broadcasts this over SSE (/events) to every connected browser. The browser side uses d3-celestial to project the received coordinates and draw them on a Canvas.

This separation minimizes the latency and token cost of AI calls, while automatically keeping the display state in sync across multiple devices.


License

LUNA AiStarChartMCP's own code (server/, public/index.html) is released under the MIT License.

Copyright © 2026 Nishioka Sadahiko

The bundled d3-celestial (and its data files), D3.js, and d3-geo-projection are under the BSD-3-Clause license and belong to their respective copyright holders. See THIRD_PARTY_LICENSES.md for details.


Author

Nishioka Sadahiko GitHub: @OnStepNinja

About

AI-driven live star chart via streamableHTTP MCP — chat with Claude or Grok and watch the chart move in real time. Part of the LUNA telescope-control family.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors