changelog-mcp-server

philipbloch/changelog-mcp-server

3.2

If you are the rightful owner of changelog-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Shopify Changelog MCP Server is a Model Context Protocol server that provides access to Shopify Developer and Platform changelog RSS feeds, designed for integration with MCP-compatible clients.

Tools
8
Resources
0
Prompts
0

Shopify Changelog MCP Server

A Model Context Protocol (MCP) server that provides access to both Shopify Developer and Platform changelog RSS feeds. Built with TypeScript and designed for integration with MCP-compatible clients like Cursor.

Overview

This server exposes 8 specialized tools for accessing Shopify changelog information across two sources:

  • Developer Changelog (shopify.dev/changelog) - API updates, deprecations, technical changes
  • Platform Changelog (changelog.shopify.com) - Product updates, merchant features, UI changes

Features

  • Dual Source Support: Access both Developer and Platform changelogs
  • Configurable Sources: Enable/disable sources via environment variables
  • Smart Limits: Never overwhelms with data (10-30 entries max per request)
  • Category Filtering: Platform changelog supports 19+ category filters
  • Recent Updates: Filter by time period (1, 3, 7, 14, or 30 days)
  • Unified Search: Search across both sources simultaneously
  • Source Attribution: Clear indication of which changelog each result comes from
  • Full Content Retrieval: Fetch complete post content when needed

Requirements

  • Node.js 18.0.0 or higher
  • npm or compatible package manager

Installation

  1. Clone the repository:
git clone https://github.com/philipbloch/changelog-mcp-server.git
cd changelog-mcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

Cursor Integration

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "shopify-changelog": {
      "command": "node",
      "args": ["/path/to/shopify-changelog-mcp/dist/index.js"],
      "env": {
        "developer_changelog": "true",
        "platform_changelog": "true"
      }
    }
  }
}

Environment Variables

Both sources are enabled by default. You can customize which sources are available:

{
  "env": {
    "developer_changelog": "true",  // Set to "false" to disable
    "platform_changelog": "true"   // Set to "false" to disable
  }
}

Configuration Examples:

Both Sources (Default)

// No env needed, both enabled by default
{
  "command": "node",
  "args": ["/path/to/dist/index.js"]
}

Developer Only

{
  "env": {
    "developer_changelog": "true",
    "platform_changelog": "false"
  }
}

Platform Only

{
  "env": {
    "developer_changelog": "false",
    "platform_changelog": "true"
  }
}

Available Tools

The tools available depend on which sources are enabled:

When Both Sources Enabled (Default)

Developer Tools
  • dev_search - Search developer changelog for API updates
  • dev_breaking_changes - Find breaking changes and deprecations
  • dev_recent - Get recent developer updates (configurable days)
Platform Tools
  • platform_search - Search platform changelog for product updates
  • platform_category - Get updates from specific categories (POS, Admin, etc.)
  • platform_recent - Get recent platform updates (configurable days)
Universal Tools
  • get_post - Get full content of any changelog post
  • search_all - Search both changelogs simultaneously

When Only One Source Enabled

Tools use simplified names (no prefix) when only one source is active.

Tool Details

dev_search / platform_search

Search for specific topics or keywords in the respective changelog.

Parameters:

  • query (required): Search keywords
  • limit (optional): Max results (1-30, default: 15)

Example:

{
  "name": "dev_search",
  "arguments": {
    "query": "GraphQL mutations",
    "limit": 10
  }
}

dev_recent / platform_recent

Get recent updates from the specified time period.

Parameters:

  • days (optional): Look back period - 1, 3, 7, 14, or 30 (default: 7)
  • limit (optional): Max results (1-30, default: 10)

Example:

{
  "name": "platform_recent",
  "arguments": {
    "days": 3,
    "limit": 15
  }
}

platform_category

Get updates from specific platform categories.

Parameters:

  • category (required): Category name or array of names
  • days (optional): Filter by recent days
  • limit (optional): Max results (1-30, default: 10)

Available Categories:

  • admin, analytics, apps, b2b, checkout
  • collective, customers, international, inventory
  • marketing, mobile, online-store, orders
  • payments, pos, products, shipping, shop, themes

Example:

{
  "name": "platform_category",
  "arguments": {
    "category": ["pos", "payments"],
    "days": 7
  }
}

dev_breaking_changes

Get breaking changes and deprecation notices from the developer changelog.

Parameters:

  • limit (optional): Max results (1-30, default: 15)

get_post

Retrieve the complete content of a specific changelog post.

Parameters:

  • url (required): Full URL of the changelog post

Example:

{
  "name": "get_post",
  "arguments": {
    "url": "https://shopify.dev/changelog/graphql-api-update-2024"
  }
}

search_all

Search across both developer and platform changelogs.

Parameters:

  • query (required): Search keywords
  • sources (optional): Array of sources to search (defaults to all enabled)
  • limit (optional): Max total results (1-30, default: 15)

Output Format

All tools return formatted results with clear source attribution in a compact single-line format:

1. 📘 [Developer] GraphQL Admin API: New bulk operations [API, GraphQL] | Dec 11 | https://shopify.dev/changelog/graphql-bulk-operations | The GraphQL Admin API now supports bulk operations for...

2. 🛍️ [Platform] POS: Offline mode improvements [POS, Mobile] | Dec 10 | https://changelog.shopify.com/posts/pos-offline-improvements | Point of Sale now offers enhanced offline capabilities...

Development

Scripts

  • npm run build - Compile TypeScript
  • npm run start - Run the compiled server
  • npm run dev - Development mode with auto-reload
  • npm run clean - Remove build directory
  • npm run rebuild - Clean and rebuild
  • npm run test - Test server initialization

Debug Mode

Enable debug logging:

MCP_DEBUG=true npm run start

Project Structure

shopify-changelog-mcp/
├── src/
│   ├── schemas/           # Zod validation schemas
│   │   ├── tool-schemas.ts
│   │   └── index.ts
│   ├── tools/             # Tool implementations
│   │   ├── developer-tools.ts
│   │   ├── platform-tools.ts
│   │   ├── universal-tools.ts
│   │   └── index.ts
│   ├── utils/             # Utilities
│   │   ├── rss-parser.ts
│   │   ├── formatter.ts
│   │   ├── content-fetcher.ts
│   │   └── index.ts
│   ├── index.ts           # Main entry point
│   ├── server-config.ts   # Server configuration
│   └── types.ts           # TypeScript types
├── dist/                  # Compiled output
├── package.json
├── tsconfig.json
├── nodemon.json
└── README.md

Troubleshooting

Build Errors

npm run clean
npm install
npm run build

Server Not Starting

  1. Check Node.js version: node --version (must be >= 18.0.0)
  2. Verify build succeeded: ls -la dist/index.js
  3. Enable debug mode: MCP_DEBUG=true npm run start

No Results Returned

  • Verify RSS feeds are accessible
  • Check network connectivity
  • Enable debug logging to see feed parsing details

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Author

Philip Bloch - @philipbloch

Support


Version: 1.0.0
Last Updated: November 4, 2025
Status: Active