# Connect OpenClaw to SocialCannon SocialCannon provides social publishing through REST and MCP. This guide is public; it contains no account credentials. Setup is not complete just because this prompt was pasted or a skill was installed. ## 1. Human account Ask the human to open https://socialcannon.app/sign-in and sign in with Google or GitHub. This creates a free account if needed. No card is required. Their API credentials are at https://socialcannon.app/dashboard/settings?tab=api-keys . The Client Secret is shown once after signup. If missing, explain that generating a new secret invalidates the old one; do not rotate an existing secret without explicit permission. Have the human enter SOCIALCANNON_CLIENT_ID and SOCIALCANNON_CLIENT_SECRET directly into their local OpenClaw skill environment or secret configuration. Never ask them to paste secrets into this chat, a URL, source control, logs, or a diagnostic report. Preserve existing config and permissions. ## 2. Add the skill Use the official ClawHub client from the human's OpenClaw workspace: clawhub install socialcannon Community skill: https://clawhub.ai/miprinia/socialcannon If the client is missing, use the ClawHub installation instructions for the user's environment. Inspect the skill before enabling it; do not bypass security warnings or overwrite an existing installation. Follow the installed skill's instructions and use the two environment variables above. Never claim a connection from the install result alone. ## 3. Verify with a sandbox Base URL: https://socialcannon.app Exchange the locally stored credentials with POST /api/v1/auth/token, JSON fields grant_type="client_credentials", client_id, client_secret. Keep the returned data.access_token private and use it as a Bearer token. Read GET /api/v1/accounts to verify authentication. A user with no real social accounts can still test using the sandbox. With the human's agreement to the sandbox test, POST /api/v1/posts with {"accountId":"sandbox","content":"My first SocialCannon sandbox post"}. This is a simulated post, not a real social publication. Report the result as a sandbox test. Handle errors before continuing; do not report success unless the API confirms it. ## 4. Connect a real destination when ready Have the human open https://socialcannon.app/dashboard/accounts and authorize the desired account in their browser. An agent with accounts:write can also mint a short-lived connection URL through POST /api/v1/accounts/connect-token, following the API docs. Do not construct a connection using a bare client_id as authentication. Read GET /api/v1/accounts again and confirm the intended account exists. Connecting an account does not authorize publishing. Prepare drafts first; obtain explicit approval before real publishing, scheduling, replies, retries, deletion, disconnection or credential changes. ## MCP and other agents REST documentation: https://socialcannon.app/docs Public platform capabilities: https://socialcannon.app/api/v1/platforms For an MCP host, configure a stdio server with command "npx", args ["-y", "@socialcannon/mcp@1.0.2"], and SOCIALCANNON_CLIENT_ID / SOCIALCANNON_CLIENT_SECRET supplied privately through its environment. Keep this pinned package version. Use the host's normal secret setup; do not put real secrets in a chat-generated config. This public guide is not an MCP endpoint. MCP and REST use the same account and permissions. ## Limits and support Free includes 2 connected accounts with unlimited posts, scheduling and media uploads. Twitter/X requires a paid plan. Media and platform rules still apply; see https://socialcannon.app/pricing . Sandbox tests have a separate lifetime allowance. SocialCannon does not read or answer private social DMs. Some analytics and engagement features depend on the platform and paid plan. If setup cannot complete, identify the exact blocked step without exposing credentials. Support: support@socialcannon.app