Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP OpenClawSend a Telegram message to @john saying I've finished the report"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP OpenClaw
A Model Context Protocol (MCP) server that integrates with the OpenClaw API, enabling AI assistants to send messages, execute commands, manage calendar events, send emails, and track task status.
Features
Send Messages: Send messages to Telegram, WhatsApp, and Discord
Execute Commands: Run commands in the OpenClaw environment (sync or async)
Calendar Management: Create calendar events with attendees and reminders
Email: Send emails with support for CC/BCC
Task Status: Track the status of asynchronous commands
Installation
Global Installation
npm install -g mcp-openclawLocal Installation
npm install mcp-openclawConfiguration
Set the following environment variables:
export OPENCLAW_API_URL="https://api.openclaw.example.com"
export OPENCLAW_API_KEY="your-api-key-here"Optional configuration:
export OPENCLAW_TIMEOUT="30000" # Request timeout in milliseconds (default: 30000)
export OPENCLAW_MAX_RETRIES="3" # Maximum retry attempts (default: 3)
export SERVER_NAME="mcp-openclaw" # Server name (default: mcp-openclaw)
export SERVER_VERSION="1.0.0" # Server version (default: 1.0.0)
export LOG_LEVEL="info" # Log level: debug, info, warn, error (default: info)Usage
With Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"openclaw": {
"command": "node",
"args": ["/path/to/mcp-openclaw/dist/index.js"],
"env": {
"OPENCLAW_API_URL": "https://api.openclaw.example.com",
"OPENCLAW_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
1. send_message
Send a message to a supported platform.
{
"platform": "telegram",
"recipient": "@username",
"message": "Hello from OpenClaw!"
}Supported platforms: telegram, whatsapp, discord
2. execute_command
Execute a command in the OpenClaw environment.
{
"command": "ls -la",
"timeout": 30,
"async": false
}3. create_calendar_event
Create a new calendar event.
{
"title": "Team Meeting",
"description": "Weekly team sync",
"startTime": "2024-01-15T10:00:00Z",
"endTime": "2024-01-15T11:00:00Z",
"location": "Conference Room A",
"attendees": ["user1@example.com", "user2@example.com"],
"reminder": 15
}4. send_email
Send an email.
{
"to": "recipient@example.com",
"subject": "Hello from OpenClaw",
"body": "This is the email content",
"cc": "cc@example.com",
"bcc": "bcc@example.com",
"html": false
}5. get_task_status
Check the status of an asynchronous command.
{
"taskId": "task-abc123"
}Development
Setup
git clone https://github.com/yourusername/mcp-openclaw.git
cd mcp-openclaw
npm installBuild
npm run buildTest
npm testLint
npm run lint
npm run lint:fixFormat
npm run formatProject Structure
mcp-openclaw/
├── src/
│ ├── index.ts # MCP Server entry point
│ ├── types.ts # TypeScript type definitions
│ ├── openclaw-client.ts # OpenClaw API client
│ └── tools/
│ ├── index.ts # Tools registry
│ ├── send-message.ts
│ ├── execute-command.ts
│ ├── create-calendar-event.ts
│ ├── send-email.ts
│ └── get-task-status.ts
├── tests/ # Test files
├── examples/ # Usage examples
├── docs/ # Documentation
└── scripts/ # Build and utility scriptsArchitecture
For detailed architecture information, see docs/ARCHITECTURE.md.
API Reference
For the complete API reference, see docs/API.md.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE for details.
Changelog
See CHANGELOG.md for version history.
Support
Issues: GitHub Issues
Documentation: docs/