Monta MCP Server logo

Monta MCP Server

nickknissen/monta-mcp
0 starsUpdated 2025-11-17Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

MCP server that enables LLMs to interact with Monta's EV charging platform for managing charge points, charging sessions, and wallet operations.

README.md

Monta MCP Server

An MCP (Model Context Protocol) server that wraps the Monta Python SDK to provide LLM-friendly access to the Monta EV charging API.

Features

This MCP server exposes the following tools for interacting with Monta's EV charging platform:

Architecture Highlights

  • Efficient session management: Uses FastMCP's lifespan pattern to maintain a single persistent aiohttp session
  • Connection pooling: Reuses HTTP connections across all tool invocations for optimal performance
  • Type-safe context: All tools access shared resources through strongly-typed lifespan context
  • Proper cleanup: Automatically closes sessions on server shutdown
  • Robust error handling: State-changing operations include input validation, timeout protection (10s), and comprehensive error logging

Charge Point Management

  • get_charge_points - List all available charging stations with pagination
  • get_charge_point - Get detailed information about a specific charging station

Charging Operations

  • get_charges - View charging history/sessions with filtering options
  • start_charge - Start a charging session at a specific charge point
  • stop_charge - Stop an active charging session

Wallet & Payments

  • get_personal_wallet - View wallet balance and payment information
  • get_wallet_transactions - Get transaction history with filtering

Prerequisites

  • Python 3.11 or higher
  • Monta API credentials (client ID and client secret)
  • uv package manager (recommended) or pip

Installation

Using uv (recommended)

git clone <repository-url>
cd monta-mcp
uv sync

Using pip

git clone <repository-url>
cd monta-mcp
pip install -e .

Configuration

The server requires Monta API credentials set as environment variables:

export MONTA_CLIENT_ID="your_client_id"
export MONTA_CLIENT_SECRET="your_client_secret"

Getting Monta public API Credentials

Visit Monta Public API Portal and follow the guide

Usage

Running the Server

The server can be run directly:

# Using the installed script (default log: ./monta-mcp.log)
monta-mcp

# With custom log file location
monta-mcp --log-file /path/to/custom.log

# With custom log level
monta-mcp --log-level DEBUG

# Or using Python module
python -m monta_mcp

Command-line Options:

  • --log-file PATH - Path to log file (default: ./monta-mcp.log)
  • --log-level LEVEL - Logging level: DEBUG, INFO, WARNING, ERROR (default: INFO)

Testing with MCP Inspector

You can test the server using the MCP Inspector tool:

npx @modelcontextprotocol/inspector monta-mcp

This will open a web interface where you can:

  • View all available tools
  • Test tool calls with different parameters
  • See responses from the Monta API

Integrating with Claude Desktop

Add this configuration to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "monta": {
      "command": "monta-mcp",
      "env": {
        "MONTA_CLIENT_ID": "your_client_id",
        "MONTA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Or if using uv:

{
  "mcpServers": {
    "monta": {
      "command": "uv",
      "args": ["run", "monta-mcp"],
      "env": {
        "MONTA_CLIENT_ID": "your_client_id",
        "MONTA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

With custom log location: ``json { "mcpServers": { "monta": { "command": "uv", "args": ["run", "monta-mcp", "--log-file", "/Users/you/logs/monta.log"], "env": { "MONTA_CLIENT_ID": "your_client_id", "MONTA_CLIENT_SECRET": "your_client_secret" } } } } ``

After adding the configuration, restart Claude Desktop. The Monta tools will be available in your conversations.

Example Usage in Claude

Once configured, you can ask Claude things like:

  • "Show me all my charging points"
  • "Get details for charge point 12345"
  • "What's my recent charging history?"
  • "Check my wallet balance"
  • "Start charging at station 12345"

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.