LinkBunny Placement Checker
Checks whether a public page links to an expected URL; reports anchor, rel and canonical.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"placement-checker": {
"url": "https://mcp.getlinkbunny.com/mcp"
}
}
}Remote endpoints
https://mcp.getlinkbunny.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (1)
🟢inspect_placement(publishedPageURL, expectedDestinationURL)
Fetch a published public HTTPS page and check its HTML for links to an expected public HTTPS destination, including known destination redirects. Return actual hrefs, resolved URLs, anchor text, rel tokens, nofollow, HTTP status, redirects and declared source canonical. No login required. Does not render JavaScript, assess editorial relevance or SEO rankings, edit sites, or report/settle exchanges. not_found means absent from fetched HTML only; indeterminate means source HTML could not be inspected.
Input Schema
{
"type": "object",
"properties": {
"publishedPageURL": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"expectedDestinationURL": {
"type": "string",
"minLength": 1,
"maxLength": 2048
}
},
"required": [
"publishedPageURL",
"expectedDestinationURL"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"found",
"not_found",
"indeterminate"
]
},
"source": {
"type": "object",
"properties": {
"requestedURL": {
"type": "string"
},
"outcome": {
"type": "string",
"enum": [
"fetched",
"not_fetched"
]
},
"finalURL": {
"type": [
"string",
"null"
]
},
"httpStatus": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"redirects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromURL": {
"type": "string"
},
"toURL": {
"type": "string"
},
"statusCode": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"fromURL",
"toURL",
"statusCode"
],
"additionalProperties": false
}
},
"issue": {
"type": [
"string",
"null"
]
},
"declaredCanonical": {
"anyOf": [
{
"type": "object",
"properties": {
"href": {
"type": "string"
},
"resolvedURL": {
"type": [
"string",
"null"
]
}
},
"required": [
"href",
"resolvedURL"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"requestedURL",
"outcome",
"finalURL",
"httpStatus",
"redirects",
"issue",
"declaredCanonical"
],
"additionalProperties": false
},
"destination": {
"type": "object",
"properties": {
"requestedURL": {
"type": "string"
},
"outcome": {
"type": "string",
"enum": [
"fetched",
"not_fetched"
]
},
"finalURL": {
"type": [
"string",
"null"
]
},
"httpStatus": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"redirects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromURL": {
"type": "string"
},
"toURL": {
"type": "string"
},
"statusCode": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"fromURL",
"toURL",
"statusCode"
],
"additionalProperties": false
}
},
"issue": {
"type": [
"string",
"null"
]
}
},
"required": [
"requestedURL",
"outcome",
"finalURL",
"httpStatus",
"redirects",
"issue"
],
"additionalProperties": false
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"href": {
"type": "string"
},
"resolvedURL": {
"type": "string"
},
"anchorText": {
"type": "string"
},
"relTokens": {
"type": "array",
"items": {
"type": "string"
}
},
"nofollow": {
"type": "boolean"
}
},
"required": [
"href",
"resolvedURL",
"anchorText",
"relTokens",
"nofollow"
],
"additionalProperties": false
}
},
"issues": {
"type": "array",
"items": {
"type": "string"
}
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"outcome",
"source",
"destination",
"matches",
"issues",
"limitations"
],
"additionalProperties": false
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_request",
"check_failed"
]
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"oneOf": [
{
"required": [
"data"
]
},
{
"required": [
"error"
]
}
]
}Community
Evidence