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:
https://app.ewasl.com/api/mcpAuthorization: Bearer ewasl_YOUR_API_KEY4. 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.
Post "Your message" to Twitter and LinkedIn.
Creates and publishes immediately.
Schedule a post for tomorrow at 9am to all my accounts.
Creates a scheduled post.
Show me all my connected social accounts.
Lists all connections with status.
What posts did I publish last week?
Lists recent posts with filters.
Show me my analytics for the last 30 days.
Returns performance data.
Delete the post scheduled for tomorrow.
Deletes a scheduled post.
Featured tools (37 total via tools/list)
All tools available through the MCP integration.
Posts
| Tool | Method | Endpoint | Description |
|---|---|---|---|
create_post | POST | /api/v1/posts | Create, schedule, or publish a post to connected accounts. |
list_posts | GET | /api/v1/posts | List posts with pagination. Filter by status or platform. |
schedule_post | POST | /api/v1/posts/schedule | Schedule a post for future publishing with staggered delivery. |
get_post | GET | /api/v1/posts/:id | Get a single post by ID. Includes status, platforms, and media. |
update_post | PATCH | /api/v1/posts/:id | Update a scheduled post — caption, time, or platforms. |
delete_post | DELETE | /api/v1/posts/:id | Delete a scheduled or draft post. Cannot delete posted posts. |
publish_post | POST | /api/v1/posts/:id/publish | Publish a draft post immediately. Publishes to all accounts attached to the post. |
Connections
| Tool | Method | Endpoint | Description |
|---|---|---|---|
list_connections | GET | /api/v1/connections | List all connected social accounts with status and platform info. |
Analytics
| Tool | Method | Endpoint | Description |
|---|---|---|---|
get_analytics | GET | /api/v1/analytics | Get post performance: views, likes, comments, shares across platforms. |
sync_analytics | POST | /api/v1/analytics/sync | Manually trigger analytics sync from platforms. Rate-limited to once per 5 minutes. |
Media
| Tool | Method | Endpoint | Description |
|---|---|---|---|
list_media | GET | /api/v1/media | List uploaded media files in your library. |
create_post Parameters
contentstringRequiredaccountIdsstring[]RequiredpublishNowbooleanisDraftbooleanscheduledAtstringmediaUrlsstring[]platformCaptionsobjecttiktokSettingsobjectyoutubeTitlestringError Codes
How to handle error responses from the API.
Invalid request body or parameters. Check your JSON syntax and required fields.
Invalid or missing API key. Make sure you include "Authorization: Bearer ewasl_YOUR_KEY".
Your plan does not include API/MCP access. Requires Professional ($49/mo) or Enterprise ($99/mo).
Resource does not exist. Check the post ID or connection ID.
Rate limit exceeded. Wait and retry. Check the Retry-After header.
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:
| Permission | Allows |
|---|---|
posts:read | List posts, view post details |
posts:create | Create, 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: