# `AgentWorkshop.MCP`
[🔗](https://github.com/joshrotenberg/agent_workshop/blob/main/lib/agent_workshop/mcp/start.ex#L2)

MCP server for Workshop. Exposes all Workshop functions as MCP tools.

## Quick start

    AgentWorkshop.MCP.start(port: 4222)

    # Then in .mcp.json:
    # {"mcpServers": {"workshop": {"type": "http", "url": "http://localhost:4222/mcp"}}}

## Available tools

| Tool | Description |
|---|---|
| configure | Set global defaults (model, context) |
| create_agent | Create a named agent with role and options |
| ask | Send a message and wait for response |
| cast | Send a message asynchronously |
| await / await_all | Wait for async results |
| status | Dashboard of all agents |
| result | Get last response from an agent |
| pipe | Chain output from one agent to another |
| fan | Send same message to multiple agents |
| info | Detailed agent info as JSON |
| agents | List all agent names |
| reset / dismiss | Agent lifecycle management |
| cost | Show costs across all agents |

# `start`

```elixir
@spec start(keyword()) :: Supervisor.on_start()
```

Start the Workshop MCP server over HTTP.

## Options

  * `:port` - HTTP port (default: 4222)
  * `:request_timeout` - MCP request timeout in ms (default: 300_000 / 5 min)
  * `:session_idle_timeout` - Session idle timeout in ms (default: 1_800_000 / 30 min)
  * `:debug` - when `true`, skip suppression of Anubis transport debug logs (default: false)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
