MCP Setup Guide

Connect eWasl to your AI assistant in under a minute.

Prerequisites

  • An eWasl account with at least one connected social account
  • An API key from your eWasl Settings
  • Professional or Enterprise plan (includes API & MCP)

1. Claude Code (CLI)

Add this to your ~/.claude/settings.json:

{
  "mcpServers": {
    "ewasl": {
      "type": "http",
      "url": "https://app.ewasl.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ewasl_YOUR_API_KEY"
      }
    }
  }
}

2. Claude Desktop

Claude Desktop uses stdio transport. Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "ewasl": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://app.ewasl.com/api/mcp",
        "--header",
        "Authorization: Bearer ewasl_YOUR_API_KEY"
      ]
    }
  }
}

This uses the mcp-remote bridge to convert HTTP transport to stdio. Make sure you have Node.js 18+ installed.

3. Cursor / Other MCP Clients

Any MCP-compatible client can connect using the HTTP transport:

Connection Details
Endpointhttps://app.ewasl.com/api/mcp
TransportHTTP with SSE (Streamable HTTP)
Auth HeaderAuthorization: Bearer ewasl_YOUR_API_KEY

4. Direct REST API

You can also use the V1 API directly from any HTTP client. All MCP tools map to REST endpoints.

# Create a post
curl -X POST https://app.ewasl.com/api/v1/posts \
  -H "Authorization: Bearer ewasl_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from eWasl API!",
    "accountIds": ["your-account-id"],
    "publishNow": true
  }'

# List your posts
curl https://app.ewasl.com/api/v1/posts?limit=10 \
  -H "Authorization: Bearer ewasl_YOUR_API_KEY"

# Get analytics
curl "https://app.ewasl.com/api/v1/analytics?timeframe=30d" \
  -H "Authorization: Bearer ewasl_YOUR_API_KEY"

# List connected accounts
curl https://app.ewasl.com/api/v1/connections \
  -H "Authorization: Bearer ewasl_YOUR_API_KEY"

Quick Prompt Examples

Examples of what you can ask your AI after connecting.

Ask

Post "Your message" to Twitter and LinkedIn.

Result

Creates and publishes immediately.

Ask

Schedule a post for tomorrow at 9am to all my accounts.

Result

Creates a scheduled post.

Ask

Show me all my connected social accounts.

Result

Lists all connections with status.

Ask

What posts did I publish last week?

Result

Lists recent posts with filters.

Ask

Show me my analytics for the last 30 days.

Result

Returns performance data.

Ask

Delete the post scheduled for tomorrow.

Result

Deletes a scheduled post.

Featured tools (37 total via tools/list)

All tools available through the MCP integration.

Posts

ToolMethod
create_postPOST
list_postsGET
schedule_postPOST
get_postGET
update_postPATCH
delete_postDELETE
publish_postPOST

Connections

ToolMethod
list_connectionsGET

Analytics

ToolMethod
get_analyticsGET
sync_analyticsPOST

Media

ToolMethod
list_mediaGET

create_post Parameters

contentstringRequired
The text content of the post (max 63,206 characters).
accountIdsstring[]Required
Array of social account UUIDs to publish to.
publishNowboolean
If true, publishes immediately. Default: false.
isDraftboolean
If true, saves as draft. Default: false.
scheduledAtstring
ISO 8601 datetime for scheduled publishing.
mediaUrlsstring[]
Array of public media URLs (max 10).
platformCaptionsobject
Per-platform captions: { "twitter": "...", "linkedin": "..." }.
tiktokSettingsobject
TikTok-specific: privacyLevel, disableDuet, etc.
youtubeTitlestring
Separate title for YouTube posts (max 100 characters).

Error Codes

How to handle error responses from the API.

400 Bad Request

Invalid request body or parameters. Check your JSON syntax and required fields.

401 Unauthorized

Invalid or missing API key. Make sure you include "Authorization: Bearer ewasl_YOUR_KEY".

403 Forbidden

Your plan does not include API/MCP access. Requires Professional ($49/mo) or Enterprise ($99/mo).

404 Not Found

Resource does not exist. Check the post ID or connection ID.

429 Too Many Requests

Rate limit exceeded. Wait and retry. Check the Retry-After header.

500 Internal Server Error

Server error. Please try again. If the issue persists, contact support.

API Key Permissions

When creating an API key, assign the permissions needed for your use case:

PermissionAllows
posts:readList posts, view post details
posts:createCreate, schedule, and publish posts

Rate Limiting

V1 API requests are rate-limited per API key. When exceeded, you'll receive a 429 response with a Retry-After header.

Troubleshooting

Getting 401 Unauthorized error

Make sure you copy the full API key from eWasl Settings. It should start with "ewasl_".

Getting 403 Forbidden error

API/MCP access requires Professional or Enterprise plan. Upgrade your plan.

AI assistant not responding

Verify the URL in your settings is correct. Must be: https://app.ewasl.com/api/mcp

Post not publishing

Check that your social account is connected and token is valid. Use list_connections to verify.

For complete endpoint documentation, request/response schemas, and more: