nowyourlink public Spotlights
Anonymous read-only access to settled advertising Spotlights, with an MCP Apps card.
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": {
"nowyourlink": {
"url": "https://nowyourlink.com/mcp"
}
}
}Remote endpoints
https://nowyourlink.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢get_current_spotlight(includeHouseAds)
Read the currently displayed settled public Spotlight, including labeled house advertisements. Does not bid or pay.
Input Schema
{
"type": "object",
"properties": {
"includeHouseAds": {
"type": "boolean",
"default": true,
"description": "When false, a current house advertisement is reported as unavailable instead of returned."
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"day",
"headline",
"description",
"advertiser",
"canonicalUrl",
"contentType"
],
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"advertiser": {
"type": "string"
},
"canonicalUrl": {
"type": "string",
"format": "uri"
},
"contentType": {
"type": "string",
"enum": [
"paid_advertisement",
"house_advertisement"
]
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
},
"docs": {
"type": "string",
"format": "uri"
}
}
}
]
}🟢list_spotlights(limit, offset, cursor)
Browse settled public Spotlights, newest first, including labeled house advertisements. Removed ads are excluded.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"cursor": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Exclusive older-date cursor from nextCursor; cannot be combined with offset."
}
},
"additionalProperties": false,
"not": {
"required": [
"cursor",
"offset"
]
}
}Output Schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"data",
"nextOffset",
"nextCursor"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"day",
"headline",
"description",
"advertiser",
"canonicalUrl",
"contentType"
],
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"advertiser": {
"type": "string"
},
"canonicalUrl": {
"type": "string",
"format": "uri"
},
"contentType": {
"type": "string",
"enum": [
"paid_advertisement",
"house_advertisement"
]
}
}
}
},
"nextOffset": {
"type": [
"integer",
"null"
]
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
{
"type": "null"
}
]
}
}
},
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
},
"docs": {
"type": "string",
"format": "uri"
}
}
}
]
}🟢get_spotlight(day)
Read one settled public Spotlight by date, including labeled house advertisements. Removed or missing days are unavailable.
Input Schema
{
"type": "object",
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
}
},
"required": [
"day"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"day",
"headline",
"description",
"advertiser",
"canonicalUrl",
"contentType"
],
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"advertiser": {
"type": "string"
},
"canonicalUrl": {
"type": "string",
"format": "uri"
},
"contentType": {
"type": "string",
"enum": [
"paid_advertisement",
"house_advertisement"
]
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
},
"docs": {
"type": "string",
"format": "uri"
}
}
}
]
}🟡create_sandbox_job(idempotencyKey)
Start a synthetic asynchronous sandbox job that exercises the Idempotency-Key and 202-then-poll pattern of the write API without touching real auctions, ads or money. Poll it with get_sandbox_job.
Input Schema
{
"type": "object",
"properties": {
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[\\x21-\\x7e]+$",
"description": "Client-chosen key; the same key always returns the same jobId."
}
},
"required": [
"idempotencyKey"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"sandbox",
"jobId",
"status",
"statusUrl"
],
"properties": {
"sandbox": {
"const": true
},
"jobId": {
"type": "string",
"pattern": "^sbx_[0-9a-f]{16}$"
},
"status": {
"type": "string",
"enum": [
"queued",
"completed"
]
},
"statusUrl": {
"type": "string",
"format": "uri"
},
"result": {
"type": "object",
"required": [
"sandbox",
"data"
],
"properties": {
"sandbox": {
"const": true
},
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"day",
"headline",
"description",
"advertiser",
"canonicalUrl",
"contentType"
],
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"advertiser": {
"type": "string"
},
"canonicalUrl": {
"type": "string",
"format": "uri"
},
"contentType": {
"type": "string",
"enum": [
"paid_advertisement",
"house_advertisement"
]
}
}
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
},
"docs": {
"type": "string",
"format": "uri"
}
}
}
]
}🟢get_sandbox_job(jobId)
Read the status and synthetic result of a sandbox job created with create_sandbox_job. Every well-formed jobId resolves as completed, so a result is not proof that the key was created.
Input Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"pattern": "^sbx_[0-9a-f]{16}$",
"description": "jobId returned by create_sandbox_job."
}
},
"required": [
"jobId"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"sandbox",
"jobId",
"status",
"statusUrl"
],
"properties": {
"sandbox": {
"const": true
},
"jobId": {
"type": "string",
"pattern": "^sbx_[0-9a-f]{16}$"
},
"status": {
"type": "string",
"enum": [
"queued",
"completed"
]
},
"statusUrl": {
"type": "string",
"format": "uri"
},
"result": {
"type": "object",
"required": [
"sandbox",
"data"
],
"properties": {
"sandbox": {
"const": true
},
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"day",
"headline",
"description",
"advertiser",
"canonicalUrl",
"contentType"
],
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Settled auction date in UTC, YYYY-MM-DD."
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"advertiser": {
"type": "string"
},
"canonicalUrl": {
"type": "string",
"format": "uri"
},
"contentType": {
"type": "string",
"enum": [
"paid_advertisement",
"house_advertisement"
]
}
}
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
},
"docs": {
"type": "string",
"format": "uri"
}
}
}
]
}Community
Evidence