AnimateMyTravel Studio
Animated map videos of any story: trips, wars, empires, storms, data. Free, no signup.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 studio_describe_capabilities 中
- LOW在 studio_export_json 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"studio": {
"url": "https://www.animatemytravel.com/api/mcp"
}
}
}遠端端點
https://www.animatemytravel.com/api/mcpstreamable-http它能做什麼
工具清單
工具(15)
🟡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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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#"
}社群
證據