mcp-server

Vantaj uptime monitoring via MCP - manage monitors, heartbeats, incidents, and status pages.

사용해야 할까요

품질 및 안전성

A
설명 품질
94%
스키마 완전성
99%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,870토큰 (도구 정의)
~2.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.24%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "mcp-server": {
      "url": "https://api.vantaj.co/mcp"
    }
  }
}

원격 엔드포인트

https://api.vantaj.co/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (13)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_projects(limit, cursor)

List all projects in the workspace. Call this first - most other tools need a project_id.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}
🟢list_monitors(project_id, limit, cursor)

List uptime monitors in a project, with current status, response time, and 24h uptime.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}
🟢get_monitor(id)

Get a single monitor by ID, including status, uptime, regions, and settings.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟡create_monitor(project_id, name, url, type, interval_seconds, ...)

Create a new uptime monitor. Checks start immediately. Types: http, tcp (host:port URL), smtp, ping, ssl, dns. Set inverted=true for exposure monitoring (alert when a target that should stay down becomes reachable).

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "name": {
      "type": "string",
      "description": "Display name"
    },
    "url": {
      "type": "string",
      "description": "URL for http, host for ping/smtp, host:port for tcp"
    },
    "type": {
      "type": "string",
      "enum": [
        "http",
        "tcp",
        "smtp",
        "ping",
        "ssl",
        "dns"
      ],
      "description": "Check type"
    },
    "interval_seconds": {
      "type": "integer",
      "enum": [
        30,
        60,
        180,
        300,
        600,
        1800,
        3600,
        21600,
        86400
      ],
      "description": "Check interval (default 300)"
    },
    "regions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Probe regions (defaults to all)"
    },
    "group": {
      "type": "string",
      "description": "Optional group name"
    },
    "timeout_seconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120,
      "description": "Request timeout in seconds (default 30)"
    },
    "expected_status_codes": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "HTTP status codes considered up (default: any 2xx)"
    },
    "inverted": {
      "type": "boolean",
      "description": "Exposure monitoring: up while unreachable, alert when reachable"
    }
  },
  "required": [
    "project_id",
    "name",
    "url",
    "type"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟡update_monitor(id, name, url, type, interval_seconds, ...)

Update a monitor's settings (name, url, interval, inverted, …). Cannot delete.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor ID"
    },
    "name": {
      "type": "string",
      "description": "New display name"
    },
    "url": {
      "type": "string",
      "description": "New target: URL for http, host for ping/smtp, host:port for tcp"
    },
    "type": {
      "type": "string",
      "enum": [
        "http",
        "tcp",
        "smtp",
        "ping",
        "ssl",
        "dns"
      ],
      "description": "New check type"
    },
    "interval_seconds": {
      "type": "integer",
      "enum": [
        30,
        60,
        180,
        300,
        600,
        1800,
        3600,
        21600,
        86400
      ],
      "description": "New check interval in seconds"
    },
    "regions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "New probe region list"
    },
    "group": {
      "type": "string",
      "description": "New group name"
    },
    "timeout_seconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120,
      "description": "New request timeout in seconds"
    },
    "expected_status_codes": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "HTTP status codes considered up"
    },
    "inverted": {
      "type": "boolean",
      "description": "Enable/disable exposure monitoring (alert when reachable)"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
⚪pause_monitor(id)

Pause a monitor - checks stop until it's resumed. Use before planned work on a single target.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
⚪resume_monitor(id)

Resume a paused monitor - checks start again immediately.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Monitor ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟡create_maintenance_window(project_id, title, description, starts_at, ends_at, ...)

Schedule a one-time maintenance window: the listed monitors keep running but their alerts are suppressed between starts_at and ends_at. Use before deploys or planned downtime.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "title": {
      "type": "string",
      "description": "Window title, e.g. 'Database migration'"
    },
    "description": {
      "type": "string",
      "description": "Optional details shown alongside the window"
    },
    "starts_at": {
      "type": "string",
      "description": "ISO 8601 datetime with offset, e.g. 2026-07-12T02:00:00Z"
    },
    "ends_at": {
      "type": "string",
      "description": "ISO 8601 datetime with offset - must be after starts_at"
    },
    "monitor_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Monitors whose alerts to suppress (from list_monitors)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for display (default UTC)"
    }
  },
  "required": [
    "project_id",
    "title",
    "starts_at",
    "ends_at",
    "monitor_ids"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢list_heartbeats(project_id, limit, cursor)

List heartbeat (cron/background job) monitors in a project, with last-ping status.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}
🟢list_incidents(project_id, limit, cursor)

List incidents (outages) in a project - open and resolved, with timestamps and duration.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}
🟢get_incident(id)

Get a single incident by ID.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Incident ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": true,
      "description": "The resource object"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢list_domains(project_id, limit, cursor)

List tracked domains with expiry dates, registrar, and days remaining.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}
🟢list_status_pages(project_id, limit, cursor)

List status pages with visibility, slug, and public URL.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project ID (from list_projects)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size (default 25)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous call"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Result rows"
    },
    "pagination": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page; null when there are no more results"
        },
        "has_more": {
          "type": "boolean",
          "description": "Whether another page exists"
        }
      },
      "required": [
        "next_cursor",
        "has_more"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "pagination"
  ],
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 13개
검증됨버전이 기록되지 않음도구 13개