Skip to main content
Glama

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)

Related MCP server: Playwright MCP Server

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

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lobstercare/geofs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server