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
}コミュニティ
エビデンス