Motion MCP

Live

API KEY

PRODUCTIVITY

Productivity

Give your agent per-user access to Motion tasks, projects, and schedules without a shared service account.

  • Acts as the user. Every Motion API call carries the authorizing user's token, so task assignments, schedule changes, and project updates are attributed to the right person.
  • Credentials stay vaulted. API keys encrypted AES-256, resolved at request time, never in LLM context.
  • Scoped before every call. Tool permissions enforced per tenant with a 90-day audit trail on every Motion action.
Motion MCP
agent · Acme Q3
Run
What tasks are overdue across my active projects?
S
motion_tasks_list
85ms
Motion productivity agent
You have 9 overdue tasks across 4 projects: 3 in Q3 Launch, 3 in Client Onboarding, 2 in Engineering Backlog, 1 in Marketing.
Sources: 9 tasks, 4 projects, overdue
motionmcp
9 tasks
18:29
Message Claude...

Tools your productivity agent reaches for on Motion MCP, scoped per user.

CALL ANY TOOL
Each tool maps to a Motion API resource and runs under the authorizing user's API key.
motionmcp_get_auth_context
Get Auth Context
Retrieve the authenticated user's organizations and workspaces. Returns the workspaceId required by all other Motion tools.
Parameters
Name
Type
Required
Description
No parameters required
motionmcp_get_brand_by_domain
Get Brand By Domain
motionmcp_get_creative_insights
Get Creative Insights
motionmcp_get_creative_summary
Get Creative Summary
motionmcp_get_creative_transcript
Get Creative Transcript
motionmcp_get_demographic_breakdown
Get Demographic Breakdown
motionmcp_get_glossary_values
Get Glossary Values
motionmcp_get_inspo_brand_context
Get Inspo Brand Context
motionmcp_get_inspo_creatives
Get Inspo Creatives
motionmcp_get_reports
Get Reports
motionmcp_get_workspace_brand
Get Workspace Brand
motionmcp_get_workspace_competitors
Get Workspace Competitors
motionmcp_search_brands
Search Brands
motionmcp_submit_feedback
Submit Feedback
Build your Agent
One auth pattern wires Motion into LangChain, OpenAI, Anthropic, and Google ADK without framework-specific token handling.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="motionmcp")

mcp = MultiServerMCPClient({
"motionmcp": {
"url": "https://mcp.scalekit.com/motionmcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "motionmcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/motionmcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "motionmcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/motionmcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="motionmcp")
# Connect to MCP at https://mcp.scalekit.com/motionmcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your Motion agent to get started.
Task triage
Copy the prompt
Copied
List all tasks assigned to me that are overdue or due today.
Copy the prompt
Copied
Show me every high-priority task across all my active projects.
Copy the prompt
Copied
What tasks have no due date assigned to them in my current projects?
Copy the prompt
Copied
Create a new ASAP task called 'Prep board slides' in the Q3 Launch project due Friday.
Project overview
Copy the prompt
Copied
Summarise the status of all my active projects and how many open tasks each has.
Copy the prompt
Copied
List all users in my workspace and what projects they are assigned to.
Copy the prompt
Copied
How many tasks in the Client Onboarding project are still marked todo?
Schedule and planning
Copy the prompt
Copied
Show me my AI-generated schedule for today and flag any timeblocked tasks past their due date.
Copy the prompt
Copied
Move all overdue tasks in Engineering Backlog to due next Monday.
Copy the prompt
Copied
What does my schedule look like for tomorrow?
SEE HOW AUTH WORKS
The user authorises once with their Motion API key. Every agent call after uses that key, scoped to the tools you allow.
1
Authorize
Your user connects
Motion MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Motion MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Motion MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Motion MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other productivity connectors.
No items found.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
Other connector libraries treat auth as a demo afterthought — shared keys, no scope enforcement, no audit trail.
01.
Shared tokens break per-user analytics
A shared Motion API key looks fine in a demo. In production every task creation and schedule update shows as a service account. Scalekit resolves the real user's credential so Motion audit logs carry the correct author and AI-scheduled actions are attributed to the right person.
// shared token
motion audit → bot_service_account

// scalekit
motion audit → alice@acme.com ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Motion MCP today. Others tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does every user need their own Motion API key, or can I use one shared key?
Every user connects their own Motion API key. Scalekit vaults each key under a per-user, per-tenant namespace. A shared key collapses all task creations, schedule updates, and project edits into a single audit identity and breaks any per-user access controls Motion enforces on your workspace.
How does Scalekit store the Motion API keys?
Keys are encrypted at rest with AES-256 and resolved at request time directly into the tool call. The plaintext key never appears in agent context, logs, or LLM prompts. You can rotate or revoke a key from the Scalekit dashboard without redeploying your agent.
Can I limit which Motion tools a specific agent or tenant can call?
Yes. Use listScopedTools to return only the tools permitted for a given user or tenant. Your agent never sees tools outside the allowed scope, so it cannot accidentally call motion_task_create when only read access is granted. Scope lists update at runtime without redeployment.
What happens when a user revokes their Motion API key or leaves the organisation?
Scalekit detects the 401 on the next tool call and surfaces a re-auth event to your application. The agent stops executing Motion tools for that user until a fresh key is vaulted. No other users or tenants are affected. You can also proactively delete a user's credential via the Scalekit API when offboarding.
Motion's AI auto-schedules tasks — will agent-created tasks get scheduled automatically?
Yes. Tasks created via motion_task_create go into the authenticated user's Motion inbox and are subject to Motion's AI scheduling engine, just as if the user created them directly. Your agent sets the priority and due date; Motion's scheduler handles when the task appears in the user's timeblocked calendar.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""motionmcp"": {
""url"": ""https://mcp.scalekit.com/motionmcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.motionmcp]
url = ""https://mcp.scalekit.com/motionmcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""motionmcp"": {
""url"": ""https://mcp.scalekit.com/motionmcp"",
""type"": ""http""
}
}
}