Motion MCP connector
OAuth 2.1/DCR Project 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.
brandUrl string required Brand URL or domain, for example `https://example.com` workspaceId string required The workspace ID for authorization motionmcp_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.
insightType string required Primary metric to sort/rank creatives by organizationId string required The organization ID from get_auth_context workspaceId string required The workspace ID from get_auth_context chartKPIs array optional Optional KPI fields to include in chart KPI metrics. creativeAssetIds array optional Optional creative asset IDs to narrow results. datePreset string optional Predefined date range. Omit if using startDate/endDate. endDate string optional Custom end date (YYYY-MM-DD). Requires datePreset=CUSTOM. filters array optional Nested 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". groupBy string optional How 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?'). includeEntityCategoryValues boolean optional Include 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. includeGlossary boolean optional Include creative taxonomy/glossary tags per creative. Default false to minimize payload. Set true for creative pattern analysis. insightGroups array optional Metric groups per creative. Defaults: spendState, performance, motion, click. limit integer optional Max number of creatives to return startDate string optional Custom start date (YYYY-MM-DD). Requires datePreset=CUSTOM. tableKPIs array optional Optional KPI fields to include in table KPI metrics. withAggregatedInsights boolean optional Include account-level aggregated metrics motionmcp_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.
creativeEntityId string required Mongo ObjectId of the creative entity creativeFormat string required Creative format from the source tool. Pass through the source value; `unknown` may fail if no compatible summary prompt exists. creativeOrigin string required Source/origin of the creative organizationId string required The organization ID from get_auth_context workspaceId string required The workspace ID from get_auth_context motionmcp_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.
creativeEntityId string required Mongo ObjectId of the creative entity creativeOrigin string required Source/origin of the creative workspaceId string required The workspace ID from get_auth_context creativeFormat string optional Creative 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.
organizationId string required The organization ID from get_auth_context workspaceId string required The workspace ID from get_auth_context datePreset string optional Predefined date range motionmcp_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.
workspaceId string required The workspace ID categoryNames array optional Optional list of glossary category internal names customOnly boolean optional Return only custom glossary categories includeCreativeIds boolean optional Include creative IDs in value buckets motionmcp_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.
brandId string required The brand ID to get Inspo context for workspaceId string required The workspace ID for authorization motionmcp_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.
brandIds array required One or more brand IDs to fetch Inspo creatives for launchDate string optional Optional launch date window. When omitted, returns creatives regardless of launch date. Available: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS. limit integer optional Max creatives to return. Defaults to 50. For larger pulls, increase up to 1000. sort string optional Sort order by launch date status string optional Optional ad status filter withGlossary boolean optional Include Motion glossary tags for returned creatives motionmcp_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.
organizationId string required The organization ID from get_auth_context workspaceId string required The workspace ID from get_auth_context reportId string optional Specific report ID. Omit to list all reports. reportTypes array optional Filter 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.
workspaceId string required The workspace ID for authorization motionmcp_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.
workspaceId string required The workspace ID for authorization brandIds array optional Optional 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.
query string required Search query (brand name or domain) workspaceId string required The workspace ID for authorization verbose boolean optional When 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.
category string required Type of feedback: 'bug' for tool errors or incorrect behavior, 'feature_request' for missing capabilities, 'workflow_friction' for flows that are overly complex. comment string required Concise, 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. intent string required Briefly describe the wider context task, and why this tool was chosen. Omit argument values, PII/secrets. Use English. query string optional The 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. tags array optional Optional tags to categorize feedback (e.g. 'ux', 'performance', 'accuracy', 'missing-data'). toolName string optional The name of the specific Motion MCP tool this feedback is about.