Port Scanner API
Scan the open TCP ports of your own public IP. Fast (32) or deep (65535). No key, no signup.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"port-scanner": {
"url": "https://api.portscan.com/mcp"
}
}
}원격 엔드포인트
https://api.portscan.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (2)
⚪fast_scan(rescan)
Scan the 32 most common TCP ports (~20s) of YOUR OWN public IP address - the egress IP of the machine running this MCP client. There is no target argument: by policy portscan only scans the requester's own IP. The call is non-blocking and keyed by your IP: it starts a scan if none is running, otherwise returns the current state. Call fast_scan repeatedly to poll until status is "complete" (or "incomplete"/"failed"); open ports and service banners are in the result. Pass rescan:true to force a fresh scan when a previous result already exists.
입력 스키마
{
"type": "object",
"properties": {
"rescan": {
"default": false,
"description": "Force a new scan even if a recent result exists for your IP. Default false: reuse the in-flight or last result.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"ip": {
"type": "string"
},
"scan_type": {
"type": "string",
"enum": [
"fast",
"deep"
]
},
"status": {
"type": "string",
"enum": [
"queued",
"running",
"complete",
"incomplete",
"failed"
]
},
"message": {
"type": "string"
},
"percent": {
"type": "number"
},
"chunks_complete": {
"type": "number"
},
"total_chunks": {
"type": "number"
},
"poll_after_seconds": {
"type": "number"
},
"ports_open": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "number"
},
"service": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"banner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"port",
"service",
"banner"
],
"additionalProperties": false
}
},
"ports_filtered": {
"type": "array",
"items": {
"type": "number"
}
},
"service_banners": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"ptr_record": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"duration_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"partial": {
"type": "boolean"
},
"fail_reason": {
"type": "string"
}
},
"required": [
"ip",
"scan_type",
"status",
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪deep_scan(rescan)
Scan all 65535 TCP ports (~1-5 min) of YOUR OWN public IP address - the egress IP of the machine running this MCP client. There is no target argument: by policy portscan only scans the requester's own IP. The call is non-blocking and keyed by your IP: it starts a scan if none is running, otherwise returns the current state. Call deep_scan repeatedly to poll until status is "complete" (or "incomplete"/"failed"); open ports and service banners are in the result. Pass rescan:true to force a fresh scan when a previous result already exists.
입력 스키마
{
"type": "object",
"properties": {
"rescan": {
"default": false,
"description": "Force a new scan even if a recent result exists for your IP. Default false: reuse the in-flight or last result.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"ip": {
"type": "string"
},
"scan_type": {
"type": "string",
"enum": [
"fast",
"deep"
]
},
"status": {
"type": "string",
"enum": [
"queued",
"running",
"complete",
"incomplete",
"failed"
]
},
"message": {
"type": "string"
},
"percent": {
"type": "number"
},
"chunks_complete": {
"type": "number"
},
"total_chunks": {
"type": "number"
},
"poll_after_seconds": {
"type": "number"
},
"ports_open": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "number"
},
"service": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"banner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"port",
"service",
"banner"
],
"additionalProperties": false
}
},
"ports_filtered": {
"type": "array",
"items": {
"type": "number"
}
},
"service_banners": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"ptr_record": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"duration_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"partial": {
"type": "boolean"
},
"fail_reason": {
"type": "string"
}
},
"required": [
"ip",
"scan_type",
"status",
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}커뮤니티
증거