MCP Canary
Inspect any remote MCP server: transport, protocol, tools, and side-effect hints. No tool calls.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"inspect": {
"url": "https://api.mcpcanary.com/mcp"
}
}
}Puntos de conexión remotos
https://api.mcpcanary.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
🟢get_pricing
MCP Canary plans, monthly prices (in cents), and limits, plus the free trial. The trial needs no payment and starts on the first monitor write.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"trial": {
"type": "object",
"properties": {
"hours": {
"type": "integer"
},
"limits": {
"type": "object",
"properties": {
"monitors": {
"type": "integer"
},
"min_interval_seconds": {
"type": "integer"
},
"history_days": {
"type": "integer"
},
"passed_check_days": {
"type": "integer"
},
"on_demand_checks_per_day": {
"type": "integer"
},
"webhooks": {
"type": "integer"
},
"emails": {
"type": "integer"
}
},
"required": [
"monitors",
"min_interval_seconds",
"history_days",
"passed_check_days",
"on_demand_checks_per_day",
"webhooks",
"emails"
]
}
},
"required": [
"hours",
"limits"
]
},
"plans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"price": {
"type": "integer"
},
"interval": {
"type": "string"
},
"limits": {
"type": "object",
"properties": {
"monitors": {
"type": "integer"
},
"min_interval_seconds": {
"type": "integer"
},
"history_days": {
"type": "integer"
},
"passed_check_days": {
"type": "integer"
},
"on_demand_checks_per_day": {
"type": "integer"
},
"webhooks": {
"type": "integer"
},
"emails": {
"type": "integer"
}
},
"required": [
"monitors",
"min_interval_seconds",
"history_days",
"passed_check_days",
"on_demand_checks_per_day",
"webhooks",
"emails"
]
}
},
"required": [
"id",
"price",
"interval",
"limits"
]
}
}
},
"required": [
"currency",
"trial",
"plans"
]
}🟢inspect_endpoint(url, headers)
Connects to a remote MCP endpoint (Streamable HTTP, then legacy SSE), lists its tools, and classifies each tool's side effects from its MCP hints. Never calls a tool on the target. A target problem is status=failed with a stable failure code (e.g. TARGET_UNAVAILABLE, TARGET_AUTH_FAILED, MCP_PROTOCOL_ERROR). Private and loopback addresses are rejected.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"description": "Absolute http or https URL of the MCP endpoint, e.g. https://mcp.deepwiki.com/mcp",
"type": "string"
},
"headers": {
"description": "Optional HTTP headers for the target, e.g. Authorization. Sent to the target only, never stored.",
"type": [
"object",
"null"
],
"additionalProperties": {
"type": [
"string",
"null"
]
},
"default": null
}
},
"required": [
"url"
]
}Esquema de salida
{
"type": "object",
"properties": {
"endpoint": {
"type": "string"
},
"status": {
"type": "string"
},
"transport": {
"type": [
"string",
"null"
]
},
"protocol": {
"type": [
"string",
"null"
]
},
"server": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"version"
]
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"side_effects": {
"type": "string"
},
"hints": {
"type": "object",
"properties": {
"read_only_hint": {
"type": [
"boolean",
"null"
]
},
"destructive_hint": {
"type": [
"boolean",
"null"
]
},
"idempotent_hint": {
"type": [
"boolean",
"null"
]
},
"open_world_hint": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"read_only_hint",
"destructive_hint",
"idempotent_hint",
"open_world_hint"
]
},
"input_schema": true,
"output_schema": true
},
"required": [
"name",
"description",
"side_effects",
"hints",
"input_schema",
"output_schema"
]
}
},
"duration_ms": {
"type": "integer"
},
"failure": {
"type": [
"object",
"null"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": [
"object",
"null"
],
"default": null
}
},
"required": [
"code",
"message"
]
}
},
"required": [
"endpoint",
"status",
"transport",
"protocol",
"server",
"tools",
"duration_ms",
"failure"
]
}Comunidad
Evidencia