GeoFS Flight Simulator
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
Jump to
- 🛫 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
GeoFS Flight SimulatorCommand (node, npx, python, etc.)npxArguments-
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.
-
Argument 1
- 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.
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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




