Civic

v0.1.0

Connect to Civic MCP for 100+ integrations.

1· 304· 1 versions· 1 current· 1 all-time· Updated 15h ago· MIT-0

Install

openclaw skills install openclaw-civic-skill

Civic MCP Bridge

⚠️ DISCLAIMER: Use at your own risk. For official documentation, visit docs.civic.com.

Connect to Civic for 100+ integrations including Gmail, PostgreSQL, MongoDB, Box, and more.

Setup

1. Get your Civic credentials

  1. Go to nexus.civic.com and sign in
  2. Get your MCP URL and access token from your profile settings

2. Configure in OpenClaw

Add to ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "civic": {
        "enabled": true,
        "env": {
          "CIVIC_URL": "https://nexus.civic.com/hub/mcp?accountId=YOUR_ACCOUNT_ID&profile=YOUR_PROFILE",
          "CIVIC_TOKEN": "your-access-token"
        }
      }
    }
  }
}

3. (Optional) Configure mcporter

If you have mcporter installed (npm install -g mcporter), add to ~/.openclaw/workspace/config/mcporter.json:

{
  "mcpServers": {
    "civic": {
      "baseUrl": "https://nexus.civic.com/hub/mcp?accountId=YOUR_ACCOUNT_ID&profile=YOUR_PROFILE",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN",
        "User-Agent": "openclaw/1.0.0"
      }
    }
  }
}

Instructions for the Agent

When the user asks to interact with external services through Civic, try mcporter first. If it fails, fall back to the TypeScript script.

Using mcporter

# List tools
mcporter list civic

# Search tools
mcporter list civic | grep gmail

# Call a tool
mcporter call 'civic.google-gmail-search_gmail_messages(query: "is:unread")'

Fallback: TypeScript script

# List tools
npx tsx {baseDir}/civic-tool-runner.ts --list

# Search tools
npx tsx {baseDir}/civic-tool-runner.ts --search gmail

# Get tool schema
npx tsx {baseDir}/civic-tool-runner.ts --schema google-gmail-search_gmail_messages

# Call a tool
npx tsx {baseDir}/civic-tool-runner.ts --call google-gmail-search_gmail_messages --args '{"query": "is:unread"}'

Authorization flows

Some tools require OAuth on first use. When you see an authorization URL:

  1. Show the URL to the user
  2. After they authorize, continue:
    # mcporter
    mcporter call 'civic.continue_job(jobId: "JOB_ID")'
    
    # script
    npx tsx {baseDir}/civic-tool-runner.ts --call continue_job --args '{"job_id": "JOB_ID"}'
    

Notes

  • API calls can take 10-15 seconds (server-side latency)
  • Tokens expire after ~30 days — regenerate from Civic if needed
  • Gmail batch requests limited to 5-25 messages per call

Version tags

latestvk978fpxwrgcpmhxy7rt2paw4dd82czzx

Runtime requirements

Any binmcporter, npx
EnvCIVIC_URL, CIVIC_TOKEN
Primary envCIVIC_TOKEN