starlink-awaken

MCP OpenClaw

Community starlink-awaken
Updated

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-openclaw

Local Installation

npm install mcp-openclaw

Configuration

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.jsonWindows: %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": ["[email protected]", "[email protected]"],
  "reminder": 15
}
4. send_email

Send an email.

{
  "to": "[email protected]",
  "subject": "Hello from OpenClaw",
  "body": "This is the email content",
  "cc": "[email protected]",
  "bcc": "[email protected]",
  "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 install

Build

npm run build

Test

npm test

Lint

npm run lint
npm run lint:fix

Format

npm run format

Project 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 scripts

Architecture

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

MCP Server · Populars

MCP Server · New