stk-mcp
An MCP server allowing LLMs to interact with Ansys/AGI STK - Digital Mission Engineering Software
Install / Use
claude mcp add alti3 -- npx -y github:alti3/stk-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of stk-mcp
stk-mcp scores 78/100 on our quality scale, 798th of 953 AI & Machine Learning skills we index.
Its MCP Server is 8.4 KB long, well organised into 15 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.
It has 43 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 10 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-09-24 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 74/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
stk-mcp compared with similar skills
All 4 of these similar skills score higher than stk-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| stk-mcp (this skill)by alti3 | 78 | 43 | 10mo ago | MCP Server |
| claude-memby thedotmack | 100 | 113.8k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.5k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 91.0k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install stk-mcp?
- Run
claude mcp add alti3 -- npx -y github:alti3/stk-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does stk-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is stk-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 74/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is stk-mcp still maintained?
- The repository was last updated about 10 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubSTK-MCP
STK-MCP is an MCP (Model Context Protocol) server designed to enable Large Language Models (LLMs) or other MCP clients to interact with Ansys/AGI STK (Systems Tool Kit) - the leading Digital Mission Engineering software.
This project allows controlling STK via an MCP server, supporting both STK Desktop (Windows only) and STK Engine (Windows & Linux). It utilizes FastMCP from the official MCP Python SDK.
Overview
The primary goal of this project is to bridge the gap between programmatic interaction and the powerful simulation capabilities of STK. By exposing STK functionalities through a robust CLI and an MCP server, users can command STK simulations using simple commands or LLM-driven applications.
The MCP application, defined in src/stk_mcp/app.py, exposes STK operations as MCP tools, which are dynamically managed by a CLI entry point in src/stk_mcp/cli.py.
Features
- CLI entry point powered by
Typer. - Dual mode operation: STK Engine (Windows/Linux) and STK Desktop (Windows).
- OS-aware: Desktop mode auto-disabled on non-Windows platforms.
- Managed lifecycle: STK instance is started/stopped with the MCP server.
- Tool discovery:
list-toolscommand enumerates available MCP tools. - Modular architecture: CLI (
cli.py), MCP (app.py), STK logic (stk_logic/), and MCP tools (tools/).
Prerequisites
- Operating System: Windows or Linux. STK Desktop mode requires Windows.
- Python: Version 3.12 or higher.
- Ansys/AGI STK: Version 12.x Desktop or Engine installed.
- STK Python API: The
agi.stk12Python wheel corresponding to your STK installation must be available. Typically found underCodeSamples\Automation\Pythonin your STK install.
Installation
- Clone the repository
git clone <repository-url> cd stk-mcp - Create and activate a virtual environment
# Create the virtual environment uv venv # Activate it # On Windows (in PowerShell/CMD): # .venv\Scripts\activate # On Linux (in bash/zsh): source .venv/bin/activate - Add dependencies with uv (preferred)
- Add the STK Python wheel from your STK installation (local file):
uv add ./agi.stk12-12.10.0-py3-none-any.whl # or: uv add path/to/your/STK/CodeSamples/Automation/Python/agi.stk12-*.whl - Sync the environment (installs deps from
pyproject.toml)uv sync
Usage
This project is a command-line application. Ensure your virtual environment is activated before running commands.
Listing Available Tools
uv run -m stk_mcp.cli list-tools
Prints a table of tool names and their descriptions.
Running the MCP Server
Use the run command to start the MCP server. The server will automatically start and manage an STK instance.
Run with uv run so you don’t need to install the package into site-packages.
1) STK Engine (recommended for automation, Windows/Linux):
uv run -m stk_mcp.cli run --mode engine
2) STK Desktop (Windows only, shows GUI): Ensure STK Desktop is closed; the server will launch and manage its own instance.
uv run -m stk_mcp.cli run --mode desktop
The server will start, initialize STK, and listen for MCP connections on http://127.0.0.1:8765 by default.
3. Command Options:
You can see all options with the --help flag:
stk-mcp run --help
Interacting with the Server
Once the server is running, you can connect to it using any MCP client, such as the MCP Inspector.
- Open the MCP Inspector URL provided in the console (e.g.,
http://127.0.0.1:8765). - Find the "STK Control" server in the list.
- Use the "Tools" section to execute
setup_scenario,create_location, andcreate_satellite.
Stopping the Server
Press Ctrl+C in the terminal where the server is running. The lifecycle manager will automatically close the STK Engine or Desktop instance.
MCP Tools and Resources
The server exposes the following MCP tools/resources.
| Name | Kind | Description | Desktop (Windows) | Engine (Windows) | Engine (Linux) |
|------------------|----------|-----------------------------------------------------------------------------------------------|-------------------|------------------|----------------|
| setup_scenario | Tool | Create/configure an STK Scenario; sets time period and rewinds animation. | Yes | Yes | Yes |
| create_location| Tool | Create/update a Facility (default) or Place at latitude/longitude/altitude (km). | Yes | Yes | Yes |
| create_satellite| Tool | Create/configure a satellite from apogee/perigee (km), RAAN, and inclination; TwoBody prop. | Yes | Yes | No |
Resources:
| Name | Kind | Description | Desktop (Windows) | Engine (Windows) | Engine (Linux) |
|------|------|-------------|-------------------|------------------|----------------|
| resource://stk/objects | Resource | List all objects in the active scenario. Returns JSON records: {name, type}. | Yes | Yes | Yes |
| resource://stk/objects/{type} | Resource | List objects filtered by type (e.g., satellite, facility, place, sensor). Returns JSON records. | Yes | Yes | Yes |
| resource://stk/health | Resource | Report basic state: mode, scenario name, and object counts. | Yes | Yes | Yes |
| resource://stk/analysis/access/{object1}/{object2} | Resource | Compute access intervals between two objects. Provide paths like Satellite/SatA and Facility/FacB (with or without leading */). | Yes | Yes | Yes |
| resource://stk/reports/lla/{satellite} | Resource | Return satellite LLA ephemeris over the scenario start/stop interval. Provide path like Satellite/SatA (with or without leading */). | Yes | Yes | Yes |
Examples:
- Read all objects:
resource://stk/objects - Read only satellites:
resource://stk/objects/satellite - Read ground locations:
resource://stk/objects/location(alias for facilities and places)
Access and LLA examples:
- Compute access:
resource://stk/analysis/access/Satellite/ISS/Facility/Boulder - Get ISS LLA (60 s):
resource://stk/reports/lla/Satellite/ISS(optionalstep_secargument)
Configuration & Logging
Configuration is centralized in src/stk_mcp/stk_logic/config.py using pydantic-settings.
Defaults can be overridden with environment variables (prefix STK_MCP_).
STK_MCP_DEFAULT_HOST(default127.0.0.1)STK_MCP_DEFAULT_PORT(default8765)STK_MCP_LOG_LEVEL(defaultINFO)STK_MCP_DEFAULT_SCENARIO_NAME(defaultMCP_STK_Scenario)STK_MCP_DEFAULT_START_TIME(default20 Jan 2020 17:00:00.000)STK_MCP_DEFAULT_DURATION_HOURS(default48.0)
Logging is standardized via src/stk_mcp/stk_logic/logging_config.py. The CLI uses
this configuration, producing structured logs with timestamps, levels, and context.
Implementation Notes
- STK access is serialized with a global lock to avoid concurrency issues.
- Common STK-availability checks are handled via decorators in
src/stk_mcp/stk_logic/decorators.py(@require_stk_tooland@require_stk_resource). - STK Connect commands that may be transiently flaky are executed with retry logic
(
tenacity) insrc/stk_mcp/stk_logic/utils.py(safe_stk_command). - Long-running internal operations are timed with
@timed_operationfor diagnostics.
Dependencies
Managed with uv:
agi.stk12(local wheel from your STK install)mcp[cli]>=1.6.0uvicorn>=0.30(explicit for CLI server)rich>=13.7(CLI table output)typer>=0.15.2pydantic>=2.11.7
Notes:
- On macOS (Darwin), STK Engine/Desktop are not supported. The server will start but STK-dependent tools/resources are unavailable.
- The server serializes STK access via a global lock to avoid concurrency issues with multi-threaded access to the STK Engine/Desktop instance.
Contributing
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
Related Skills
claude-mem
113.8kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
109.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
91.0kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
