Token导航 LogoToken导航TokenDH.com
SimBrief Flight Planning MCP Server logo
数据服务未说明官方级别未说明来源级核验

SimBrief Flight Planning MCP Server

MCP Server

一个为Claude Desktop和其他MCP客户端提供SimBrief飞行计划数据访问的MCP服务器,支持Google OAuth认证和Cloudflare Workers部署。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
数据服务Cloudflare WorkersClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

leonchike

提供方

leonchike

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SimBrief飞行计划MCP服务器

模型上下文协议(MCP)服务器,为Claude Desktop和其他MCP客户端提供对SimBrief飞行计划数据的访问。使用TypeScript构建,部署在具有Google OAuth身份验证的Cloudflare Workers上。

特性

  • Google OAuth身份验证:使用基于电子邮件的权限进行安全访问控制
  • Cloudflare员工:使用持久对象进行有状态会话的边缘部署
  • SSE/HTTP传输:MCP客户端的双协议支持
  • SimBrief API集成:完全访问飞行计划数据
  • TypeScript:完全类型安全和现代异步/等待模式
  • 哨兵集成:可选的错误跟踪和性能监控
  • 速率限制优化:可选API关键支持改进SimBrief费率限制

可用的MCP工具

飞行计划工具

  1. 获取最新飞行计划 (首选/默认)

- 获取最新飞行计划的完整JSON数据 - 包括所有细节:航行通告、天气、机组警报、MEL/CDL等。 - 默认情况下使用,除非用户特别要求提供摘要

  1. getFlightPlanById

- 按ID获取特定飞行计划的完整JSON数据 - 需要21个字符的SimBrief计划ID

  1. getDispatchBriefing

- 获取包含操作信息的格式化调度简报 - 包括:航班信息、路线、燃油计划、重量、天气

  1. 获取最新飞行计划摘要

- 获取最新飞行计划摘要 - 仅在用户特别要求摘要时使用

  1. getFlightPlanById摘要

- 按ID获取具体飞行计划摘要

安装

先决条件

  • Node.js 18或更高版本
  • npm或纱线
  • Cloudflare帐户
  • SimBrief帐户和用户ID
  • Google OAuth凭据

设置

  1. 克隆存储库:
cd simbrief-mcp
  1. 安装依赖项:
npm install
  1. 配置牧马人:

编辑 wrangler.toml 设置您的KV命名空间ID:

[[kv_namespaces]]
binding = "OAUTH_KV"
id = "your-kv-namespace-id"  # Replace with your actual KV namespace ID
  1. 设置秘密:
# Required secrets
wrangler secret put GOOGLE_CLIENT_ID
wrangler secret put GOOGLE_CLIENT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY

# Optional secrets
wrangler secret put SIMBRIEF_API_KEY  # Improves rate limits
wrangler secret put SENTRY_DSN        # Error tracking

要生成COOKIE_ENCRYPTION_KEY,请执行以下操作:

openssl rand -base64 32
  1. 配置允许的用户:

编辑 src/config/allowed-users.ts 并添加您的电子邮件用户名(@之前的部分):

const ALLOWED_USERNAMES = new Set([
  'your-username',  // For your-username@gmail.com
]);
  1. 获取您的SimBrief用户ID:

- 登录SimBrief(https://www.simbrief.com) - 转到帐户设置 - 查找您的飞行员ID(这是您的用户ID)

发展

地方发展

# Start local development server (port 8794)
npm run dev

# Type checking
npm run type-check

# Generate Cloudflare types
npm run cf-typegen

建筑

npm run build

部署

npm run deploy

Claude桌面集成

本地开发配置

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "simbrief": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:8794/mcp"],
      "env": {}
    }
  }
}

生产配置

{
  "mcpServers": {
    "simbrief": {
      "command": "npx",
      "args": ["mcp-remote", "https://your-worker.workers.dev/mcp"],
      "env": {}
    }
  }
}

替换 your-worker.workers.dev 使用您的实际Cloudflare Workers域。

使用示例

获取最新飞行计划

