Motion Mcp Public — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Motion Mcp Public (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A remote MCP server that connects Claude to Motion — read and manage your tasks, projects, and comments using plain English.
| Tool | Description |
|---|---|
get_tasks | Get tasks (defaults to current user) |
get_workspaces | List all workspaces |
get_projects | List projects in a workspace |
get_schedule | Get work schedule and timezone |
get_task_comments | Get comments on a task |
get_recurring_tasks | Get recurring task definitions (current user) |
create_task | Create a new task |
update_task | Update task fields or status |
delete_task | Delete a task |
create_comment | Add a comment to a task |
update_project | Update project fields |
Add to Claude Code:
claude mcp add motion https://<your-deployment>/mcp --transport http --scope userClaude will open a browser window to connect your Motion account. You'll need your Motion API key from app.usemotion.com/settings/api.
For Claude.ai, add your deployment URL as a custom connector in Settings → Connectors (requires team admin to approve first).
git clone <repo>
cd motion-mcp
npm install
cp .env.example .env
# Fill in .env
npm run dev| Variable | Required | Description |
|---|---|---|
JWT_SECRET | yes | Secret for signing access tokens — openssl rand -hex 32 |
ENCRYPTION_KEY | yes | AES-256 key for encrypting stored API keys — openssl rand -hex 32 |
BASE_URL | yes | Public URL of your deployment e.g. https://your-app.fly.dev |
DB_PATH | no | Path to SQLite file (default: ./motion.db) |
PORT | no | Port to listen on (default: 3000) |
fly launch --no-deploy
fly volumes create motion_data --size 1 --region sjc --yes
fly scale count 1 --yes
fly secrets set \
JWT_SECRET=$(openssl rand -hex 32) \
ENCRYPTION_KEY=$(openssl rand -hex 32) \
BASE_URL=https://$(fly info --json | python3 -c "import sys,json; print(json.load(sys.stdin)['Hostname'])")
fly deployAdd to your fly.toml under [env]:
DB_PATH = "/data/motion.db"
[[mounts]]
source = "motion_data"
destination = "/data"Note: Keep fly scale count 1 — SQLite cannot be shared across multiple machines.claude mcp add motion https://<your-app>.fly.dev/mcp --transport http --scope user/.well-known/oauth-authorization-server/oauth/authorize@modelcontextprotocol/sdkMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.