AnimateMyTravel Studio

Animated map videos of any story: trips, wars, empires, storms, data. Free, no signup.

Should I use this

Quality & Safety

B
Description quality
91%
Schema completeness
68%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'studio_describe_capabilities' description lacks action verbin studio_describe_capabilities
  • LOWTool 'studio_export_json' description lacks action verbin studio_export_json

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,676Tokens (tool definitions)
~1.1 KBTypical response size
Significant attention impact (2.09% of 128k context)

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": {
    "studio": {
      "url": "https://www.animatemytravel.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.animatemytravel.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (15)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟑studio_create_project(name, locale, agentLabel, aspect, template, ...)

Creates an anonymous project and returns the Studio link for the person plus an agent token for later edits. In one call it can start from a template (studio_list_templates), a guide example (studio_list_examples) or your own actions (studio_get_guide); aspect "9:16" makes a vertical Short.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "locale": {
      "default": "en",
      "type": "string"
    },
    "agentLabel": {
      "default": "AI agent",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "aspect": {
      "type": "string",
      "enum": [
        "16:9",
        "9:16"
      ]
    },
    "template": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "values": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "id"
      ]
    },
    "example": {
      "type": "string",
      "minLength": 1
    },
    "actions": {
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "minLength": 1
          },
          "input": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "actionId",
          "input"
        ]
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
βšͺstudio_join_project(pairingCode)

Consumes a five-minute one-time pairing code shown by Studio.

Input Schema

{
  "type": "object",
  "properties": {
    "pairingCode": {
      "type": "string",
      "minLength": 20,
      "maxLength": 64
    }
  },
  "required": [
    "pairingCode"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_list_capabilities(category)

Lists the live action registry. Call this before preparing or modifying a project.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_describe_capabilities(actionIds)

Returns schemas and examples for one or more Studio actions.

Input Schema

{
  "type": "object",
  "properties": {
    "actionIds": {
      "minItems": 1,
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "actionIds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_get_project_summary(projectId, agentToken, includeProject)

Reads the current revision and a compact timeline summary. Set includeProject only when complete raw data is needed.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    },
    "includeProject": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "agentToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
βšͺstudio_apply_actions(projectId, agentToken, baseRevision, clientMutationId, locale, ...)

Atomically applies one or more registered actions. Non-conflicting stale edits are rebased; conflicting edits are rejected.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    },
    "baseRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "clientMutationId": {
      "type": "string",
      "minLength": 8,
      "maxLength": 200
    },
    "locale": {
      "default": "en",
      "type": "string"
    },
    "actions": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "minLength": 1
          },
          "input": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "actionId",
          "input"
        ]
      }
    }
  },
  "required": [
    "projectId",
    "agentToken",
    "baseRevision",
    "actions"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_validate_project(projectId, agentToken)

Checks entity, track, clip, timing, and reference integrity.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    }
  },
  "required": [
    "projectId",
    "agentToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_get_guide

Everything needed to build a story in one read: the fastest paths, how pieces combine (frame, shapes, move, mark, say, link, data, look), a complete example and the actions with their schemas. Read it once before building from scratch.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_list_templates

Ready-made stories to fill in (a trip with stops, visited countries, an invasion, a growing empire, World War I and II, data maps, breaking news…). Pass one to studio_create_project as template { id, values }; values not given keep the defaults shown.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_list_examples

Finished stories from the guides (a wildfire spreading, the euro year by year, a bar chart race, a war map, a train trip…). Start from one with studio_create_project example, then adapt places, texts and numbers with studio_apply_actions.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_find_places(query, limit)

Real coordinates for cities, towns and landmarks ([lat, lng], from OpenStreetMap) and the countries Studio can draw (with isoA2). Use it instead of guessing coordinates.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120
    },
    "limit": {
      "default": 5,
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
βšͺstudio_request_preview(projectId, agentToken, locale, timeMs, format, ...)

Asks an open Studio browser to render a frame locally.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    },
    "locale": {
      "default": "en",
      "type": "string"
    },
    "timeMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "format": {
      "type": "string",
      "enum": [
        "mp4",
        "webm"
      ]
    },
    "quality": {
      "type": "string",
      "enum": [
        "720p",
        "1080p",
        "2k",
        "4k"
      ]
    },
    "aspect": {
      "type": "string",
      "enum": [
        "16:9",
        "9:16"
      ]
    },
    "fps": {
      "anyOf": [
        {
          "type": "number",
          "const": 24
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 30
        },
        {
          "type": "number",
          "const": 60
        }
      ]
    }
  },
  "required": [
    "projectId",
    "agentToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_request_export(projectId, agentToken, locale, timeMs, format, ...)

Asks an open Studio browser to render and download the video locally.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    },
    "locale": {
      "default": "en",
      "type": "string"
    },
    "timeMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "format": {
      "type": "string",
      "enum": [
        "mp4",
        "webm"
      ]
    },
    "quality": {
      "type": "string",
      "enum": [
        "720p",
        "1080p",
        "2k",
        "4k"
      ]
    },
    "aspect": {
      "type": "string",
      "enum": [
        "16:9",
        "9:16"
      ]
    },
    "fps": {
      "anyOf": [
        {
          "type": "number",
          "const": 24
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 30
        },
        {
          "type": "number",
          "const": 60
        }
      ]
    }
  },
  "required": [
    "projectId",
    "agentToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_get_job(projectId, agentToken, jobId)

Checks a local browser preview/export request.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    }
  },
  "required": [
    "projectId",
    "agentToken",
    "jobId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒studio_export_json(projectId, agentToken)

Returns the portable .amtstudio.json content without collaboration secrets.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "agentToken": {
      "type": "string",
      "minLength": 20
    }
  },
  "required": [
    "projectId",
    "agentToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded15 tools