Skip to main content
Glama
90barricade93

MSFS SDK MCP Server

README.md
# MSFS SDK MCP Server

[![Node.js](https://img.shields.io/badge/Node.js-18.0+-green?style=flat-square&logo=node.js)](https://nodejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
[![MCP](https://img.shields.io/badge/MCP-Compatible-purple?style=flat-square)](https://modelcontextprotocol.io/)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE)
[![Build](https://img.shields.io/badge/Build-Passing-brightgreen?style=flat-square)](https://github.com)

A modern, performant MCP server for fast, structured access to Microsoft Flight Simulator SDK documentation via natural language and structured queries.

<a href="https://glama.ai/mcp/servers/@90barricade93/MSFS-SDK-MCP">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@90barricade93/MSFS-SDK-MCP/badge" alt="MSFS SDK Server MCP server" />
</a>

## ๐Ÿš€ Features

- โšก๏ธ **Real-time documentation search** in the official MSFS SDK documentation
- ๐Ÿ“š **Multiple search categories**: contents, index, glossary, all
- ๐Ÿง  **Natural language processing**: queries like "Search livery op msfs sdk"
- ๐Ÿ“Š **Structured results**: titles, URLs, descriptions, categories
- ๐Ÿ“„ **Detailed content retrieval** from specific documentation pages
- ๐Ÿ”Œ **Full MCP compatibility** with AI assistants and tools
- ๐Ÿ’พ **Embedded data**: no external files needed
- ๐Ÿ›ก๏ธ **Robust error handling** and logging

## ๐Ÿ› ๏ธ Tech Stack

- **Runtime:** Node.js 18+
- **Language:** TypeScript 5.0
- **Framework:** Model Context Protocol (MCP)
- **HTTP Client:** node-fetch
- **HTML Parser:** Cheerio
- **Browser Automation:** Puppeteer (optional)
- **Build Tool:** TypeScript Compiler

## ๐Ÿ“‹ Requirements

- Node.js 18.x or higher
- npm 8.x or higher
- TypeScript 5.x

## ๐Ÿš€ Setup

1. **Clone the repository:**

    ```bash
    git clone https://github.com/yourusername/msfs-sdk-mcp.git
    cd msfs-sdk-mcp
    ```

2. **Install dependencies:**

    ```bash
    npm install
    ```

3. **Build the project:**

    ```bash
    npm run build
      ```

4. **Start the server:**

    ```bash
    npm start
    ```

## ๐Ÿ”ง Available Tools

| Tool | Description | Parameters |
|------|-------------|------------|
| `search_msfs_docs` | ๐Ÿ” Search MSFS SDK documentation | `query`, `category`, `limit` |
| `get_doc_content` | ๐Ÿ“„ Retrieve detailed content | `url`, `section` |
| `list_categories` | ๐Ÿ“š Show all search categories | - |
| `list_category_items` | ๐Ÿ“‹ List items per category | `category` |
| `natural_language_query` | ๐Ÿง  Natural language queries | `query` |

### ๐Ÿท๏ธ Search Categories

- `contents` - ๐Ÿ“– Main documentation content
- `index` - ๐Ÿ“‡ Documentation index entries  
- `glossary` - ๐Ÿ“š Technical terms and definitions
- `all` - ๐ŸŒ Search across all categories (default: index)

## ๐Ÿ”Œ Integration with AI Assistants

This server works with MCP-compatible AI assistants such as:

- ๐Ÿค– **Claude Desktop** - Official MCP support
- ๐ŸŒŠ **Windsurf IDE** - Built-in MCP integration
- ๐Ÿ”ง **Other MCP clients** - All MCP-compatible tools

### โš™๏ธ Configuration Example

```json
{
  "mcpServers": {
    "msfs-sdk": {
      "command": "node",
      "args": ["path/to/msfs-sdk-mcp/dist/index.js"]
    }
  }
}
```

## ๐Ÿ“ Project Structure

```plaintext
msfs-sdk-mcp/
โ”œโ”€โ”€ ๐Ÿ“„ package.json             # Dependencies and scripts
โ”œโ”€โ”€ ๐Ÿ“„ tsconfig.json            # TypeScript configuration
โ”œโ”€โ”€ ๐Ÿ“„ README.md               # Project documentation
โ”œโ”€โ”€ ๐Ÿ“„ LICENSE                 # MIT License
โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ index.ts            # ๐Ÿš€ Main MCP server
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ services/
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ documentationService.ts  # ๐Ÿ” Search logic
โ”‚       โ””โ”€โ”€ ๐Ÿ“„ naturalLanguageService.ts # ๐Ÿง  NLP processing
โ””โ”€โ”€ ๐Ÿ“‚ dist/                   # ๐Ÿ—๏ธ Compiled JavaScript
```

## ๐Ÿงช Development & Scripts

| Script | Description | Command |
|--------|-------------|----------|
| ๐Ÿ—๏ธ **Build** | Compile TypeScript | `npm run build` |
| ๐Ÿ‘€ **Dev** | Watch mode development | `npm run dev` |
| ๐Ÿš€ **Start** | Start MCP server | `npm start` |
| ๐Ÿ” **Type Check** | TypeScript validation | `npx tsc --noEmit` |

## ๐Ÿ“š API Reference

### ๐Ÿ“ˆ Tool Examples

#### ๐Ÿ” search_msfs_docs

```json
{
  "name": "search_msfs_docs",
  "arguments": {
    "query": "livery",
    "category": "all",
    "limit": 10
  }
}
```

#### ๐Ÿ“‹ list_category_items

```json
{
  "name": "list_category_items",
  "arguments": {
    "category": "glossary"
  }
}
```

#### ๐Ÿ“„ get_doc_content

```json
{
  "name": "get_doc_content",
  "arguments": {
    "url": "https://docs.flightsimulator.com/html/...",
    "section": "overview"
  }
}
```

### ๐ŸŒ Search URL Format

```plaintext
https://docs.flightsimulator.com/html/Introduction/Introduction.htm?rhsearch={query}&agt={category}
```

**Parameters:**

- `{query}` - ๐Ÿ” Search term (URL-encoded)
- `{category}` - ๐Ÿท๏ธ Optional category (`index`, `glossary`, or empty for contents)

### ๐Ÿ“Š Response Format

```json
{
  "content": [
    {
      "type": "text",
      "text": "**Title**\n- Category: category\n- URL: url\n- Description: description"
    }
  ]
}
```

## ๐Ÿค Contributing

1. ๐Ÿด **Fork** this repository
2. ๐ŸŒฑ **Create** a feature branch: `git checkout -b feature-name`
3. โœจ **Implement** and test your changes
4. ๐Ÿ“ **Commit** with clear message: `git commit -am 'Add new feature'`
5. ๐Ÿš€ **Push** to your branch: `git push origin feature-name`
6. ๐Ÿ“ฉ **Open** a Pull Request

### ๐Ÿ“… Commit Convention

- `feat:` - New features
- `fix:` - Bug fixes
- `docs:` - Documentation updates
- `refactor:` - Code refactoring
- `test:` - Test additions

## ๐Ÿ“„ License

**MIT License** โ€“ See [LICENSE](./LICENSE) file for details.

## ๐Ÿ“ž Support & Contact

- ๐Ÿ› **Issues**: [GitHub Issues](https://github.com/yourusername/msfs-sdk-mcp/issues)
- ๐Ÿ“š **MSFS SDK Docs**: [Official documentation](https://docs.flightsimulator.com)
- โ“ **New issue?** Provide clear information and reproducible steps

## ๐Ÿ“… Changelog

### v1.0.0 - ๐ŸŽ‰ Initial Release

- โœจ **Initial release** - Complete MCP server implementation
- ๐Ÿ” **Real-time documentation search** - Fast access to MSFS SDK docs
- ๐Ÿ“š **Multiple search categories** - Contents, index, glossary support
- ๐Ÿง  **Natural language processing** - Intuitive query processing
- ๐Ÿ”Œ **MCP standard support** - Full compatibility
- ๐Ÿ’พ **Embedded data** - No external dependencies

---

## โš ๏ธ Disclaimer

**This is an unofficial tool**, not affiliated with Microsoft or Microsoft Flight Simulator.
Provides access to public documentation via the official MSFS SDK website.

๐Ÿš€ **Happy Flying!** โœˆ๏ธ

---

<div align="center">

[![GitHub forks](https://img.shields.io/github/forks/90barricade93/MSFS-SDK-MCP?style=social)](https://github.com/90barricade93/MSFS-SDK-MCP/fork)
&ensp; 
ยฉ 90barricade93 - aero-ai-solutions.com 
&ensp; 
[![GitHub stars](https://img.shields.io/github/stars/90barricade93/MSFS-SDK-MCP?style=social)](https://github.com/90barricade93/MSFS-SDK-MCP)

</div>

TDQS

B3.4/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have distinct purposes: get_doc_content retrieves specific pages, list_categories and list_category_items handle hierarchical browsing, and search_msfs_docs performs keyword searches. However, natural_language_query overlaps with search_msfs_docs as both handle search-like functionality, which could cause minor confusion for an agent.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., get_doc_content, list_categories, search_msfs_docs). The naming is predictable and readable throughout the set.

Tool Count5/5

With 5 tools, this server is well-scoped for its purpose of accessing MSFS SDK documentation. Each tool serves a distinct role in browsing, retrieving, and searching documentation, making the count appropriate and manageable.

Completeness4/5

The tool set covers core documentation access needs: browsing categories, listing items, retrieving content, and searching. A minor gap exists in update or management operations, but this is reasonable for a read-only documentation server, and agents can work effectively with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues