Azure更新MCP服务器

一个提供AI助手无缝访问Azure服务更新、停用和功能公告的模型上下文协议服务器。

  • by juyamagu
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 juyamagu/azure-updates-mcp-server

使用说明

Azure更新MCP服务器

MCP(模型上下文协议)服务器,为AI助手提供对Azure服务更新、退役和功能公告的无缝访问。

日文版本: Readme.ja.md

特性

  • 🔍 更好的关键字匹配 -通过BM25相关性排名,在标题和描述之间进行全文搜索(FTS5),提供比原始API更好的查询搜索。
  • 🎯 简化过滤 -按标签、类别、产品、日期和状态过滤——不需要OData知识。
  • ⚡ 快速响应 -本地SQLite复制可确保<500ms的查询响应时间。
  • 🔄 自动同步 -差分同步保持数据新鲜(可配置间隔,默认24小时)。
  • 📊 帮助资源 -公开所有可用的过滤器和数据新鲜度,以帮助人工智能构建查询。

法律声明

⚠️ 重要:此服务器访问Azure Updates API,该API受 Microsoft API使用条款。使用本软件即表示您同意:

  • 遵守所有适用的Microsoft API条款和条件
  • 不将数据用于广告或营销目的
  • 实施适当的数据保护措施
  • 尊重微软的知识产权

此软件根据MIT许可证提供,仅用于代码实现。通过Azure Updates API访问的数据仍受Microsoft条款的约束。

其他资源:

设置

选项1:全局安装(推荐)

从GitHub全局安装:

npm install -g github:juyamagu/azure-updates-mcp-server

然后配置VS代码(.vscode/mcp.json):

{
  "servers": {
    "azure-updates": {
      "command": "azure-updates-mcp-server"
    }
  }
}

⚠️ 备注:在第一次运行时,将与本地缓存进行数据同步,这可能需要几分钟才能提供搜索查询。同步完成后,后续查询将快速响应。

选项2:使用npx

无需安装即可快速测试:

{
  "servers": {
    "azure-updates": {
      "command": "npx",
      "args": ["-y", "github:juyamagu/azure-updates-mcp-server"]
      // Optional environment variables:
      // "env": {
      //   "DATABASE_PATH": "${workspaceFolder}/.azure-updates/data.db",
      //   "SYNC_STALENESS_HOURS": "24",
      //   "LOG_LEVEL": "info"
      // }
    }
  }
}

备注:npx缓存的包可能会随着时间的推移消耗更多的磁盘空间。建议常规使用全局安装。

适用于Windows用户

如果 npm install ... 在Windows上失败(由于路径长度限制或 tsc 错误),请尝试从手动安装 .tgz 文件。

复制最新的URL .tgz 文件来自 发布页面 并直接安装。这消除了对本地构建的需求。

# Replace the URL with the actual latest release
npm install -g https://github.com/juyamagu/azure-updates-mcp-server/releases/download/v2.1.0/azure-updates-mcp-server-2.1.0.tgz

用法

你只需要让你的人工智能助手使用 search_azure_updates 具有自然语言查询和可选过滤器的工具。

What are the latest security updates related to OAuth authentication in Azure since January 2025? Up to 10 results, please.

您的助手会自动构造适当的参数并调用MCP服务器,如下所示:

{
  "tool": "search_azure_updates",
  "parameters": {
    "query": "OAuth",
    "filters": {
      "tags": ["Security"],
      "modifiedFrom": "2025-01-01"
    },
    "limit": 10
  }
}

GitHub Copilot的示例代理定义可以在以下位置找到:

配置

配置是通过环境变量完成的。创建 .env 文件或设置环境变量:

变量 默认值 描述
DATABASE_PATH ~/.azure-updates-mcp/azure-updates.db SQLite数据库的路径
SYNC_STALENESS_HOURS 24 如果数据超过此小时数,则进行同步
SYNC_ON_STARTUP true 启用/禁用启动同步检查
DATA_RETENTION_START_DATE 2022-01-01 自即日起保留更新(ISO 8601:YYYY-MM-DD)
LOG_LEVEL info 日志级别:调试、信息、警告、错误
LOG_FORMAT json 日志格式:json或漂亮

看 .env.示例 对于所有配置选项。

可用工具

search_azure_updates

搜索和筛选Azure更新以查找相关项目。退货 仅元数据 (无描述)代币效率。

示例参数:

{
  "query": "OAuth",
  "filters": {
    "tags": ["Security"],
    "modifiedFrom": "2025-01-01"
  },
  "limit": 10
}

get_azure_update

检索完整的更新详细信息,包括完整的Markdown描述和URL。

示例参数:

{
  "id": "536699"
}

推荐工作流程:

  1. 使用 search_azure_updates 查找相关更新
  2. 使用 get_azure_update 获取所选项目的完整详细信息

建筑

sequenceDiagram
    participant LLM as AI Assistant
    participant MCP as MCP Server
    participant Search as Search Service
    participant DB as SQLite DB
    participant Sync as Sync Service
    participant API as Azure API

    Note over MCP,DB: Startup
    MCP->>DB: Initialize database
    MCP->>Sync: Check data staleness
    alt Data is stale (>24h)
        Sync->>API: Fetch updates (differential)
        API-->>Sync: Return new/modified updates
        Sync->>DB: Store updates
    end

    Note over LLM,DB: Query Execution
    LLM->>MCP: search_azure_updates<br/>(natural language query)
    MCP->>Search: Execute search
    Search->>DB: FTS5 query + filters
    DB-->>Search: Matching results
    Search-->>MCP: Ranked results
    MCP-->>LLM: JSON response (<500ms)

    Note over LLM,MCP: Metadata Access
    LLM->>MCP: Get azure-updates://guide
    MCP-->>LLM: Available filters & metadata

使用FTS5全文搜索的本地SQLite复制提供了快速查询(<500ms)。差异同步使Azure更新API中的数据保持新鲜。

技术栈:

  • MCP-SDK: @modelcontextprotocol/sdk
  • 数据库: better-sqlite3 使用FTS5
  • 测试:Vitest与TypeScript严格模式
  • 运行时:Node.js 18+

发展

看 开发指南 用于设置、测试和贡献说明。

故障排除

看 故障排除指南 常见问题和解决方案。

文档

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。