Port Scanner API
Scan the open TCP ports of your own public IP. Fast (32) or deep (65535). No key, no signup.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `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
}社群
證據