Skip to main content

MCP Server

Model Context Protocol is the open standard for connecting LLMs to tools. The Doga MCP server lets Claude Desktop, Claude Code, Cursor, Continue, and any other MCP-aware client operate the protocol through:

  • 75 typed tools — every external function on every Doga contract.
  • 8 documentation resources — protocol primers an agent reads before deciding which tool to call.
  • Keyless — the MCP wraps the REST API which wraps the contracts. None of the three holds a private key. Calldata for writes goes back to the caller's wallet to sign.

Install

The MCP server ships as an npm package. Run it via npx — no clone, no build step.

npx -y @doga/mcp@latest

That command starts the server speaking MCP over stdio. Wire it into your client of choice — see Connecting Agents for full configs.

What an agent session looks like

A typical "borrow against collateral" session, abbreviated:

agent: doga_get_addresses
→ { lendingCore: 0x0610..., ... }

agent: resources/read doga://docs/workflow-borrow
→ markdown explaining the flow

agent: doga_check_allowlist user=0x... currency=KES
→ { allowed: true }

agent: doga_get_position user=0x... token=WETH currency=KES
→ { collateral: "0", debtFiat: "0", healthFactor: "max" }

agent: doga_build_deposit_collateral token=WETH currency=KES amount=1e18
→ { to, data, value, chainId, function: "depositCollateral", args: [...] }

agent: # returns the calldata for the user's wallet to sign

Documentation resources

URITopic
doga://docs/overviewProtocol intro + live deployment table
doga://docs/security-modelWhy this MCP holds zero keys
doga://docs/glossaryEvery Doga-specific term
doga://docs/rolesThe 9 named roles
doga://docs/workflow-borrowEnd-to-end deposit + borrow
doga://docs/workflow-liquidateLiquidator playbook
doga://docs/workflow-fx-updateFX oracle signers pushing prices
doga://docs/workflow-capital-deploymentAdapter pattern + recall accounting

Agents that fetch these resources before acting tend to choose the right tool the first time and avoid avoidable reverts.

Next