Token导航 LogoToken导航TokenDH.com
everydaymcp (Bscarberry) logo
地图位置未说明官方级别未说明来源级核验

everydaymcp (Bscarberry)

MCP Server

一个提供对Microsoft Entra ID、Microsoft Defender、Microsoft Intune和天气数据的只读访问的模型上下文协议服务器。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude设备管理Claude

安装说明

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

作者 / 组织

bscarberry

提供方

bscarberry

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

每天MCP

MCP(模型上下文协议)服务器,提供对以下内容的只读访问:

  • 微软Entra ID (Azure AD)——用户、组、服务主体、条件访问等。
  • Microsoft Defender --安全警报、事件、安全评分、威胁情报
  • Microsoft Intune --受管设备、合规策略、设备配置、应用程序
  • 天气 --当前状况、预报、天文数据 weatherapi.com

先决条件

  • 18岁或以后
  • Git
  • 已注册应用程序的Microsoft Entra(Azure AD)租户(请参阅下面的步骤1)
  • A. weatherapi.com API密钥(可用的免费层)

入门指南

1.创建Entra应用程序注册

服务器向Microsoft Graph进行身份验证 您的用户帐户 您需要在自己的Entra租户中注册应用程序才能启用此功能。

  1. 登录到 微软Entra管理中心
  1. 导航到 身份 > 应用程序 > 应用注册 > 新注册
  1. 填写登记表:

- 名字: EverydayMCP (或您喜欢的任何名称) - 支持的帐户类型: *仅此组织目录中的帐户* (单租户) - 重定向URI:选择 单页应用程序(SPA) 并进入 http://localhost:3000

  1. 点击 注册
  1. 在应用程序上 概述 页面,复制这两个值——稍后您将需要它们:

- 应用程序(客户端)ID → 这是你的 CLIENT_ID - 目录(租户)ID → 这是你的 TENANT_ID

  1. 首选 API权限 > 添加权限 > 微软图形 > 委托权限 并添加所需的权限:
服务权限
参赛者IDUser.Read, User.Read.All, Group.Read.All, Directory.Read.All, Policy.Read.All
后卫SecurityEvents.Read.All, SecurityIncident.Read.All, ThreatHunting.Read.All
IntuneDeviceManagementManagedDevices.Read.All, DeviceManagementConfiguration.Read.All, DeviceManagementApps.Read.All

> 小贴士:从以下内容开始 User.Read 要验证auth是否有效,请根据需要添加更多权限。如果稍后添加新权限,请重新运行 npm run login 把它们捡起来。

  1. 如果您的组织需要它,请单击 授予管理员同意 对于上述权限

2.克隆存储库

git clone https://github.com/bscarberry/everydaymcp.git
cd everydaymcp

3.安装依赖项

npm install

4.建造

npm run build

这将编译TypeScript源代码 src/ JavaScript在 build/ 目录。

5.登录(一次性)

在MCP服务器可以使用Graph API之前,您必须从终端登录一次。这将打开一个浏览器窗口,对您进行身份验证,并在本地缓存令牌,以便MCP服务器可以静默使用它。

Windows(PowerShell):

$env:TENANT_ID="your-tenant-id"; $env:CLIENT_ID="your-client-id"; npm run login

macOS/Linux:

TENANT_ID="your-tenant-id" CLIENT_ID="your-client-id" npm run login

将打开一个浏览器窗口供Microsoft登录。在您进行身份验证后,令牌将缓存到 ~/.everydaymcp/auth-record.json 以及OS证书存储。您只需执行一次(或者在令牌过期或更改权限时再次执行)。

6.配置您的MCP客户端

MCP客户端配置 下面的部分。

配置

环境变量

变量必填描述
TENANT_ID您的Entra目录(租户)ID——来自上述步骤1.5
CLIENT_ID您的Entra应用程序注册(客户端)ID——来自上述步骤1.5
REDIRECT_URIOAuth重定向URI(默认为 http://localhost:3000)
WEATHER_API_KEY是\*weatherapi.com API密钥(\*仅天气工具需要)
USE_GRAPH_BETA设置为 false 使用Graph v1.0而不是beta

认证

服务器使用 两步身份验证 方法:

  1. npm run login --在终端中运行一次。打开浏览器进行交互式Microsoft登录,然后将令牌缓存到磁盘和操作系统凭据存储中。
  2. MCP服务器 --启动时,加载缓存的凭据并获取令牌 默默地 (无浏览器,无提示)。服务器从不打开浏览器或要求提供设备代码。

您的用户帐户的权限决定了哪些Graph数据是可访问的。如果发生以下情况,服务器将在启动时退出并出错 TENANT_IDCLIENT_ID 未设置。

重新认证:如果您的缓存令牌过期或您向应用程序注册添加了新权限,只需重新运行 npm run login.

MCP客户端配置

克劳德桌面版

将以下内容添加到您的 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

Windows示例:

{
  "mcpServers": {
    "everydaymcp": {
      "command": "node",
      "args": ["C:/Users/YourName/everydaymcp/build/main.js"],
      "env": {
        "TENANT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CLIENT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "WEATHER_API_KEY": "your-weatherapi-key"
      }
    }
  }
}

macOS示例:

{
  "mcpServers": {
    "everydaymcp": {
      "command": "node",
      "args": ["/Users/YourName/everydaymcp/build/main.js"],
      "env": {
        "TENANT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CLIENT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "WEATHER_API_KEY": "your-weatherapi-key"
      }
    }
  }
}
重要提示: 路径必须指向 build/main.js (不是 main.js).在路径中使用正斜杠,即使在Windows上也是如此——Node.js可以正确处理它们。

更换 TENANT_IDCLIENT_ID 使用您在步骤1中从Entra应用程序注册中复制的ID值。

可用工具

图形API(Entra、Defender、Intune)

工具说明
entra-query查询Entra ID——用户、组、应用程序、角色、条件访问
defender-queryQuery Defender——警报、事件、安全分数、威胁情报
intune-query查询Intune--受管设备、合规性、配置、应用程序
get-auth-status检查身份验证状态、令牌过期和授予的范围

天气

工具说明
weather-current某一地点的当前天气状况
weather-forecast天气预报(最多10天)
weather-search搜索/自动完成位置
weather-astronomy日出、日落、月相数据

故障排除

“未找到缓存登录名”错误

npm run login 首先在您的终端中,然后重新启动MCP服务器。

令牌已过期

重新运行 npm run login 刷新缓存的令牌。

来自Graph API的权限被拒绝错误

在Entra中为您的应用程序注册添加所需的权限(步骤1.6),必要时授予管理员同意,然后重新运行 npm run login.

服务器日志位置

服务器将日志写入 build/mcp-server.log 在项目目录中。

查询示例

# Entra: list all users
entra-query { path: "/users" }

# Defender: high severity alerts
defender-query { path: "/security/alerts_v2", queryParams: { "$filter": "severity eq 'high'" } }

# Intune: all managed devices
intune-query { path: "/deviceManagement/managedDevices", fetchAll: true }

# Weather: current conditions
weather-current { location: "Seattle" }

# Weather: 5-day forecast with alerts
weather-forecast { location: "New York", days: 5, alerts: true }

目录标签

目录标签

TypeScriptClaude设备管理MicrosoftGraphAPI本地部署身份管理安全监控天气数据

支持客户端

Claude

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP