execution-run-mcp
Official# execution-run-mcp
Model Context Protocol (MCP) server for the [Execute.run](https://execution.run) bot API. Enables AI agents to manage Shell balances, transfer funds, and execute LLM requests through the Execute.run platform.
## Installation
### Via npx (Recommended)
```bash
npx @execution-run/mcp-server
```
### Via npm
```bash
npm install -g @execution-run/mcp-server
execution-run-mcp
```
### From Source
```bash
git clone https://github.com/execution-run/execution-run-mcp.git
cd execution-run-mcp
bun install
bun run build
```
## Configuration
Set the following environment variables:
- `EXECUTE_RUN_API_KEY` (required): Your Execute.run API key from [execution.run/api-keys](https://execution.run/api-keys)
- `EXECUTE_RUN_API_URL` (optional): API base URL (defaults to `https://execution.run/v1`)
## Usage
### With Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"execution-run": {
"command": "npx",
"args": ["execution-run-mcp"],
"env": {
"EXECUTE_RUN_API_KEY": "sk_live_your_api_key_here"
}
}
}
}
```
### With Kiro
Add to your `.kiro/settings/mcp.json`:
```json
{
"mcpServers": {
"execution-run": {
"command": "npx",
"args": ["execution-run-mcp"],
"env": {
"EXECUTE_RUN_API_KEY": "sk_live_your_api_key_here"
}
}
}
}
```
### Standalone
```bash
EXECUTE_RUN_API_KEY=sk_live_xxx execution-run-mcp
```
## Available Tools
### whoami
Get your card and wallet identity information.
**Parameters:** None
**Returns:**
```json
{
"cardId": "crd_abc123",
"walletId": "exe_xyz789",
"address": "bot-prod@exe_xyz789",
"balance": 1000,
"status": "active"
}
```
### get_balance
Get the current Shell balance and ceiling for your wallet.
**Parameters:** None
**Returns:**
```json
{
"balance": 1000,
"ceiling": 1000000
}
```
### get_transactions
Get transaction history for your wallet.
**Parameters:**
- `limit` (optional): Number of transactions to return (default: 50, max: 100)
**Returns:**
```json
{
"transactions": [
{
"id": "tx_123",
"type": "mint",
"amount": 1000,
"balanceAfter": 1000,
"timestamp": { "_seconds": 1706745600 },
"purpose": "Initial credit"
}
]
}
```
### transfer
Transfer Shells to another wallet.
**Parameters:**
- `to` (required): Recipient wallet ID (exe_xxx) or card address (cardName@exe_xxx)
- `amount` (required): Amount of Shells to transfer (positive integer)
- `purpose` (required): Purpose/context for the transfer
**Returns:**
```json
{
"transaction": {
"id": "tx_456",
"type": "transfer",
"amount": 100,
"balanceAfter": 900,
"purpose": "Payment for service"
}
}
```
### sign
Sign a challenge with your card's Ed25519 keypair.
**Parameters:**
- `challenge` (required): Base64-encoded challenge to sign
**Returns:**
```json
{
"signature": "base64_encoded_signature",
"cardId": "crd_abc123",
"walletId": "exe_xyz789"
}
```
### compute
Execute an LLM request by burning Shells.
**Parameters:**
- `model` (required): Model identifier (e.g., 'gemini-2.0-flash', 'gpt-4o', 'claude-3-5-sonnet-latest')
- `messages` (required): Array of conversation messages with `role` and `content`
- `temperature` (optional): Sampling temperature (0-2)
- `maxTokens` (optional): Maximum tokens to generate
**Returns:**
```json
{
"content": "Hello! How can I help you?",
"model": "gemini-2.0-flash",
"cost": 4
}
```
## Development
```bash
# Install dependencies
bun install
# Build
bun run build
# Watch mode
bun run dev
# Run locally
bun run start
```
## License
MIT
## Links
- [Execute.run Platform](https://execution.run)
- [API Documentation](https://execution.run/docs/api)
- [Get API Key](https://execution.run/api-keys)
- [Model Context Protocol](https://modelcontextprotocol.io)
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose with no overlap: compute handles LLM execution, get_balance and get_transactions provide wallet information, sign handles authentication, transfer manages funds, and whoami returns identity. The descriptions clearly differentiate their functions, eliminating any ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case: compute, get_balance, get_transactions, sign, transfer, and whoami. The naming is predictable and readable throughout the set, with no deviations in style.
With 6 tools, the count is well-scoped for a wallet and execution management server. Each tool earns its place by covering essential operations like balance checking, transactions, transfers, identity, and LLM execution, without being excessive or sparse.
The tool set provides strong coverage for wallet management and LLM execution, including identity, balance, transactions, transfers, and signing. A minor gap exists in lacking a tool for managing or configuring the wallet settings, but core workflows are fully supported without dead ends.