# MakerDAO > On-chain contract: MakerDAO. 9 functions, 1 event. MCP endpoint: https://maker.mcp.junct.dev/mcp Domain: analytics Auth: none ## Tools ### cage Calls cage(). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. _No parameters required._ ### dai Calls dai(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. _No parameters required._ ### deny Calls deny(usr: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. **Parameters:** - `usr` (string, required): address (Ethereum address, 0x-prefixed). ### exit Calls exit(usr: string, wad: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. **Parameters:** - `usr` (string, required): address (Ethereum address, 0x-prefixed). - `wad` (string, required): uint256 (uint256, pass as decimal string). ### join Calls join(usr: string, wad: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. **Parameters:** - `usr` (string, required): address (Ethereum address, 0x-prefixed). - `wad` (string, required): uint256 (uint256, pass as decimal string). ### live Calls live(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. _No parameters required._ ### rely Calls rely(usr: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. **Parameters:** - `usr` (string, required): address (Ethereum address, 0x-prefixed). ### vat Calls vat(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. _No parameters required._ ### wards Calls wards(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. **Parameters:** - `param0` (string, required): address (Ethereum address, 0x-prefixed). ### LogNote Event emitted by the contract. Indexed fields (filterable): sig, usr, arg1, arg2. Subscribe via log filters. **Parameters:** - `sig` (string, required): bytes4 (bytes4, hex string, 0x-prefixed) (indexed). - `usr` (string, required): address (Ethereum address, 0x-prefixed) (indexed). - `arg1` (string, required): bytes32 (32-byte hex string, 0x-prefixed) (indexed). - `arg2` (string, required): bytes32 (32-byte hex string, 0x-prefixed) (indexed). - `data` (string, required): bytes (hex-encoded bytes, 0x-prefixed). ## Usage Connect to this MCP server at `https://maker.mcp.junct.dev/mcp`. All tools are callable via the MCP protocol. Call `dai` first to query current state before any write operations. Write operations like `cage` return data or calldata for agent use.