GeoFS Model Context Protocol (MCP) Server

This server provides an interface for controlling aircraft in the GeoFS flight simulator using natural language commands through GPT-4o.

How to Connect to GeoFS

To connect the MCP server to GeoFS, you have two options:

Option 1: Use the Bookmarklet (Recommended)

Drag this link to your bookmarks bar:

GeoFS MCP Control

Then:

  1. Open GeoFS in your browser
  2. Select the Boeing 787-9 Vistara aircraft
  3. Once GeoFS is fully loaded, click the bookmarklet in your bookmarks bar
  4. The MCP control panel should appear in the GeoFS interface

Option 2: Use the Console

If the bookmarklet doesn't work, you can paste this code in your browser console (F12):


(function(){
  const script = document.createElement('script');
  fetch('http://localhost:3002/direct-control.js')
    .then(response => response.text())
    .then(scriptContent => {
      const blob = new Blob([scriptContent], { type: 'application/javascript' });
      const url = URL.createObjectURL(blob);
      script.src = url;
      document.head.appendChild(script);
      console.log('GeoFS MCP Control Panel loaded successfully!');
    })
    .catch(error => {
      console.error('Failed to load GeoFS MCP Control Panel:', error);
      alert('Failed to load GeoFS MCP Control Panel. Check the console for details.');
    });
})();
        

Using GPT-4o to Control Your Aircraft

Once the control panel is loaded in GeoFS:

  1. Click on the "GPT Control" tab in the control panel
  2. Enter a natural language command in the text area (e.g., "Take off from runway 3 at Luxembourg airport")
  3. Click "Send to GPT" to execute the command
  4. The GPT response will appear below, and the aircraft will begin executing the commands

Example Commands

Important Notes

For full OpenAI GPT-4o integration, you'll need to add your OpenAI API key in the settings section of the GPT Control tab. Without an API key, the system will use simulated responses for common flight commands.

Make sure the MCP server is running on port 3002 before attempting to connect.

Server Status

The server is currently running on http://localhost:3002.

API endpoints: