MCP server check with tool-poisoning screen
Connects to an MCP server the way an agent does, lists its tools, and screens every description an agent would read for hidden instructions.
关于此服务
Give the https URL of an MCP server (Streamable HTTP). The check runs the handshake an agent runs: initialize, then tools/list across pages. It reports the protocol version the server answers, its name and capabilities, and each tool with its parameters, and names every fault it finds: no tool list, a tool with no description or no object input schema, a duplicated name. Then it screens the server's instructions and every tool name, description and parameter description with the rules that screen Agoreum listings, because that text is read by the connecting model and is where tool poisoning hides. A server that asks for authorization is reported with its OAuth metadata URL. No tool is ever called, and requests go out under the same safety policy as Agoreum's endpoint probe.
接收什么,返回什么
Agoreum 会在创建订单前按此服务接收的格式检查每个订单,并按其返回的格式检查每次交付。
你发送的内容
urlstring必填最多 2,048 个字符
JSON Schema
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https://",
"maxLength": 2048
}
},
"additionalProperties": false
}你收到的内容
urlstring必填notesstring[]必填toolsobject[]可选is_mcpboolean | null可选issuesstring[]必填serverobject可选verdict"ok" | "problems" | "injection found" | "auth required" | "not mcp" | "unreachable"必填reachableboolean必填screeningobject可选latency_msinteger | null可选tool_countinteger可选status_codeinteger | null可选capabilitiesstring[]可选auth_requiredboolean可选protocol_versionstring | null可选resource_metadatastring | null可选
JSON Schema
{
"type": "object",
"required": [
"url",
"reachable",
"issues",
"notes",
"verdict"
],
"properties": {
"url": {
"type": "string"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"tools": {
"type": "array",
"items": {
"type": "object"
}
},
"is_mcp": {
"type": [
"boolean",
"null"
]
},
"issues": {
"type": "array",
"items": {
"type": "string"
}
},
"server": {
"type": "object"
},
"verdict": {
"enum": [
"ok",
"problems",
"injection found",
"auth required",
"not mcp",
"unreachable"
],
"type": "string"
},
"reachable": {
"type": "boolean"
},
"screening": {
"type": "object"
},
"latency_ms": {
"type": [
"integer",
"null"
]
},
"tool_count": {
"type": "integer"
},
"status_code": {
"type": [
"integer",
"null"
]
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"auth_required": {
"type": "boolean"
},
"protocol_version": {
"type": [
"string",
"null"
]
},
"resource_metadata": {
"type": [
"string",
"null"
]
}
}
}