Skip to content
Back to Mora

Card snapshot

www.mora-marketer.com · 2026-08-20 03:09:35 UTC · 6902558cd1bafbd7d5c85192fac9b043d63e719fe9d7c44078994ce0492d307a

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "schemaVersion": "0.2.0",
  "name": "Mora",
  "description": "Shopify-first AI marketing platform. Plans campaigns, generates posts and product images, runs team approvals, and schedules publishing \u2014 all from one AI conversation grounded in your real Shopify catalog.",
  "url": "https://www.mora-marketer.com",
  "provider": {
    "organization": "Respired.io, Corp. (DBA Mora)",
    "url": "https://www.mora-marketer.com"
  },
  "contact": {
    "email": "hello@mora-marketer.com",
    "url": "https://www.mora-marketer.com/contact"
  },
  "documentation": {
    "llms": "https://www.mora-marketer.com/llms.txt",
    "llmsFull": "https://www.mora-marketer.com/llms-full.txt",
    "legal": "https://www.mora-marketer.com/legal",
    "api": "https://app.mora-marketer.com/openapi.json",
    "repository": "https://github.com/jut147/mora-claude-plugin"
  },
  "status": "https://status.mora-marketer.com",
  "audience": [
    "ecommerce-founders",
    "shopify-store-owners",
    "in-house-marketers",
    "agencies"
  ],
  "capabilities": {
    "streaming": false,
    "push_notifications": false,
    "state_transition_history": false,
    "web_app_ui": true,
    "public_api": "partial"
  },
  "skills": [
    {
      "id": "discover-feed",
      "name": "Discover Feed",
      "description": "Read-only public API for ecommerce/Shopify news with multi-source synthesized articles and source citations.",
      "tags": [
        "ecommerce",
        "news",
        "shopify",
        "discovery"
      ],
      "transports": [
        "https"
      ],
      "inputs": [
        {
          "name": "category",
          "type": "string",
          "optional": true
        },
        {
          "name": "topics",
          "type": "string[]",
          "optional": true
        },
        {
          "name": "limit",
          "type": "integer",
          "optional": true,
          "default": 60
        }
      ],
      "endpoints": [
        {
          "method": "GET",
          "url": "https://app.mora-marketer.com/api/discover",
          "auth": "none"
        },
        {
          "method": "GET",
          "url": "https://app.mora-marketer.com/api/discover/{id}",
          "auth": "none"
        }
      ],
      "documentation": "https://app.mora-marketer.com/openapi.json"
    },
    {
      "id": "product-marketing-info",
      "name": "Product Marketing Info",
      "description": "Public marketing surface \u2014 features, pricing, customers, FAQ, blog, legal \u2014 addressable as HTML or markdown via Accept: text/markdown.",
      "tags": [
        "marketing",
        "docs",
        "reference"
      ],
      "transports": [
        "https"
      ],
      "endpoints": [
        {
          "method": "GET",
          "url": "https://www.mora-marketer.com",
          "auth": "none"
        },
        {
          "method": "GET",
          "url": "https://www.mora-marketer.com/llms.txt",
          "auth": "none"
        },
        {
          "method": "GET",
          "url": "https://www.mora-marketer.com/api/agents/markdown?path=/",
          "auth": "none"
        }
      ]
    },
    {
      "id": "mcp-server",
      "name": "Mora MCP Server",
      "description": "Authenticated MCP server (Streamable HTTP, OAuth 2.1 with PKCE and CIMD) over a signed-in user\u2019s own Mora account: nine read-only tools (list_posts, get_post_performance, get_brand_profile, list_products, get_revenue_attribution, list_projects, list_audiences, list_content_angles, list_brief_runs) plus a mora://brand/voice resource and launch-workflow prompts. Not addressable without that user\u2019s consent.",
      "tags": [
        "mcp",
        "oauth",
        "read-only",
        "brand-voice"
      ],
      "transports": [
        "https"
      ],
      "endpoints": [
        {
          "method": "POST",
          "url": "https://app.mora-marketer.com/api/mcp",
          "auth": "oauth2.1"
        }
      ],
      "documentation": "https://www.mora-marketer.com/developers/mcp"
    }
  ],
  "extensions": [
    {
      "uri": "https://llmstxt.org/",
      "href": "https://www.mora-marketer.com/llms.txt"
    },
    {
      "uri": "https://agentskills.io/",
      "href": "https://www.mora-marketer.com/.well-known/agent-skills/index.json"
    },
    {
      "uri": "https://www.rfc-editor.org/rfc/rfc9727",
      "href": "https://app.mora-marketer.com/.well-known/api-catalog"
    },
    {
      "uri": "https://chatgpt.com/gpts",
      "href": "https://chatgpt.com/g/g-69e483d0df9081918c503476bf0dc819-mora-ai-social-media-coach-for-e-commerce",
      "name": "Mora GPT (ChatGPT Store)"
    }
  ],
  "_note": "The MCP server (mcp-server skill above) is live and read-only, scoped to the authenticated caller\u2019s own account via OAuth 2.1. The public Claude Code connector is https://github.com/jut147/mora-claude-plugin; it points at the hosted server and does not contain the private runtime. See https://www.mora-marketer.com/developers/mcp or the server card at https://app.mora-marketer.com/.well-known/mcp/server-card.json."
}