Max MCP Server
by answerrocket
README.md
# Max MCP Server
A Model Context Protocol (MCP) server that connects Claude and other AI assistants to AnswerRocket's Max AI platform, enabling access to Max copilots and their skills directly from your AI conversations.
## Quick Start for Claude Desktop Users (.dxt install)
### Prerequisites
**macOS:**
- Install `uv` via Homebrew: `brew install uv`
- If you already have `uv` installed via another method, uninstall and reinstall with Homebrew:
```bash
# Remove existing uv data and binaries
uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"
rm ~/.local/bin/uv ~/.local/bin/uvx
# Install via Homebrew
brew install uv
```
**Windows/Linux:**
- Follow the installation instructions at [uv Installation Guide](https://docs.astral.sh/uv/getting-started/installation/)
### Installation
1. **Download the .dxt file:** [mcp-server.dxt](https://github.com/answerrocket/mcp-server/releases)
2. **Install Claude Desktop** if you haven't already
3. **Double-click the .dxt file** to open it with Claude Desktop
4. **Click "Install"** when prompted
5. **Configure your Max instance:**
- **Max URL:** Enter your Max instance URL (e.g., `http://localhost:8080` or `https://maxai.dev.answerrocket.com`)
- Include the `http://` or `https://` prefix
- Do not include any path components
- **SDK Key:** Get this from your Max instance frontend
- **Agent ID:** This is the copilot ID from Skill Studio
- Navigate to Skill Studio: `https://your-max-instance/apps/system/skill-studio/`
- The URL pattern is: `/skill-studio/{COPILOT_ID}/skills/{SKILL_ID}`
- Copy the first UUID (COPILOT_ID)
6. **Click "Save"** (keep the setup window open)
7. **Enable the MCP server** using the toggle in the upper left
### Verification
Navigate back to Claude Desktop's home screen and click the tools icon. You should see "Max MCP" with a list of tools identical to those available in your Max Agent/Copilot.
**Note:** This feature requires Max instances on version 25.09 or above.
## Web-based Usage (Coming Soon)
Support for web-based AI assistants like claude.ai and chatgpt.com is in the works.
## Development Setup
### Prerequisites
- Python 3.10+
- Git
- Access to a Max instance
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/answerrocket/mcp-server.git
cd mcp-server
```
2. **Install dependencies:**
```bash
uv sync
```
### Environment Variables
The server supports two modes: **local** and **remote**.
#### Local Mode (Direct API Access)
For development and testing with direct API access to Max:
```bash
export MCP_MODE=local
export AR_URL=http://superstoredev.local.answerrocket.com:1234 # or where your instance is located. It does not have to be a local Max instance.
export AR_TOKEN=arc-your-token-here
export COPILOT_ID=your-copilot-uuid
export MCP_TRANSPORT=stdio
```
#### Remote Mode (OAuth)
For production deployments with OAuth authentication:
```bash
export MCP_MODE=remote
export MCP_TRANSPORT=streamable-http
export MCP_HOST=localhost
export MCP_PORT=9090
```
**Note:** In remote mode, the `AR_URL` is automatically derived from incoming requests, enabling true multi-tenancy.
### URL Patterns
When running in remote mode, the server accepts requests at:
```
http://your-server:port/mcp/agent/{COPILOT_ID}
```
For example:
- `http://superstoredev.local.answerrocket.com:1234/mcp/agent/0d91262d-e039-43c3-8022-0d285af703d4`
This URL pattern is typically routed through your AnswerRocket instance's nginx configuration.
### Testing with MCP Inspector
We highly recommend using the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) for development and testing:
```bash
npx @modelcontextprotocol/inspector
```
Version 0.16.1 is buggy and does not play well. If that is the case, you should use version 0.16.0
```bash
npx @modelcontextprotocol/inspector@0.16.0
```
## Local Development with Claude Desktop
You can test your local development server directly with Claude Desktop by configuring your `claude_desktop_config.json`:
### Configuration File Location
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
### Example Configuration
```json
{
"mcpServers": {
"max-mcp-dev": {
"command": "/path/to/mcp-server/.venv/bin/python",
"args": [
"/path/to/mcp-server/mcp_server/__main__.py"
],
"env": {
"AR_URL": "http://your-max-instance:port",
"AR_TOKEN": "your-sdk-token",
"COPILOT_ID": "your-copilot-uuid"
}
}
}
}
```
**Important:** Replace the example values with your actual:
- Max instance URL
- SDK token
- Copilot ID
After saving the configuration, restart Claude Desktop to apply the changes.
## Remote Deployment with OAuth
For production deployments with OAuth authentication:
### Max Instance Configuration
Your Max instance must have OAuth server enabled:
```bash
export ENABLE_OAUTH_SERVER=true
./overmind.sh --overlay=superstoredev,ricedemo
```
### Multi-Tenant Testing
To test multiple tenants, configure your Max instance with multiple tenant overlays and ensure your OAuth server supports the tenant domains you want to test.
### Server Deployment
1. **Set environment variables:**
```bash
export MCP_MODE=remote
export MCP_TRANSPORT=streamable-http
export MCP_HOST=0.0.0.0 # or your server IP
export MCP_PORT=9090
```
2. **Run the server:**
```bash
maxai-mcp
```
or
```bash
uv run python mcp_server/__main__.py
```
### OAuth Flow
In remote mode, the server:
1. Validates OAuth tokens against the requesting domain's introspection endpoint
2. Dynamically determines the Max instance URL from the request context
3. Registers tools/skills specific to the requested copilot ID
4. Supports multiple Max instances simultaneously without configuration changes
## API Reference
### Supported Transports
- **stdio:** For direct integration with Desktop apps
- **streamable-http:** For web-based integrations and production deployments
### Authentication
- **Local mode:** Uses SDK tokens for direct API access
- **Remote mode:** Uses OAuth 2.0 with Bearer tokens
### Dynamic Tool Registration
The server dynamically loads and registers tools based on:
- The copilot ID in the request URL
- Available skills in the specified Max copilot
- User permissions and authentication context
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues