Stackduke Radar
Read-only answers about tool changes in the public MCP servers on Stackduke's tracker. No sign-in.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"radar": {
"url": "https://radar.stackduke.com/mcp"
}
}
}远程端点
https://radar.stackduke.com/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢list_tracked_servers
Lists the official vendor MCP servers that Stackduke's public tracker follows. For each: its tool count, its tools counted by kind (money, destructive, send, write, unclear, read), when it was last checked and when its tools were last listed. Only these servers are covered. The tracker data is published about once a day. Read-only: answers come from Stackduke's published tracker data, and no vendor's server is contacted.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vendor": {
"type": "string"
},
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"server_address": {
"type": "string"
},
"tool_count": {
"type": [
"integer",
"null"
]
},
"kinds": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"last_checked": {
"type": [
"string",
"null"
]
},
"last_listed": {
"type": [
"string",
"null"
]
},
"latest_outcome": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"vendor",
"name",
"tool_count",
"kinds",
"last_checked",
"last_listed",
"source"
]
}
},
"summary": {
"type": "string"
},
"data_as_of": {
"type": "string",
"description": "When the tracker data was published."
},
"source": {
"type": "string",
"description": "The tracker page this answer is drawn from."
}
},
"required": [
"servers",
"summary",
"data_as_of",
"source"
]
}🟢get_server_capabilities(vendor, kind)
Gives the tool names on one tracked vendor MCP server, grouped by the most serious thing each tool is counted as able to do: money (move or spend money), destructive (changes that cannot be undone, such as deleting), send (send messages or publish to other people), write (create or change things), unclear, or read (labelled as only reading). Labels come from Stackduke's open-source scanner: the server's own annotations where it sends them, otherwise a guess from the tool's name that leans to the more serious kind. They are not verified by calling the tools, and they do not mean a server is safe. Tool descriptions are never included. A server the tracker does not follow gets a 'not covered' answer.
输入模式
{
"type": "object",
"properties": {
"vendor": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[A-Za-z0-9][A-Za-z0-9 ._-]{0,39}$",
"description": "The server, by id or name, for example \"huggingface\" or \"Microsoft Learn\"."
},
"kind": {
"type": "string",
"enum": [
"money",
"destructive",
"send",
"write",
"unclear",
"read"
],
"description": "Optional. Only the tools counted as this kind."
}
},
"required": [
"vendor"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"covered": {
"type": "boolean"
},
"vendor_asked": {
"type": "string"
},
"covered_vendors": {
"type": "array",
"items": {
"type": "string"
}
},
"vendor": {
"type": "string"
},
"name": {
"type": "string"
},
"tool_count": {
"type": [
"integer",
"null"
]
},
"last_listed": {
"type": [
"string",
"null"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"meaning": {
"type": "string"
},
"count": {
"type": "integer"
},
"tools": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"kind",
"meaning",
"count",
"tools"
]
}
},
"names_withheld": {
"type": "integer"
},
"summary": {
"type": "string"
},
"data_as_of": {
"type": "string",
"description": "When the tracker data was published."
},
"source": {
"type": "string",
"description": "The tracker page this answer is drawn from."
}
},
"required": [
"covered",
"summary",
"data_as_of",
"source"
]
}🟢get_recent_changes(vendor, days)
Gives the changes seen to one tracked vendor MCP server's tool list in the last 1 to 30 days (default 7): tools added and removed, tools changed with the fields that changed (title, description, input or output schema, annotations), and tools now counted as able to do more than before. Each change is dated as seen between two checks, because the tracker compares one listing with the next. The answer also says how many checks were made in the period, which ones failed, and any stretch that was not watched. A change made and undone between two checks is not seen. Changed text is never quoted. A server the tracker does not follow gets a 'not covered' answer.
输入模式
{
"type": "object",
"properties": {
"vendor": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[A-Za-z0-9][A-Za-z0-9 ._-]{0,39}$",
"description": "The server, by id or name, for example \"huggingface\" or \"Microsoft Learn\"."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 7,
"description": "How many days back to look, 1 to 30. Default 7."
}
},
"required": [
"vendor"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"covered": {
"type": "boolean"
},
"vendor_asked": {
"type": "string"
},
"covered_vendors": {
"type": "array",
"items": {
"type": "string"
}
},
"vendor": {
"type": "string"
},
"name": {
"type": "string"
},
"days": {
"type": "integer"
},
"period": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
},
"watched_from": {
"type": [
"string",
"null"
]
},
"last_listed": {
"type": [
"string",
"null"
]
},
"checks_in_period": {
"type": "integer"
},
"listings_in_period": {
"type": "integer"
},
"failed_checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"type": "string"
},
"outcome": {
"type": "string"
}
}
}
},
"failed_checks_total": {
"type": "integer"
},
"unwatched_stretches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": [
"string",
"null"
]
},
"hours": {
"type": "integer"
}
}
}
},
"changes": {
"type": "array",
"items": {
"type": "object"
}
},
"older_changes_may_be_missing": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"data_as_of": {
"type": "string",
"description": "When the tracker data was published."
},
"source": {
"type": "string",
"description": "The tracker page this answer is drawn from."
}
},
"required": [
"covered",
"summary",
"data_as_of",
"source"
]
}🟢find_tool(name, match)
Finds which tracked vendor MCP servers list a tool with a given name, and the kind each is counted as. By default it matches the whole name, ignoring case; with match set to 'contains' it finds names containing the text (at least 3 characters). Searches only the servers the tracker follows, at their latest listing.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.-]{1,64}$",
"description": "A tool name, for example \"delete_issue\"."
},
"match": {
"type": "string",
"enum": [
"exact",
"contains"
],
"default": "exact"
}
},
"required": [
"name"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"match": {
"type": "string"
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vendor": {
"type": "string"
},
"name": {
"type": "string"
},
"tool": {
"type": "string"
},
"kind": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"vendor",
"tool",
"kind"
]
}
},
"total_matches": {
"type": "integer"
},
"servers_searched": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"data_as_of": {
"type": "string",
"description": "When the tracker data was published."
},
"source": {
"type": "string",
"description": "The tracker page this answer is drawn from."
}
},
"required": [
"query",
"matches",
"total_matches",
"summary",
"data_as_of",
"source"
]
}社区
证据