关于 Logicmonitor MCP
LogicMonitor MCP 服务让 AI 助手调用 LogicMonitor 操作。它提供广泛的工具集,默认启用只读模式,并支持本地或远程传输及可配置的身份验证。
主要功能
- 01125 个 LogicMonitor 操作工具
- 02STDIO、SSE 和 HTTP 传输
- 03默认启用只读模式
- 04Bearer token 与 OAuth/OIDC 选项
- 05批量操作与自适应并发
- 06工具筛选及限流重试
适用场景
- 01通过助手检查 LogicMonitor 资源
- 02连接本地 Claude Desktop
- 03向多位用户提供远程 MCP 访问
- 04将集成限制为只读工具
MCP 相关
该服务将 LogicMonitor 操作作为 MCP 工具提供。客户端可通过 STDIO、SSE 或 streamable HTTP 连接;远程访问支持 Bearer token 和 OAuth/OIDC 身份验证选项。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
LogicMonitor MCP 服务
LogicMonitor 的模型上下文协议(MCP)服务,可让 AI 助手与您的 LogicMonitor 交互。
重要
🛠️ 由 Monitoring Artist 管理并提供支持
此 MCP 服务是 Monitoring Artist 推动的独立社区创新项目。
**官方支持免责声明:**此项目不是 LogicMonitor 的官方产品,不在 LogicMonitor 的标准支持服务范围内。
需要企业级可靠性? > Monitoring Artist 为此集成提供专业实施、定制功能开发和专属支持。与我们合作,获取专家解决方案。
功能
- 125 个 MCP 工具,全面支持 LogicMonitor 操作(73 个只读,52 个写入)
- 统一服务:单一服务实现,支持所有传输模式(STDIO、SSE、HTTP)
- 多种传输模式:STDIO 用于本地使用,SSE/HTTP 用于远程访问
- 灵活的身份验证:无需身份验证(开发环境)、Bearer 令牌或 OAuth/OIDC
- CSRF 防护:为基于会话的身份验证自动提供 CSRF 防护
- 只读模式:安全监控,不具备修改功能(默认启用)
- 灵活配置:CLI 标志、环境变量或
.env文件 - 调试日志:支持 JSON 或人类可读格式,并记录详细的请求/响应日志
- 工具筛选:启用特定工具或禁用搜索功能
- 速率限制:采用指数退避机制自动重试
- 批量操作:高效处理多个资源
- 智能批处理:自适应并发,自动根据 API 速率限制进行调整
- TLS/HTTPS 支持:可选 TLS,用于安全远程访问
图片
Cursor 提示词 - 资源检查演示
在 Cursor 中使用 LogicMonitor MCP 服务的高级演示,展示如何使用参数为“www.google.com”(LogicMonitor 中的一个资源)的 MCP 提示词执行 LogicMonitor 资源检查。 Agent 了解可用的 MCP 工具,并以自我修正的方式使用它们:

Cursor 工具
展示 Cursor 中可用 LogicMonitor MCP 工具的截图:

Grafana Assistant 工具
展示 Grafana Assistant 中可用 LogicMonitor MCP 工具的截图:

VS Code 工具
展示 Visual Studio Code 中可用 LogicMonitor MCP 工具的截图:

