Motion MCP connector
OAuth 2.1/DCRProject ManagementProductivityConnect to Motion MCP. Manage tasks, projects, workspaces, and schedules in the Motion AI-powered project management platform.
Motion MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'motionmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Motion MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'motionmcp_get_auth_context',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "motionmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Motion MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="motionmcp_get_auth_context",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Feedback submit — Submit feedback about this Motion MCP server to the Motion product team
- Search brands — Search for brands by name or domain query
- Get workspace competitors, workspace brand, reports — List competitor brands the workspace is tracking, with optional filtering by specific brand IDs
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
motionmcp_get_auth_context#Retrieve the authenticated user's organizations and workspaces. Returns the workspaceId required by all other Motion tools.0 params
Retrieve the authenticated user's organizations and workspaces. Returns the workspaceId required by all other Motion tools.
motionmcp_get_brand_by_domain#Resolve a brandId from a website domain or URL. Returns null if no brand is found for the given domain.2 params
Resolve a brandId from a website domain or URL. Returns null if no brand is found for the given domain.
brandUrlstringrequiredBrand URL or domain, for example `https://example.com`workspaceIdstringrequiredThe workspace ID for authorizationmotionmcp_get_creative_insights#Retrieve creative performance insights for your own ads in a workspace. Either datePreset or both startDate and endDate must be provided.16 params
Retrieve creative performance insights for your own ads in a workspace. Either datePreset or both startDate and endDate must be provided.
insightTypestringrequiredPrimary metric to sort/rank creatives byorganizationIdstringrequiredThe organization ID from get_auth_contextworkspaceIdstringrequiredThe workspace ID from get_auth_contextchartKPIsarrayoptionalOptional KPI fields to include in chart KPI metrics.creativeAssetIdsarrayoptionalOptional creative asset IDs to narrow results.datePresetstringoptionalPredefined date range. Omit if using startDate/endDate.endDatestringoptionalCustom end date (YYYY-MM-DD). Requires datePreset=CUSTOM.filtersarrayoptionalNested filter groups to narrow which creatives are returned. Outer array = AND (all groups must pass); inner array = OR (any filter in a group can match). For text fields (campaignName, adsetName, adName): use "value" (singular) for case-insensitive substring match, or "values" (array) for exact match. For metric fields: set "metric": true and use "value" for thresholds or "values" for ranges. Example: [[{"field":"spend","type":"GREATER_THAN","value":"100","metric":true}],[{"field":"campaignName","type":"includes","value":"Prospecting"}]] returns creatives where spend > 100 AND campaign name contains "Prospecting".groupBystringoptionalHow to group ranked rows. Options: 'creative' (default — one row per creative asset), 'adId' (one row per ad — for ad-level optimization, comparing same creative across ad sets, deciding which ad to pause/scale), 'name' (by ad name), 'copy' (by ad body text — 'which copy performs best?'), 'headline' (by headline text), 'landingPage' (by destination URL — 'which landing page converts best?').includeEntityCategoryValuesbooleanoptionalInclude the full taxonomy catalog (all possible values) per glossary category. Default false — only the values applied to each creative are returned. Set true when you need to see all available tags for coverage gap analysis.includeGlossarybooleanoptionalInclude creative taxonomy/glossary tags per creative. Default false to minimize payload. Set true for creative pattern analysis.insightGroupsarrayoptionalMetric groups per creative. Defaults: spendState, performance, motion, click.limitintegeroptionalMax number of creatives to returnstartDatestringoptionalCustom start date (YYYY-MM-DD). Requires datePreset=CUSTOM.tableKPIsarrayoptionalOptional KPI fields to include in table KPI metrics.withAggregatedInsightsbooleanoptionalInclude account-level aggregated metricsmotionmcp_get_creative_summary#Fetch a compact AI-generated summary for a specific creative asset in a workspace.5 params
Fetch a compact AI-generated summary for a specific creative asset in a workspace.
creativeEntityIdstringrequiredMongo ObjectId of the creative entitycreativeFormatstringrequiredCreative format from the source tool. Pass through the source value; `unknown` may fail if no compatible summary prompt exists.creativeOriginstringrequiredSource/origin of the creativeorganizationIdstringrequiredThe organization ID from get_auth_contextworkspaceIdstringrequiredThe workspace ID from get_auth_contextmotionmcp_get_creative_transcript#Fetch the spoken transcript for a video creative by its entity ID and workspace.4 params
Fetch the spoken transcript for a video creative by its entity ID and workspace.
creativeEntityIdstringrequiredMongo ObjectId of the creative entitycreativeOriginstringrequiredSource/origin of the creativeworkspaceIdstringrequiredThe workspace ID from get_auth_contextcreativeFormatstringoptionalCreative format (video or image). Transcript data is only available for video creatives; image creatives will return empty transcript data.motionmcp_get_demographic_breakdown#Return ad performance broken down by age and gender demographics for a workspace.3 params
Return ad performance broken down by age and gender demographics for a workspace.
organizationIdstringrequiredThe organization ID from get_auth_contextworkspaceIdstringrequiredThe workspace ID from get_auth_contextdatePresetstringoptionalPredefined date rangemotionmcp_get_glossary_values#Return the workspace's glossary taxonomy — categories and their allowed tag values.4 params
Return the workspace's glossary taxonomy — categories and their allowed tag values.
workspaceIdstringrequiredThe workspace IDcategoryNamesarrayoptionalOptional list of glossary category internal namescustomOnlybooleanoptionalReturn only custom glossary categoriesincludeCreativeIdsbooleanoptionalInclude creative IDs in value bucketsmotionmcp_get_inspo_brand_context#Retrieve strategic brand context for an Inspo brand, including positioning, voice, tone, messaging angles, and customer voice analysis.2 params
Retrieve strategic brand context for an Inspo brand, including positioning, voice, tone, messaging angles, and customer voice analysis.
brandIdstringrequiredThe brand ID to get Inspo context forworkspaceIdstringrequiredThe workspace ID for authorizationmotionmcp_get_inspo_creatives#Retrieve Inspo creatives for one or more brands by brand ID, with optional filters for date range, format, and platform.6 params
Retrieve Inspo creatives for one or more brands by brand ID, with optional filters for date range, format, and platform.
brandIdsarrayrequiredOne or more brand IDs to fetch Inspo creatives forlaunchDatestringoptionalOptional launch date window. When omitted, returns creatives regardless of launch date. Available: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS.limitintegeroptionalMax creatives to return. Defaults to 50. For larger pulls, increase up to 1000.sortstringoptionalSort order by launch datestatusstringoptionalOptional ad status filterwithGlossarybooleanoptionalInclude Motion glossary tags for returned creativesmotionmcp_get_reports#Return saved reports for a workspace. Omit reportId to list all reports; provide reportId to fetch a specific report with full data.4 params
Return saved reports for a workspace. Omit reportId to list all reports; provide reportId to fetch a specific report with full data.
organizationIdstringrequiredThe organization ID from get_auth_contextworkspaceIdstringrequiredThe workspace ID from get_auth_contextreportIdstringoptionalSpecific report ID. Omit to list all reports.reportTypesarrayoptionalFilter by report type when listing. Omit to include all types.motionmcp_get_workspace_brand#Return the workspace's own brand reference ID for use with brand context and competitor tools.1 param
Return the workspace's own brand reference ID for use with brand context and competitor tools.
workspaceIdstringrequiredThe workspace ID for authorizationmotionmcp_get_workspace_competitors#List competitor brands the workspace is tracking, with optional filtering by specific brand IDs.2 params
List competitor brands the workspace is tracking, with optional filtering by specific brand IDs.
workspaceIdstringrequiredThe workspace ID for authorizationbrandIdsarrayoptionalOptional competitor brand IDs to fetch. Resolve IDs first when narrowing to a specific competitor set.motionmcp_search_brands#Search for brands by name or domain query. Returns matching brands with optional verbose catalog fields.3 params
Search for brands by name or domain query. Returns matching brands with optional verbose catalog fields.
querystringrequiredSearch query (brand name or domain)workspaceIdstringrequiredThe workspace ID for authorizationverbosebooleanoptionalWhen true, include the full per-brand catalog (visual formats, top landing pages). Defaults to false for lean discovery responses.motionmcp_submit_feedback#Submit feedback about this Motion MCP server to the Motion product team.6 params
Submit feedback about this Motion MCP server to the Motion product team.
categorystringrequiredType of feedback: 'bug' for tool errors or incorrect behavior, 'feature_request' for missing capabilities, 'workflow_friction' for flows that are overly complex.commentstringrequiredConcise, actionable description. For bugs: what you did, what happened, what you expected. For feature requests: what is missing and why. For workflow friction: what the user tried and how it could be simpler.intentstringrequiredBriefly describe the wider context task, and why this tool was chosen. Omit argument values, PII/secrets. Use English.querystringoptionalThe user's original question or request that led to this feedback. Include enough context for the Motion team to reproduce the issue — e.g. 'Show me top performing creatives for Q1' or 'Compare my hook rates to competitors'. Omit PII.tagsarrayoptionalOptional tags to categorize feedback (e.g. 'ux', 'performance', 'accuracy', 'missing-data').toolNamestringoptionalThe name of the specific Motion MCP tool this feedback is about.