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
}社区
证据