Skip to content

MCP server

Connect a compatible MCP client to public guidance and check account-tool availability.

Connection and availability

The configured Streamable HTTP endpoint is https://moatdefender.com/api/mcp. Public tool source is present, but source presence does not prove a deployed endpoint or a working client connection. Configure that URL in a compatible MCP client, then check actual tool discovery. The account tools below require deployment, migration and real-client acceptance. No installed plugin, marketplace package or account connection is established by these docs.

Public guidance

Public configuration omits Authorization entirely. moat_method takes an empty input and returns capability-level guidance on the Moat Index, its scale, bands and limits. moat_power takes a Power slug from that result. Both are read-only and account-free; they do not run a company reading. Use the client's discovered schema and call moat_method before interpreting an index. If tools are absent, use the methodology and disclose that a tool connection is unavailable.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "moat_method",
    "arguments": {}
  }
}

Account tools

After activation, moat_latest needs read; moat_add_evidence needs evidence:write; moat_reread needs reading:run; moat_next_moves needs read. Configure an environment-backed bearer only after the owner supplies a key privately. Keep public-only configuration when no key is present. Stored next moves can be unavailable and retrieval does not generate a new Designer plan. A paid re-read follows the same quote, approval and maxTokens cap as the API.

Example account exchange

These are illustrative JSON-RPC messages inside an initialized MCP client session, not a standalone HTTP connection recipe. moat_latest with empty arguments asks for the owner's latest stored reading. This successful example has no stored reading; the result wraps the account JSON in a text content block. Check actual discovered tools before attempting the call.

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "moat_latest",
    "arguments": {}
  }
}
json
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"ok\":true,\"reading\":null}"
      }
    ]
  }
}

Connection problems

Record the client version, endpoint, time and sanitized discovery or error details for support. Do not invent a reading when a tool is missing or returns an error. A transport failure can arrive after an operation finishes: check stored status before repeating a paid request. Account authorization does not authorize public sharing or unrelated account actions.

Search documentation

Search across all documentation

    ↑↓ Navigate ↵ OpenEsc Close