npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wagtail-mcp

v0.0.2

Published

Read-only access to a Wagtail CMS using the MCP protocol

Readme

Wagtail MCP Server

This project implements a Model Context Protocol (MCP) server that provides read-only access to a Wagtail CMS instance using its V2 API. It is built on FastMCP.

Configuration

Add the following JSON to the MCP configuration file for your environment (e.g. claude_desktop_config.json for Claude Desktop):

{
  "mcpServers": {
    "wagtail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "wagtail-mcp"
      ],
      "env": {
        "WAGTAIL_BASE_URL": "https://api.example.com"
      }
    }
  }
}

Make sure to set WAGTAIL_BASE_URL to the base URL of your Wagtail API instance.

Implemented Tools

  • search_pages: Searches pages from the Wagtail CMS API.

    • Parameters:
      • query (string): The term to search for in page content.
      • type (string, optional): Filters results to a specific page type (e.g., blog.BlogPage, myapp.StandardPage).
      • locale (string, optional, default: en): Filters pages by a specific locale code (e.g., en for English, es for Spanish).
      • search_operator (string, optional, values: and, or): Determines how multiple terms in the query are combined. Defaults based on the Wagtail search backend configuration.
      • limit (integer, optional, default: 50): The maximum number of page results to return.
      • offset (integer, optional): The starting point for paginated results (e.g., an offset of 10 skips the first 10 results).
      • fields (string, optional): A comma-separated list to control which fields are returned in the response for each page. Examples: title,body (returns only title and body), *,-summary (returns all fields except summary), _,custom_field_name (returns default fields plus a specific custom field). Refer to Wagtail API documentation for more on field selection syntax.
    • Usage: Useful for finding pages matching certain keywords, potentially filtered by their type or language. For example, searching for all "news" articles in Spanish. Returns a list of pages with their details.
  • get_page_details: Retrieves the full details of a specific Wagtail page.

    • Parameters (at least one of id, slug, or url is required; priority is id > slug > url):
      • id (integer, optional): The unique numeric ID of the page.
      • slug (string, optional): The slug (URL path component) of the page (e.g., about-us/team).
      • url (string, optional): The full public URL of the page.
      • fields (string, optional): A comma-separated list to control which fields are returned in the response. This allows for fetching specific data points or excluding others.
        • Examples:
          • body,feed_image: Returns only the body and feed_image fields.
          • *,-title: Returns all fields except title.
          • _,my_custom_field: Returns default fields plus my_custom_field. (Refer to Wagtail API documentation for more on field selection syntax).
    • Usage: Use this to fetch comprehensive data for a known page, such as its content, metadata, or custom fields, after identifying it via search_pages or other means. Returns the full page object.
  • search_documents: Searches for Wagtail documents (e.g., PDFs, images uploaded to the media library).

    • Parameters:
      • query (string, required): The search term to use for finding documents by their title or other indexed metadata.
      • search_operator (string, optional, values: and, or, default: and): Specifies how multiple terms in the query are combined (and requires all terms to match, or requires at least one).
    • Usage: Helps locate documents within the Wagtail CMS based on keywords. For instance, finding all PDF documents containing "annual report". Returns a list of matching documents including their ID, title, and download URL.
  • get_document_details: Retrieves detailed information for a specific Wagtail document.

    • Parameters:
      • id (integer, required): The unique numeric ID of the document.
    • Usage: After finding a document's ID (e.g., via search_documents), use this to get its specific details, primarily its ID, title and download URL.

Configuration Details

Environment variables can be passed in via the MCP configuration file for your environment (e.g. claude_desktop_config.json):

  • Wagtail API Configuration:
    • WAGTAIL_BASE_URL: Required. The base URL of your Wagtail API instance (e.g., https://api.example.com).
    • WAGTAIL_API_PATH: (Optional) Path to the API endpoint. Defaults to /api/v2.
    • WAGTAIL_API_KEY: (Optional) An API key if your Wagtail API requires bearer token authentication.