URL2Ad MCP
An MCP server that allows AI agents to generate 15-second animated video ads directly from a web page URL. It provides tools to create a watermarked preview, check generation status, and request modifications, using only the content from the provided page.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://url2ad.app/mcpWhat you can do with it
- Generate a 15-second animated video ad from a product page URL
- Check the status of a video ad generation process
- Request a specific change to an existing ad draft
Source and maintenance
Protocol and capabilities
- Server
- url2ad 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 3 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
3 advertised
create_ad — Create a video ad from a web page
Starts building a free watermarked 15-second video ad from a public web page, in the language of that page. Use it when the user asks for a video ad for their site, product, app or store. The address must be the user's own, given by them in this conversation: never guess it or use someone else's. It receives the link by e-mail. Calling it again with the same page and address returns the same ad.
{
"type": "object",
"required": [
"url",
"email"
],
"properties": {
"url": {
"type": "string",
"description": "The public web page to make the ad from, e.g. https://example.com. Social network profiles do not work."
},
"email": {
"type": "string",
"description": "The user's own e-mail address, which receives the link to the video."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ad_id",
"page_url",
"status"
],
"properties": {
"ad_id": {
"type": "string"
},
"status": {
"enum": [
"building",
"already_exists"
],
"type": "string"
},
"page_url": {
"type": "string",
"description": "Where the user watches the free watermarked video."
}
}
}{
"title": "Create a video ad from a web page",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_ad_status — Check where a video ad stands
Returns the state of an ad started with create_ad: building, preview_ready, paid, failed or unavailable, with its page link, the changes left and the reason for a failure. Use it when the user asks whether their ad is ready, or before saying that it is. To wait for an ad being built, pass wait_seconds and call again while the status is building.
{
"type": "object",
"required": [
"ad_id"
],
"properties": {
"ad_id": {
"type": "string",
"description": "The ad_id returned by create_ad."
},
"wait_seconds": {
"type": "integer",
"maximum": 45,
"minimum": 0,
"description": "Holds the answer up to this long, returning as soon as the ad stops building. Default 0: answer at once."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ad_id",
"page_url",
"status",
"changes_left"
],
"properties": {
"ad_id": {
"type": "string",
"description": "The latest version of the ad. A change makes a new version."
},
"status": {
"enum": [
"building",
"preview_ready",
"paid",
"failed",
"unavailable"
],
"type": "string"
},
"failure": {
"type": "string",
"description": "Why the ad, or the last change to it, failed."
},
"page_url": {
"type": "string"
},
"changes_left": {
"type": "integer"
}
}
}{
"title": "Check where a video ad stands",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}request_change — Change a video ad
Rebuilds an existing ad with a change the user asked for, such as other wording, colors or images. It uses up one of the changes left, and one free change is included, so call it only when the user asked for this change, and pass their request as they said it. The new version takes a few minutes: follow it with get_ad_status.
{
"type": "object",
"required": [
"ad_id",
"change"
],
"properties": {
"ad_id": {
"type": "string",
"description": "The ad_id returned by create_ad."
},
"change": {
"type": "string",
"description": "What the user wants changed, in their words (3 to 1000 characters)."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ad_id",
"page_url",
"status"
],
"properties": {
"ad_id": {
"type": "string",
"description": "The new version of the ad."
},
"status": {
"enum": [
"building"
],
"type": "string"
},
"page_url": {
"type": "string"
}
}
}{
"title": "Change a video ad",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 160 ms
- 95th percentile latency
- 160 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 160 ms · metadata changed · 3 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http url2ad-mcp https://url2ad.app/mcpCodex
codex mcp add url2ad-mcp --url https://url2ad.app/mcpCursor
{
"mcpServers": {
"url2ad-mcp": {
"url": "https://url2ad.app/mcp"
}
}
}Cline
{
"mcpServers": {
"url2ad-mcp": {
"type": "streamableHttp",
"url": "https://url2ad.app/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"url2ad-mcp": {
"type": "http",
"url": "https://url2ad.app/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http url2ad-mcp https://url2ad.app/mcpClaude Desktop
{
"mcpServers": {
"url2ad-mcp": {
"url": "https://url2ad.app/mcp"
}
}
}Windsurf
{
"mcpServers": {
"url2ad-mcp": {
"serverUrl": "https://url2ad.app/mcp"
}
}
}Let your agent find its tools
Find servers like URL2Ad MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other design servers
Do you run URL2Ad MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.