# Dial MCP Server

> Run DIAL as an MCP server for AI assistants. Use when integrating with Claude Desktop or other MCP clients. Use when this capability is needed.

- Skill: `tomevault-io/dial-mcp-server` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/dial-mcp-server`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/dial-mcp-server/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/dial-mcp-server

---


# MCP Server Mode

Expose DIAL as tools via the Model Context Protocol (MCP).

## Start the Server

```bash
npx dialai --mcp
```

## Configure Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "dialai": {
      "command": "npx",
      "args": ["dialai", "--mcp"]
    }
  }
}
```

### Config File Location

| Platform | Path |
|----------|------|
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
| Linux | `~/.config/Claude/claude_desktop_config.json` |

## Available Tools

Once connected, Claude has access to these tools:

| Tool | Description |
|------|-------------|
| `create_session` | Start a new decision process from a machine definition |
| `get_session` | Get current state and history of a session |
| `get_sessions` | List all sessions |
| `register_proposer` | Register a proposer specialist for a machine |
| `register_arbiter` | Register an arbiter specialist for a machine |
| `submit_proposal` | Submit a transition proposal |
| `evaluate_consensus` | Check if consensus has been reached (read-only) |
| `submit_arbitration` | Evaluate consensus and optionally execute the winning transition |
| `execute_transition` | Apply a transition directly |
| `run_session` | Run a machine to completion |
| `get_collapse_metrics` | Get progressive collapse metrics |
| `get_decision_log` | Get decision log records |

## Example Conversation

**User**: Create a code review session for my PR.

**Claude** (using tools):
```
1. create_session({ machine: { machineName: "code-review", ... } })
2. register_proposer({ specialistId: "ai-reviewer", machineName: "code-review", strategyFnName: "firstAvailable" })
3. register_arbiter({ specialistId: "arbiter", machineName: "code-review", strategyFnName: "alignmentMargin" })
4. submit_proposal({ sessionId: "...", specialistId: "ai-reviewer" })
5. submit_arbitration({ sessionId: "..." })
```

## Tool Schemas

### create_session

```json
{
  "machine": {
    "machineName": "code-review",
    "initialState": "pending",
    "goalState": "approved",
    "states": { ... }
  }
}
```

### submit_proposal

```json
{
  "sessionId": "session-uuid",
  "specialistId": "proposer-id",
  "transitionName": "approve",
  "reasoning": "Why this transition"
}
```

## Server Options

```bash
# Stdio transport (default for MCP)
npx dialai --mcp
```

## Debugging

Check server logs:
```bash
npx dialai --mcp --verbose
```

Test with MCP Inspector:
```bash
npx @modelcontextprotocol/inspector npx dialai --mcp
```

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/eloquentanalytics) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

