MCP server for Microsoft 365 admin operations via Graph API application permissions (security, audit, reports, service health)
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add microsoft-365-admin --env MS365_ADMIN_MCP_TENANT_ID='<MS365_ADMIN_MCP_TENANT_ID>' --env MS365_ADMIN_MCP_CLIENT_ID='<MS365_ADMIN_MCP_CLIENT_ID>' --env MS365_ADMIN_MCP_CLIENT_SECRET='<MS365_ADMIN_MCP_CLIENT_SECRET>' -- npx -y @okapi-ca/ms-365-admin-mcp-server~/.codex/config.toml
[mcp_servers.microsoft-365-admin]
command = "npx"
args = ["-y", "@okapi-ca/ms-365-admin-mcp-server"]
env = { MS365_ADMIN_MCP_TENANT_ID = "<MS365_ADMIN_MCP_TENANT_ID>", MS365_ADMIN_MCP_CLIENT_ID = "<MS365_ADMIN_MCP_CLIENT_ID>", MS365_ADMIN_MCP_CLIENT_SECRET = "<MS365_ADMIN_MCP_CLIENT_SECRET>" }
# codex mcp add microsoft-365-admin --env MS365_ADMIN_MCP_TENANT_ID='<MS365_ADMIN_MCP_TENANT_ID>' --env MS365_ADMIN_MCP_CLIENT_ID='<MS365_ADMIN_MCP_CLIENT_ID>' --env MS365_ADMIN_MCP_CLIENT_SECRET='<MS365_ADMIN_MCP_CLIENT_SECRET>' -- npx -y @okapi-ca/ms-365-admin-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"microsoft-365-admin": {
"command": "npx",
"args": [
"-y",
"@okapi-ca/ms-365-admin-mcp-server"
],
"env": {
"MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
"MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
"MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"microsoft-365-admin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@okapi-ca/ms-365-admin-mcp-server"
],
"env": {
"MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
"MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
"MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"microsoft-365-admin": {
"command": "npx",
"args": [
"-y",
"@okapi-ca/ms-365-admin-mcp-server"
],
"env": {
"MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
"MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
"MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"microsoft-365-admin": {
"command": "npx",
"args": [
"-y",
"@okapi-ca/ms-365-admin-mcp-server"
],
"env": {
"MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
"MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
"MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"microsoft-365-admin": {
"command": "npx",
"args": [
"-y",
"@okapi-ca/ms-365-admin-mcp-server"
],
"env": {
"MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
"MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
"MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>"
}
}
}
}需要的环境变量
MS365_ADMIN_MCP_TENANT_IDMS365_ADMIN_MCP_CLIENT_IDMS365_ADMIN_MCP_CLIENT_SECRET
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。