# MSFS SDK MCP Server
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](https://modelcontextprotocol.io/)
[](LICENSE)
[](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">
[](https://github.com/90barricade93/MSFS-SDK-MCP/fork)
 
Β© 90barricade93 - aero-ai-solutions.com
 
[](https://github.com/90barricade93/MSFS-SDK-MCP)
</div>