mcp-server-ascom


Namemcp-server-ascom JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryMCP server for ASCOM astronomy equipment control
upload_time2025-08-01 00:44:26
maintainerNone
docs_urlNone
authorStellarpunk Collective
requires_python>=3.10
licenseNone
keywords mcp ascom astronomy telescope alpaca stellarpunk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCP Server for ASCOM

[![MCP](https://img.shields.io/badge/MCP-2025--06--18-brightgreen.svg)](https://modelcontextprotocol.io)
[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/mcp-server-ascom.svg)](https://pypi.org/project/mcp-server-ascom/)
[![Tests](https://github.com/stellarpunk/mcp-server-ascom/workflows/Test/badge.svg)](https://github.com/stellarpunk/mcp-server-ascom/actions)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

Control telescopes with AI. Works with any ASCOM device.

## Documentation

- [Quick Start Guide](QUICKSTART.md)
- [API Reference](docs/API.md)
- [Development Guide](docs/development.md)
- [Testing Strategy](docs/E2E_TESTING_GUIDE.md)
- [Examples](examples/README.md)

## 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

```bash
# Quick start
pip install mcp-server-ascom

# Or use uvx (no install)
uvx mcp-server-ascom
```

## Claude Desktop Setup

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "ascom": {
      "command": "uvx",
      "args": ["mcp-server-ascom"]
    }
  }
}
```

Restart Claude Desktop to activate.

## Usage

```
You: Connect to my telescope
AI: Found Seestar S50. Connected.

You: Point at the Orion Nebula
AI: Slewing to M42... Done.
```

## Supported Equipment

Any ASCOM Alpaca device: telescopes, cameras, focusers, filter wheels, domes.

## Available Tools

- `discover_ascom_devices` - Find devices on network
- `telescope_connect` / `camera_connect` - Connect to device
- `telescope_goto` / `telescope_goto_object` - Point telescope
- `telescope_park` - Park at home position
- `camera_capture` - Take images

## Development

```bash
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](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](docs/troubleshooting.md) for more.

## Documentation

- [Getting Started](docs/GETTING_STARTED.md) - Quick setup guide
- [API Reference](docs/API.md) - Tool documentation
- [Architecture](docs/ARCHITECTURE.md) - System design
- [Seestar Integration](docs/seestar_integration.md) - Seestar S50 guide

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-ascom",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "mcp, ascom, astronomy, telescope, alpaca, stellarpunk",
    "author": "Stellarpunk Collective",
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "# MCP Server for ASCOM\n\n[![MCP](https://img.shields.io/badge/MCP-2025--06--18-brightgreen.svg)](https://modelcontextprotocol.io)\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)\n[![PyPI](https://img.shields.io/pypi/v/mcp-server-ascom.svg)](https://pypi.org/project/mcp-server-ascom/)\n[![Tests](https://github.com/stellarpunk/mcp-server-ascom/workflows/Test/badge.svg)](https://github.com/stellarpunk/mcp-server-ascom/actions)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\nControl telescopes with AI. Works with any ASCOM device.\n\n## Documentation\n\n- [Quick Start Guide](QUICKSTART.md)\n- [API Reference](docs/API.md)\n- [Development Guide](docs/development.md)\n- [Testing Strategy](docs/E2E_TESTING_GUIDE.md)\n- [Examples](examples/README.md)\n\n## v0.3.0 Updates\n\n- FastMCP 2.0 - Half the code\n- JSON logging - OpenTelemetry ready\n- Better errors - Protocol compliance built-in\n\n## Features\n\n- Works with any ASCOM telescope, camera, or focuser\n- Natural language control: \"Point at the Orion Nebula\"\n- Auto-discovers devices on your network\n- Async architecture - never blocks\n- Full test coverage and type safety\n\n## Installation\n\n```bash\n# Quick start\npip install mcp-server-ascom\n\n# Or use uvx (no install)\nuvx mcp-server-ascom\n```\n\n## Claude Desktop Setup\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"ascom\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-ascom\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop to activate.\n\n## Usage\n\n```\nYou: Connect to my telescope\nAI: Found Seestar S50. Connected.\n\nYou: Point at the Orion Nebula\nAI: Slewing to M42... Done.\n```\n\n## Supported Equipment\n\nAny ASCOM Alpaca device: telescopes, cameras, focusers, filter wheels, domes.\n\n## Available Tools\n\n- `discover_ascom_devices` - Find devices on network\n- `telescope_connect` / `camera_connect` - Connect to device\n- `telescope_goto` / `telescope_goto_object` - Point telescope\n- `telescope_park` - Park at home position\n- `camera_capture` - Take images\n\n## Development\n\n```bash\ngit clone https://github.com/stellarpunk/mcp-server-ascom.git\ncd mcp-server-ascom\nuv venv && source .venv/bin/activate\nuv pip install -e \".[dev]\"\npytest\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## Security\n\nLocal connections only by default. For remote access, enable OAuth in `.env`.\n\n## Troubleshooting\n\n**No devices found?**\n- Check device is powered on and on same network\n- Allow UDP port 32227 through firewall\n- Test with: `curl http://device-ip:11111/api/v1/description`\n\n**Import errors?** The `alpyca` package imports as `alpaca`.\n\nSee [troubleshooting.md](docs/troubleshooting.md) for more.\n\n## Documentation\n\n- [Getting Started](docs/GETTING_STARTED.md) - Quick setup guide\n- [API Reference](docs/API.md) - Tool documentation\n- [Architecture](docs/ARCHITECTURE.md) - System design\n- [Seestar Integration](docs/seestar_integration.md) - Seestar S50 guide\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "MCP server for ASCOM astronomy equipment control",
    "version": "0.3.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/stellarpunk/mcp-server-ascom/issues",
        "Homepage": "https://github.com/stellarpunk/mcp-server-ascom",
        "Organization": "https://github.com/stellarpunk",
        "Repository": "https://github.com/stellarpunk/mcp-server-ascom"
    },
    "split_keywords": [
        "mcp",
        " ascom",
        " astronomy",
        " telescope",
        " alpaca",
        " stellarpunk"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "17c2c5c841546230a327a02e0ba320783e0d82573a419ea2cdc59466f636c7a2",
                "md5": "89e73fa034ee6ce8e21854fefa124692",
                "sha256": "fb8f46b309f270a77d76ec254025526478c8df7fd190b762ae943629fb61d378"
            },
            "downloads": -1,
            "filename": "mcp_server_ascom-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "89e73fa034ee6ce8e21854fefa124692",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 23794,
            "upload_time": "2025-08-01T00:44:26",
            "upload_time_iso_8601": "2025-08-01T00:44:26.179700Z",
            "url": "https://files.pythonhosted.org/packages/17/c2/c5c841546230a327a02e0ba320783e0d82573a419ea2cdc59466f636c7a2/mcp_server_ascom-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 00:44:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "stellarpunk",
    "github_project": "mcp-server-ascom",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mcp-server-ascom"
}
        
Elapsed time: 0.49090s