安装选项
本地 LogicMonitor MCP 服务
使用 STDIO 传输在本地运行 LogicMonitor MCP Server,供 Claude Desktop 使用:
# Quick start with npx (no installation needed)
npx logicmonitor-mcp-server
# Or install globally
npm install -g logicmonitor-mcp-server
logicmonitor-mcp-server
添加到 Claude Desktop(macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"logicmonitor": {
"command": "npx",
"args": ["-y", "logicmonitor-mcp-server"],
"env": {
"LM_COMPANY": "mycompany",
"LM_BEARER_TOKEN": "your-bearer-token-here"
},
"type": "stdio"
}
}
}
最适合:个人使用、集成 Claude Desktop、本地开发
远程 LogicMonitor MCP 服务示例
通过 SSE 或 HTTP 传输方式远程运行 LogicMonitor MCP Server,以便通过 Web 访问:
# Quick start with Docker
docker run -d -p 3000:3000 \
-e LM_COMPANY=mycompany \
-e LM_BEARER_TOKEN=your-token \
-e MCP_TRANSPORT=streamable-http \
-e OAUTH_PROVIDER=none \
monitoringartist/logicmonitor-mcp-server
# Available container images
| Registry | Pull command | Notes |
| --- | --- | --- |
| GitHub Container Registry | `docker pull ghcr.io/monitoringartist/logicmonitor-mcp-server:<tag>` | Tags include `latest`, `vX.Y.Z`, `X.Y`, and `X`. |
| Docker Hub | `docker pull monitoringartist/logicmonitor-mcp-server:<tag>` | Mirrors the same tags as GHCR. |
# Or use Docker Compose for production
curl -o docker-compose.yml https://raw.githubusercontent.com/monitoringartist/logicmonitor-mcp-server/main/docker-compose.yml
cp env.example .env # Configure your credentials
docker-compose up -d logicmonitor-mcp-http
最适合:Web 应用、远程访问、多用户、企业部署,以及由管理员控制访问权限的场景。
快速开始
前置条件
- Node.js >= 18(或 Docker)
- 可访问 API 的 LogicMonitor 账号
- LogicMonitor API Bearer Token
安装
选项 A:Node.js
# Clone the repository
git clone https://github.com/monitoringartist/logicmonitor-mcp-server.git
cd logicmonitor-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
选项 B:Docker
# Clone the repository
git clone https://github.com/monitoringartist/logicmonitor-mcp-server.git
cd logicmonitor-mcp-server
# Build Docker image
docker build -t logicmonitor-mcp-server .
# Or use Docker Compose
cp env.example .env
# Edit .env with your credentials
docker-compose up -d logicmonitor-mcp-http
配置
选择以下三种配置方法之一(按优先级从高到低排列):
选项 1:环境变量(推荐)
export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-bearer-token-here
npm start
选项 2:.env 文件
# Copy the example file
cp env.example .env
# Edit .env with your credentials
nano .env
# Run the server
npm start
选项 3:CLI 标志
npm start -- --lm-company mycompany --lm-bearer-token "your-token"
CLI 参考
传输选项
| 标志 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
-t, --transport <type> | MCP_TRANSPORT | stdio | 传输类型:stdio、sse 或 streamable-http |
--address <host:port> | MCP_ADDRESS | localhost:3000 | SSE/HTTP 传输的服务地址 |
--base-path <path> | MCP_BASE_PATH | - | 服务的基础路径 |
--endpoint-path <path> | MCP_ENDPOINT_PATH | /mcp | streamable-http 的端点路径 |
TLS 配置(仅适用于 streamable-http 传输)
| 标志 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--server.tls-cert-file <path> | MCP_TLS_CERT_FILE | - | HTTPS 的 TLS 证书文件路径。配置证书和密钥后,服务将使用 HTTPS |
--server.tls-key-file <path> | MCP_TLS_KEY_FILE | - | HTTPS 的 TLS 私钥文件路径。使用 HTTPS 时,证书和密钥均为必需 |
注意: 默认情况下(未配置 TLS 时),服务使用 HTTP 协议监听。提供证书和密钥文件后,服务将自动切换为仅使用 HTTPS 协议。
调试和日志记录
| 标志 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--debug | MCP_DEBUG=true | false | 启用调试模式并输出详细日志 |
--log-format <format> | MCP_LOG_FORMAT | human | 日志格式:json 或 human |
--log-level <level> | MCP_LOG_LEVEL | info | 日志级别:debug、info、warn 或 error |
工具配置
| 标志 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--enabled-tools <list> | MCP_ENABLED_TOOLS | all | 以逗号分隔的已启用工具列表 |
--read-only | MCP_READ_ONLY | true | 仅启用只读工具(更安全)。设置 MCP_READ_ONLY=false 以启用写入操作 |
LogicMonitor API(必需)
| 标志 | 环境变量 | 描述 |
|---|---|---|
--lm-company <name> | LM_COMPANY | 您的 LogicMonitor 公司/账号名称(子域名)。例如,如果您的门户地址为 mycompany.logicmonitor.com,请使用 mycompany |
--lm-bearer-token <token> | LM_BEARER_TOKEN | LogicMonitor API Bearer Token。生成路径:Settings > Users & Roles > API Tokens |
MCP 服务身份验证(可选——仅适用于 SSE/HTTP 传输)
| 标志 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--mcp-bearer-token <token> | MCP_BEARER_TOKEN | - | 用于对连接到 MCP 服务的客户端进行身份验证的静态 bearer token。可作为 OAuth 的替代方式,或与 OAuth 配合使用,以便通过 SSE/HTTP 传输进行远程访问。STDIO 传输无需此设置。 |
| - | OAUTH_PROVIDER | none | OAuth 提供商类型:none(已禁用)、github、google、azure、okta、auth0 或 custom。设为 none 或留空可禁用 OAuth 身份验证。 |
注意: 此设置用于对 MCP 服务进行身份验证,而非用于 LogicMonitor API 访问。
身份验证模式:
- 无身份验证(默认):如果既未配置
MCP_BEARER_TOKEN,也未配置 OAuth(OAUTH_PROVIDER=none),则允许未经身份验证的访问。仅适用于开发/测试。 - Bearer Token:简单的静态 token 身份验证——设置
MCP_BEARER_TOKEN - OAuth/OIDC:企业身份验证——配置
OAUTH_PROVIDER和相关设置(参见 env.example) - 两者兼用:两种身份验证方式可以同时使用
使用示例
Claude Desktop(STDIO——推荐)
将以下内容添加到 Claude Desktop 配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"logicmonitor": {
"command": "node",
"args": [
"/path/to/logicmonitor-mcp-server/build/servers/index.js"
],
"env": {
"LM_COMPANY": "mycompany",
"LM_BEARER_TOKEN": "your-bearer-token",
"MCP_TRANSPORT": "stdio"
}
}
}
}
注意: MCP_TRANSPORT=stdio 是可选的,因为它是默认值;此处包含它是为了清晰起见。
SSE 传输(远程访问)
# Start SSE server with debug logging
npm start -- --transport sse --address localhost:3000 --debug
# Or using environment variables
export MCP_TRANSPORT=sse
export MCP_ADDRESS=localhost:3000
export MCP_DEBUG=true
npm start
# Or use the convenience script
npm run start:sse
注意: 对于 SSE/HTTP 传输,身份验证是可选的,但建议启用:
- 开发/测试:无需身份验证(
OAUTH_PROVIDER=none时的默认设置) - 生产环境:配置
MCP_BEARER_TOKEN或 OAuth(参见下文的“身份验证模式”)
健康检查端点: 使用 SSE 或可流式 HTTP 传输时,可用以下健康检查端点:
简单健康检查(/healthz)
# Quick health check
curl http://localhost:3000/healthz
# Response: 200 OK with body "ok"
详细健康检查(/health)
# Detailed health information
curl http://localhost:3000/health
响应包含:
{
"status": "healthy",
"version": "1.0.0",
"uptime": 3600.5,
"memory": {
"rss": 52428800,
"heapTotal": 20971520,
"heapUsed": 15728640,
"external": 1048576,
"arrayBuffers": 262144
},
"connections": {
"mcp": 5,
"http": 3
},
"timestamp": "2025-11-02T12:00:00.000Z",
"transport": {
"mode": "both",
"http": true,
"sse": true
}
}
以下系统可使用这些端点:
- 负载均衡器(简单检查使用
/healthz) - 监控系统(详细指标使用
/health) - 编排平台(Docker、Kubernetes)
- CI/CD 健康检查
- APM 和可观测性工具
注意: 使用 STDIO 传输时,健康检查端点不可用。
HTTPS/TLS 配置(安全传输)
若要为 SSE 或可流式 HTTP 传输启用 HTTPS,请同时提供证书文件和密钥文件:
# Using environment variables (recommended)
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem
export MCP_TRANSPORT=sse
npm start
# Using CLI flags
npm start -- --transport sse \
--server.tls-cert-file /path/to/cert.pem \
--server.tls-key-file /path/to/key.pem
# Access via HTTPS
curl https://localhost:3000/healthz
行为:
- 未配置 TLS(默认):服务使用 HTTP 协议
- 已配置 TLS(同时提供证书和密钥文件):服务仅使用 HTTPS 协议
- TLS 配置不完整(仅提供证书或密钥):服务使用 HTTP 协议(必须同时提供两者)
生成用于测试的自签名证书:
# Generate self-signed certificate (for development/testing only)
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes \
-subj "/CN=localhost"
# Start server with TLS
npm start -- --transport sse \
--server.tls-cert-file ./cert.pem \
--server.tls-key-file ./key.pem
生产环境建议:
- 使用受信任证书颁发机构签发的证书(Let's Encrypt、商业证书颁发机构)
- 考虑使用反向代理(nginx、Caddy)终止 TLS
- 在证书到期前轮换证书
- 使用强 TLS 协议(TLS 1.2+)
只读模式(默认——安全监控)
默认情况下,服务以只读模式运行,以确保安全:
# Read-only mode (default)
npm start
# Explicitly enable write operations
npm start -- # with MCP_READ_ONLY=false in .env
# Or via environment
export MCP_READ_ONLY=false
npm start
自定义工具选择
# Enable specific tools only
npm start -- --enabled-tools "list_resources,get_resource,list_alerts,get_alert"
# Disable search functionality
npm start -- --disable-search
用于生产环境的 JSON 日志记录
npm start -- --log-format json --log-level warn
完整示例
npm start -- \
--lm-company mycompany \
--lm-bearer-token "your-token" \
--transport sse \
--address 0.0.0.0:8080 \
--read-only \
--log-format json \
--log-level info
传输模式快捷方式
统一服务为每种传输方式提供了便捷的 npm 脚本:
# STDIO transport (default, for Claude Desktop)
npm start
npm run start:stdio
# SSE transport (for web/remote clients)
npm run start:sse
# HTTP transport (for advanced integrations)
npm run start:http
可用工具
该服务提供 122 个工具,全面支持 LogicMonitor 操作。工具按功能分类,并标记为只读(安全)或写入(修改数据)。
资源/设备管理
只读:
list_resources- 列出所有受监控的资源/设备,并支持筛选(可通过query参数进行简单搜索,或通过filter参数进行高级筛选)get_resource- 根据 ID 获取设备详细信息generate_resource_link- 生成设备在 LM UI 中的直接链接
写操作:
create_resource- 添加新设备以进行监控(支持批量操作)update_resource- 修改现有设备(支持批量操作)delete_resource- 从监控中移除设备(支持批量操作)
资源/设备组
只读:
list_resource_groups- 列出所有设备组/文件夹get_resource_group- 根据 ID 获取设备组详情
写操作:
create_resource_group- 创建新的设备组update_resource_group- 修改设备组delete_resource_group- 删除设备组
告警管理
只读:
list_alerts- 列出当前活跃的告警,并支持筛选(可通过query参数进行简单搜索,或通过filter参数进行高级筛选)get_alert- 获取告警详细信息generate_alert_link- 生成告警在 LM UI 中的直接链接list_alert_rules- 列出告警路由规则get_alert_rule- 获取告警规则详情
写操作:
acknowledge_alert- 确认告警(停止升级)add_alert_note- 为告警添加备注以供记录create_alert_rule- 创建新的告警路由规则update_alert_rule- 修改告警规则delete_alert_rule- 删除告警规则
数据源与监控
只读:
list_datasources- 列出所有可用的数据源get_datasource- 获取数据源详情list_resource_datasources- 列出应用于设备的数据源get_resource_datasource- 获取设备数据源详情list_resource_instances- 列出数据源实例(磁盘、接口等)get_resource_instance_data- 获取时间序列指标数据list_eventsources- 列出所有事件源get_eventsource- 获取事件源详情list_configsources- 列出配置源get_configsource- 获取配置源详情
写操作:
update_resource_datasource- 修改设备数据源配置
仪表板与报告
只读:
list_dashboards- 列出所有仪表板get_dashboard- 获取仪表板详情generate_dashboard_link- 生成仪表板在 LM UI 中的直接链接list_dashboard_groups- 列出仪表板组get_dashboard_group- 获取仪表板组详情list_reports- 列出所有报告get_report- 获取报告详情list_report_groups- 列出报告组get_report_group- 获取报告组详情
写操作:
create_dashboard- 创建新的仪表板update_dashboard- 修改仪表板delete_dashboard- 删除仪表板create_report_group- 创建报告组update_report_group- 修改报告组delete_report_group- 删除报告组
收集器与基础设施
只读:
list_collectors- 列出监控收集器(Agent)get_collector- 获取收集器详情list_collector_groups- 列出收集器组get_collector_group- 获取收集器组详情list_collector_versions- 列出可用的收集器版本list_netscans- 列出网络发现扫描get_netscan- 获取 NetScan 详情get_topology- 获取网络拓扑信息
写操作:
create_netscan- 创建 NetScanupdate_netscan- 修改 NetScandelete_netscan- 删除 NetScan
网站监控
只读:
list_websites- 列出网站监控项get_website- 获取网站监控详情generate_website_link- 生成 LM UI 中网站的直接链接list_website_groups- 列出网站组get_website_group- 获取网站组详情list_website_checkpoints- 列出可用的监控检查点
写入操作:
create_website- 创建新的网站监控项update_website- 修改网站监控项delete_website- 删除网站监控项
服务(业务逻辑)
只读:
list_services- 列出业务服务get_service- 获取服务详情list_service_groups- 列出服务组get_service_group- 获取服务组详情
写入操作:
create_service- 创建新的业务服务update_service- 修改服务delete_service- 删除服务create_service_group- 创建服务组update_service_group- 修改服务组delete_service_group- 删除服务组
告警配置
只读:
list_escalation_chains- 列出告警升级链get_escalation_chain- 获取升级链详情list_recipients- 列出告警接收人get_recipient- 获取接收人详情list_recipient_groups- 列出接收人组get_recipient_group- 获取接收人组详情
写入操作:
create_escalation_chain- 创建升级链update_escalation_chain- 修改升级链delete_escalation_chain- 删除升级链create_recipient- 创建告警接收人update_recipient- 修改接收人delete_recipient- 删除接收人create_recipient_group- 创建接收人组update_recipient_group- 修改接收人组delete_recipient_group- 删除接收人组
集成
只读:
list_integrations- 列出第三方集成get_integration- 获取集成详情
写入操作:
create_integration- 创建新集成update_integration- 修改集成delete_integration- 删除集成
管理与安全
只读:
list_users- 列出用户/管理员get_user- 获取用户详情list_roles- 列出用户角色get_role- 获取角色详情list_access_groups- 列出访问组get_access_group- 获取访问组详情list_api_tokens- 列出用户的 API 令牌
写入操作:
create_access_group- 创建访问组update_access_group- 修改访问组delete_access_group- 删除访问组
属性与配置
只读:
list_resource_properties- 列出设备的自定义属性list_resource_group_properties- 列出设备组的属性
写入操作:
update_resource_property- 更新设备属性值update_resource_group_property- 更新设备组属性值
计划停机时间(SDT)
只读:
list_sdts- 列出计划停机时间get_sdt- 获取 SDT 详情
写入操作:
create_resource_sdt- 创建计划停机时间delete_sdt- 删除计划停机时间
运维备注
只读:
list_opsnotes- 列出运维备注get_opsnote- 获取运维备注详情
写入操作:
create_opsnote- 创建运维备注update_opsnote- 修改运维备注delete_opsnote- 删除运维备注
审计与合规
只读:
list_audit_logs- 列出审计跟踪日志(支持通过query参数进行简单搜索,或通过filter参数进行高级筛选)get_audit_log- 获取审计日志条目详情
摘要
- 70 个只读工具 - 可安全用于生产环境监控
- 52 个写入工具 - 需谨慎使用(默认通过
--read-only禁用) - 共 122 个工具
安全注意事项
按传输模式划分的身份验证
| 传输方式 | 身份验证 | 安全级别 | 使用场景 |
|---|---|---|---|
| STDIO | 无需身份验证(本地进程) | ✅ 安全 | Claude Desktop、本地 CLI |
| SSE/HTTP(无身份验证) | 无(默认值:OAUTH_PROVIDER=none) | ⚠️ 仅用于开发 | 本地测试 |
| SSE/HTTP(Bearer) | 通过 MCP_BEARER_TOKEN 设置静态令牌 | ✅ 安全(使用 HTTPS 时) | API 客户端、内部服务 |
| SSE/HTTP(OAuth) | OAuth/OIDC 提供方 | ✅ 安全(使用 HTTPS 时) | Web 应用、企业 SSO |
只读模式(推荐)
对于生产环境监控,请启用只读模式,防止意外修改:
npm start -- --read-only
# or
export MCP_READ_ONLY=true
npm start
这会禁用全部 52 个写入操作,仅保留 73 个安全的只读工具。
身份验证设置
开发环境(无身份验证)
# Default configuration - no authentication required
export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-lm-token
export MCP_TRANSPORT=sse
export OAUTH_PROVIDER=none # or omit - this is the default
npm start
⚠️ 警告: 未经身份验证的访问允许任何人连接。仅在可信环境中使用。
生产环境 - Bearer 令牌(简单)
# Generate a strong token
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
export OAUTH_PROVIDER=none
# Enable TLS
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem
# Start server
npm start -- --transport sse
客户端必须包含令牌:
curl -H "Authorization: Bearer YOUR_TOKEN" https://localhost:3000/health
生产环境 - OAuth(企业级)
# Configure OAuth provider
export OAUTH_PROVIDER=github # github, google, azure, okta, auth0, custom
export OAUTH_CLIENT_ID=your-client-id
export OAUTH_CLIENT_SECRET=your-client-secret
export OAUTH_SESSION_SECRET=$(openssl rand -hex 32)
export OAUTH_CALLBACK_URL=https://your-domain.com/auth/callback
# Enable TLS
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem
# Start server
npm start -- --transport sse
用户通过浏览器在 /auth/login 进行身份验证。
生产环境 - 组合模式(灵活)
# Both OAuth and bearer token enabled
export OAUTH_PROVIDER=github
export OAUTH_CLIENT_ID=your-client-id
export OAUTH_CLIENT_SECRET=your-client-secret
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
# Users: OAuth login via browser
# APIs: Bearer token in Authorization header
API 令牌安全
LogicMonitor API 令牌(LM_BEARER_TOKEN):
- 切勿提交到版本控制系统
- 使用环境变量或
.env文件(.env已列入.gitignore) - 定期轮换(建议每月一次)
- 在 LogicMonitor 门户中使用满足需求的最小权限
MCP 服务令牌(MCP_BEARER_TOKEN):
- 生成强令牌(32 字节以上):
openssl rand -base64 32 - 安全存储(环境变量、密钥管理)
- 切勿在日志或错误消息中暴露
- 定期轮换
- 为不同环境使用不同的令牌
网络安全
生产环境 SSE/HTTP 的必备项:
- ✅ HTTPS/TLS:始终使用加密连接(
MCP_TLS_CERT_FILE、MCP_TLS_KEY_FILE) - ✅ 身份验证:启用 Bearer 令牌或 OAuth(生产环境中切勿在未经身份验证的情况下运行)
- ✅ 防火墙:按 IP/网络限制访问
- ✅ 速率限制:内置自动速率限制
- ⚡ 监控:使用
/health端点进行运行状况检查
可选项(纵深防御):
- 使用反向代理(nginx、Caddy)增加安全层
- 部署 WAF(Web 应用防火墙)
- 在敏感环境中使用 VPN 或堡垒机
- 启用审计日志记录(
--log-format json --log-level info)
生产环境安全检查清单
- 已启用只读模式(
MCP_READ_ONLY=true) - 已配置 HTTPS/TLS(
MCP_TLS_CERT_FILE、MCP_TLS_KEY_FILE) - 已启用身份验证(已配置
MCP_BEARER_TOKEN或 OAuth) - 已启用 CSRF 防护(OAuth 会自动启用)
- 最近已轮换 LogicMonitor API 令牌
-
.env文件未纳入版本控制 - 防火墙规则将访问限制为授权 IP
- 已监控运行状况检查端点(
/health) - 定期检查日志
- 已授予最小必要的 LogicMonitor API 权限
故障排除
“LogicMonitor credentials are required”
确保已设置 LM_COMPANY 和 LM_BEARER_TOKEN:
export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-token
或者使用 CLI 标志:
npm start -- --lm-company mycompany --lm-bearer-token "your-token"
速率限制
服务会自动通过指数退避处理速率限制。如果持续遇到速率限制:
- 减少并发请求
- 启用
--debug查看速率限制详情 - 联系 LogicMonitor 支持以提高速率限制
连接问题
# Test with debug logging
npm start -- --debug --log-level debug
# Verify credentials
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://YOUR_COMPANY.logicmonitor.com/santaba/rest/device/devices?size=1
未找到工具
启用指定工具:
npm start -- --enabled-tools "list_resources,get_resource"
或者检查只读模式是否排除了写入操作:
# Show all tools (including write operations)
export MCP_READ_ONLY=false
npm start
身份验证问题
连接 SSE/HTTP 时出现“401 Unauthorized”:
- 检查是否已设置
MCP_BEARER_TOKEN,且与请求中的令牌一致 - 使用 OAuth 时,确保已在
/auth/login登录 - 确认令牌尚未过期(OAuth 令牌会过期,静态令牌不会)
出现“No authentication configured”警告:
- 当
OAUTH_PROVIDER=none且未设置MCP_BEARER_TOKEN时,这是预期情况 - 在开发环境中,这没有问题——服务允许未经身份验证的访问
- 在生产环境中,请配置身份验证(参见上文的安全注意事项)
OAuth 登录无法使用:
- 确认已正确设置
OAUTH_PROVIDER、OAUTH_CLIENT_ID和OAUTH_CLIENT_SECRET - 检查回调 URL 是否与 OAuth 提供方的配置一致
- 查看服务日志以获取详细错误消息(
--debug --log-level debug)
参与贡献
欢迎贡献!请按以下步骤操作:
- Fork 此仓库
- 创建功能分支
- 进行更改
- 运行
npm run lint和npm run build - 提交拉取请求
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。