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
Clone this repository:
git clone https://github.com/yourusername/geofs-mcp-server.git cd geofs-mcp-server
Install dependencies:
npm install
Build the project:
npm run build
Usage
Starting the Server
Start the MCP server:
npm start
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
The MCP server will be available at:
- HTTP:
http://localhost:3000
- WebSocket:
ws://localhost:3000
- HTTP:
Using with AI Models
This MCP server can be used with AI models that support the Model Context Protocol, allowing them to:
- Control aircraft in the simulator
- Retrieve flight data and simulator state
- Execute complex flight maneuvers
- Plan and follow flight routes
API Endpoints
GET /mcp
- Get server capabilities and available endpointsGET /mcp/aircraft
- Get current aircraft dataPOST /mcp/aircraft
- Control aircraft parametersGET /mcp/flight-data
- Get comprehensive flight dataPOST /mcp/navigation
- Set navigation parametersGET /mcp/simulation
- Get simulation statusPOST /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 degreesgetPosition
- Get current aircraft positionselectAircraft
- Change to a different aircrafttakeOff
- Execute takeoff procedureland
- Execute landing proceduregetFlightData
- 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
GeoFS Flight Simulator MCP Server
Project Details
- lobstercare/geofs-mcp
- Last Updated: 3/29/2025
Recomended MCP Servers
mcp server
Model Context Protocol server to allow for reading and writing from Pinecone. Rudimentary RAG
An MCP server to let AI agents control Intruder
use Bitget’s API to get cryptocurrency info
react-mcp integrates with Claude Desktop, enabling the creation and modification of React apps based on user prompts
nocodb mcp server
A First FIWARE Model Context Protocol Server
Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Physical Devices)