GeoFS Flight Simulator

by lobstercare

1 stars
Not rated
GitHub

About

Enables natural language control of aircraft in the GeoFS flight simulator through a WebSocket server that translates commands into simulator actions for takeoff, landing, and navigation maneuvers.

Details

Author
lobstercare
Repository
lobstercare/geofs-mcp
GitHub stars
1
Categories
Design, Developer Tools, AI, Frontend, Infrastructure

- 🛫 Control aircraft flight parameters (throttle, heading, etc.)
- 📊 Access real-time flight data (position, speed, attitude)
- 🗺️ Navigate between waypoints and airports
- ✈️ Select different aircraft models
- 🔄 Execute flight maneuvers (takeoff, landing)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name GeoFS Flight Simulator
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Prerequisites

- Node.js (v14 or higher)
- npm or yarn
- A modern web browser (Chrome recommended)

setThrottle

Set engine throttle (0-1)

setHeading

Set target heading in degrees

getPosition

Get current aircraft position

selectAircraft

Change to a different aircraft

takeOff

Execute takeoff procedure

land

Execute landing procedure

getFlightData

Get comprehensive flight data

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "geofs flight simulator": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

GeoFS MCP Server

A Model Context Protocol (MCP) server for the GeoFS flight simulator, allowing AI models to control and interact with aircraft in the GeoFS browser-based flight simulator.
image
image
image

Features

- 🛫 Control aircraft flight parameters (throttle, heading, etc.)
- 📊 Access real-time flight data (position, speed, attitude)
- 🗺️ Navigate between waypoints and airports
- ✈️ Select different aircraft models
- 🔄 Execute flight maneuvers (takeoff, landing)

Prerequisites

- Node.js (v14 or higher)
- npm or yarn
- A modern web browser (Chrome recommended)

Installation

1. Clone this repository:

   git clone https://github.com/yourusername/geofs-mcp-server.git
cd geofs-mcp-server

2. Install dependencies:

   npm install

3. Build the project:

   npm run build

Usage

Starting the Server

1. Start the MCP server:

   npm start

2. The server will launch a browser window that navigates to GeoFS
- You may need to log in to GeoFS if required
- The server will wait for GeoFS to fully load before accepting commands

3. The MCP server will be available at:
- HTTP: http://localhost:3000
- WebSocket: ws://localhost:3000

Using with AI Models

This MCP server can be used with AI models that support the Model Context Protocol, allowing them to:

1. Control aircraft in the simulator
2. Retrieve flight data and simulator state
3. Execute complex flight maneuvers
4. Plan and follow flight routes

API Endpoints

- GET /mcp - Get server capabilities and available endpoints
- GET /mcp/aircraft - Get current aircraft data
- POST /mcp/aircraft - Control aircraft parameters
- GET /mcp/flight-data - Get comprehensive flight data
- POST /mcp/navigation - Set navigation parameters
- GET /mcp/simulation - Get simulation status
- POST /mcp/simulation - Control simulation parameters

WebSocket Commands

The server also supports WebSocket for real-time communication:

// Example WebSocket message
{
  "id": 1,
  "type": "command",
  "command": "setThrottle",
  "params": {
    "value": 0.75
  }
}

Available commands:
- setThrottle - Set engine throttle (0-1)
- setHeading - Set target heading in degrees
- getPosition - Get current aircraft position
- selectAircraft - Change to a different aircraft
- takeOff - Execute takeoff procedure
- land - Execute landing procedure
- getFlightData - Get comprehensive flight data

Example Client

See the examples/simple-client.js file for a basic example of how to connect to and use the GeoFS MCP server.

To run the example:

node examples/simple-client.js

How It Works

The GeoFS MCP server uses Puppeteer to control a browser instance running GeoFS. It provides a standardized MCP interface that allows AI models to interact with the flight simulator through HTTP and WebSocket APIs.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

- GeoFS - The browser-based flight simulator
- Model Context Protocol - Protocol specification for AI model context

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.