{
  "name": "zgm-blog",
  "title": "ZGM Blog",
  "version": "1.0.0",
  "description": "Read-only tools over the published ZGM Modern Marketing Partners blog: search posts, read full article text, list topics, and subscribe to the newsletter.",
  "protocol": "mcp",
  "protocolVersion": "2025-06-18",
  "transport": "streamable-http",
  "endpoint": "https://blog.zgm.ca/mcp",
  "authentication": "none",
  "tools": [
    {
      "name": "search_blog_posts",
      "description": "Search published ZGM blog posts by keyword, tag, or author. Returns titles, URLs, excerpts and publication dates.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keywords to match against post titles, excerpts and body text."
          },
          "tag": {
            "type": "string",
            "description": "Filter by tag slug."
          },
          "author": {
            "type": "string",
            "description": "Filter by author slug."
          },
          "limit": {
            "type": "number",
            "description": "Maximum posts to return (1-20, default 10)."
          }
        }
      }
    },
    {
      "name": "get_blog_post",
      "description": "Get the full plain-text content of a single published ZGM blog post by its slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Post slug, e.g. the last path segment of its URL."
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "list_blog_topics",
      "description": "List the topics/tags used on the ZGM blog with the number of posts in each.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "subscribe_to_blog_newsletter",
      "description": "Subscribe an email address to the ZGM blog newsletter. Only call this with an address the user has explicitly asked you to sign up.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Subscriber email address."
          },
          "firstName": {
            "type": "string",
            "description": "Subscriber first name."
          }
        },
        "required": [
          "email"
        ]
      }
    }
  ]
}