STK (Ansys/AGI Systems Tool Kit) MCP server

Enables natural language control of Ansys/AGI STK for space mission planning, satellite configuration, and orbit analysis through a Python-based bridge to the simulation software.
Back to servers
Provider
alti3
Release date
Apr 04, 2025
Language
Python
Stats
2 stars

STK-MCP is a server implementation of the Model Context Protocol (MCP) that enables interaction with Ansys/AGI STK (Systems Tool Kit) through MCP clients or language models. It bridges natural language or programmatic commands with STK's powerful mission engineering simulation capabilities, allowing you to control STK Desktop through a standardized protocol.

Prerequisites

  • Operating System: Windows only (due to STK Desktop and COM dependencies)
  • Python: Version 3.12 or higher
  • Ansys/AGI STK: Version 12.x Desktop installed
  • STK Python API: The agi.stk12 Python wheel must be installed:
    • Locate the wheel file (e.g., agi.stk12-py3-none-any.whl) in your STK installation directory (typically under CodeSamples\Automation\Python)
    • Install it with pip:
      uv pip install path/to/agi.stk12-py3-none-any.whl
      

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd stk-mcp
    
  2. Install project dependencies:

    uv sync
    

Running the MCP Server

  1. Ensure STK Desktop is closed (the server will launch its own instance)

  2. Start the server in development mode:

    python scripts/run_dev.py
    

    Or alternatively:

    mcp dev src/stk_mcp/server.py
    
  3. Verify operation:

    • The server will start and attempt to connect to or launch STK
    • STK Desktop should become visible
    • The server will listen for MCP connections
  4. To stop the server: Press Ctrl+C in the terminal where it's running

Using the MCP Tools

Using the MCP Inspector

  1. Open the MCP Inspector URL shown in the console (typically http://127.0.0.1:8765)
  2. Find the "STK Control" server
  3. Use the following tools to interact with STK:

Available Tools

setup_scenario

Creates or reconfigures an STK scenario (closes any existing scenario first).

Parameters:

  • scenario_name (string, default: "MCP_STK_Scenario"): Name for the scenario
  • start_time (string, default: "20 Jan 2020 17:00:00.000"): Scenario start time
  • duration_hours (float, default: 48.0): Duration of the scenario in hours

Example usage:

{
  "scenario_name": "Earth_Observation_Mission",
  "start_time": "1 Jun 2023 12:00:00.000",
  "duration_hours": 72.0
}

create_satellite

Creates or modifies a satellite in the active STK scenario.

Parameters:

  • name (string): Name of the satellite
  • apogee_alt_km (float): Apogee altitude in kilometers
  • perigee_alt_km (float): Perigee altitude in kilometers
  • raan_deg (float): Right Ascension of the Ascending Node in degrees
  • inclination_deg (float): Orbital inclination in degrees

Example usage:

{
  "name": "Earth_Observer_1",
  "apogee_alt_km": 705.0,
  "perigee_alt_km": 695.0,
  "raan_deg": 98.2,
  "inclination_deg": 98.6
}

Workflow Example

  1. First, set up a scenario using the setup_scenario tool
  2. Then add one or more satellites using the create_satellite tool
  3. STK will visualize the satellites with their configured orbits using the TwoBody propagator

Limitations

  • Currently Windows-only due to STK Desktop automation via COM
  • Requires STK Desktop (does not support STK Engine)
  • Limited to basic scenario setup and satellite creation
  • Operates with a single active scenario at a time

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later