问克劳德:

“获取用户ID 123456的最新SimBrief飞行计划”

获取调度简报

问克劳德:

“获取我最新航班计划的调度简报(用户ID 123456)”

获取具体飞行计划

问克劳德:

“获取用户123456的飞行计划ABCDEF123456789012345”

项目结构

simbrief-mcp/
├── src/
│   ├── auth/
│   │   ├── google-handler.ts       # Google OAuth flow
│   │   └── oauth-utils.ts          # OAuth utilities
│   ├── config/
│   │   └── allowed-users.ts        # User access control
│   ├── tools/
│   │   ├── simbrief-api.ts         # SimBrief API client
│   │   └── register-simbrief-tools.ts  # MCP tools registration
│   ├── types/
│   │   └── index.ts                # TypeScript types
│   └── index.ts                    # Main entry point
├── wrangler.toml                   # Cloudflare Workers config
├── tsconfig.json                   # TypeScript config
├── package.json                    # Dependencies
└── README.md                       # This file

环境变量

必需的秘密

  • GOOGLE_CLIENT_ID:谷歌OAuth客户端ID
  • 谷歌客户端密码:谷歌OAuth客户端机密
  • COOKIE_ENCRYPTION-KEY:用于cookie签名的32个字符的随机字符串

可选秘密

  • SIMBRIEF_API_KEY(简单程序_项目_密钥):SimBrief API提高费率限制的关键
  • 哨兵:用于错误跟踪的哨兵DSN
  • 环境:环境名称(默认为“生产”)

安全功能

  • OAuth 2.0:通过电子邮件验证的Google身份验证
  • HMAC Cookie:已签名的Cookie用于客户端批准持久性
  • 访问控制:基于电子邮件的用户列表
  • 错误清理:从错误中删除敏感信息
  • 边缘安全:Cloudflare Workers安全功能

监控

  • 控制台日志:可在Cloudflare仪表板中使用
  • 哨兵集成:可选的错误跟踪和性能监控
  • Cloudflare分析:内置请求指标

故障排除

配置问题

问题: 找不到SimBrief用户ID

解决方案:

  1. 登录SimBrief
  2. 转到帐户设置
  3. 您的飞行员ID就是您的用户ID

身份验证问题

问题: “拒绝访问”错误

解决方案:

  • 检查您的电子邮件用户名是否在 src/config/allowed-users.ts
  • 验证是否正确设置了Google OAuth凭据

API错误

问题: SimBrief API错误消息

解决方案:

  1. 验证用户ID是否正确
  2. 查看SimBrief上是否有最近的飞行计划
  3. 如果使用API密钥,请确保其有效

与原始Python版本的差异

改进

  1. TypeScript:完全类型安全和更好的IDE支持
  2. Cloudflare员工:边缘部署,实现全球低延迟
  3. 谷歌OAuth:安全身份验证而不是公共访问
  4. 更好的错误处理:Sentry集成的全面错误消息
  5. 代码组织:模块化结构,关注点明确分离
  6. 生产就绪:内置监控、日志记录和安全功能

迁移说明

如果你从Python版本迁移:

  1. 用户ID仍然作为参数传递(不是环境变量)
  2. 所有工具名称均遵循camelCase惯例(getLatestFlightPlan与get_latest_flight_plan)
  3. 需要谷歌身份验证-设置允许的用户
  4. 部署在Cloudflare Workers上,而不是在本地运行

贡献

欢迎投稿!请确保:

  1. 代码遵循TypeScript和Prettier格式
  2. 所有工具都包括正确的错误处理
  3. 文档已针对新功能进行了更新
  4. 测试通过(如适用)

许可证

麻省理工学院

支持

对于问题或疑问:

  • 检查上面的故障排除部分
  • 查看Cloudflare Workers日志
  • 检查Sentry以获取错误详细信息(如果已配置)

鸣谢

内置:

目录标签

目录标签

数据服务Cloudflare WorkersClaude飞行计划TypeScript本地部署GoogleOAuthCloudflareWorkers

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP