MCP Server for ASCOM
Control telescopes with AI. Works with any ASCOM device.
Documentation
v0.3.0 Updates
- FastMCP 2.0 - Half the code
- JSON logging - OpenTelemetry ready
- Better errors - Protocol compliance built-in
Features
- Works with any ASCOM telescope, camera, or focuser
- Natural language control: "Point at the Orion Nebula"
- Auto-discovers devices on your network
- Async architecture - never blocks
- Full test coverage and type safety
Installation
# Quick start
pip install mcp-server-ascom
# Or use uvx (no install)
uvx mcp-server-ascom
🚀 v0.4.0: Instant Connections!
No more waiting! Connect directly without discovery:
# Direct connection - no setup required!
telescope_connect device_id="seestar@192.168.1.100:5555"
Claude Desktop Setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ascom": {
"command": "uvx",
"args": ["mcp-server-ascom"],
"env": {
"ASCOM_DIRECT_DEVICES": "telescope_1:localhost:5555:Seestar S50"
}
}
}
}
Restart Claude Desktop to activate.
Usage
Quick Connect (No Configuration)
You: Connect to seestar@192.168.1.100:5555
AI: Connected to Seestar S50!
You: Point at the Orion Nebula
AI: Slewing to M42... Done.
With Pre-Configured Devices
You: Connect to telescope_1
AI: Connected to Seestar S50!
Supported Equipment
Any ASCOM Alpaca device: telescopes, cameras, focusers, filter wheels, domes.
Available Tools
discover_ascom_devices- Find devices on networktelescope_connect/camera_connect- Connect to devicetelescope_goto/telescope_goto_object- Point telescopetelescope_park- Park at home positioncamera_capture- Take images
Event Streaming 🆕
Real-time event streaming from ASCOM devices (especially Seestar S50):
- Event History:
get_event_history- Retrieve past events with filtering - Event Types:
get_event_types- List available event types - Event Stream:
ascom://events/{device_id}/stream- Live event feed - Clear History:
clear_event_history- Clear event buffer
Supported event types:
PiStatus- System status (battery, temperature)GotoComplete- Movement completedBalanceSensor- Device orientationViewChanged- View state changes- And more...
Development
git clone https://github.com/stellarpunk/mcp-server-ascom.git
cd mcp-server-ascom
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
See CONTRIBUTING.md for details.
Security
Local connections only by default. For remote access, enable OAuth in .env.
Troubleshooting
No devices found?
- Check device is powered on and on same network
- Allow UDP port 32227 through firewall
- Test with:
curl http://device-ip:11111/api/v1/description
Import errors? The alpyca package imports as alpaca.
See troubleshooting.md for more.
Documentation
- Getting Started - Quick setup guide
- API Reference - Tool documentation
- Architecture - System design
- Seestar Integration - Seestar S50 guide
License
MIT
Metadata
Release files for mcp-server-ascom 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_ascom-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / mcp_server_ascom-0.4.0-py3-none-any.whl
| Download URL | mcp_server_ascom-0.4.0-py3-none-any.whl |
|---|---|
| Size | 37.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
271068e6a635a2f9f322663c3bd162e1519fecc14b56edec0c5232d41e0626dd
|
|
BLAKE2b-256 checksum How to use checksums |
22068ab6a179394d458ebf62aae092dc5e83d27f9cdd988fa8481eb72be9cb89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Security for mcp-server-ascom 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.