{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://mcp.imqueue.org/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/imqueue-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/imqueue-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/imqueue-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 4753,
        "counts": {
          "error": 0,
          "note": 0,
          "warn": 3
        },
        "findings": [
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "scaffold_client",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "scaffold_service",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC18",
            "severity": "warn",
            "tool": "local_install_guide",
            "message": "readOnlyHint is true but the name says \"install\"",
            "fix": "If it changes anything, readOnlyHint must be false."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:25:41Z",
      "count": 7,
      "schemaTokens": 4753,
      "status": "ok",
      "tools": [
        {
          "name": "search_docs",
          "title": "Search @imqueue documentation",
          "description": "Search the official @imqueue docs (guides, tutorial, CLI manual, articles) and every exported symbol of every @imqueue package that publishes a generated API reference, returning the most relevant pages with their URLs. Each result names the package it belongs to. Takes a plain question or an exact symbol name such as 'RedisQueue.send', 'PgPubSub.listen' or 'watcherCheckDelay'. Answers 'how do I do X in @imqueue' and confirms a signature before code is written against it. Every result carries the page URL, which get_doc reads in full. Some capabilities are covered by two mutually exclusive packages — @imqueue/pg-prisma vs @imqueue/pg-sequelize, @imqueue/opentelemetry vs @imqueue/datadog — so for a query like 'tracing' or 'database', call list_packages for the choosing rule rather than taking whichever package ranks first, and pass `package` here to search within the one you settled on.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "limit": {
                "description": "Max results (default 6)",
                "maximum": 20,
                "minimum": 1,
                "type": "integer"
              },
              "package": {
                "description": "Restrict results to one package, e.g. 'http-protect' or '@imqueue/opentelemetry'. Use it once you know which package you want — the same words appear in several packages' symbols.",
                "type": "string"
              },
              "query": {
                "description": "A question or a symbol name, e.g. 'expose a service method', 'delayed jobs' or 'IMQOptions.safeDelivery'",
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "advisories": {
                "description": "Present when the results involve two packages that cover the same ground. Each names both options with the rule for choosing — install exactly one, never both.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "count": {
                "description": "Number of results returned (0 means no matches)",
                "type": "integer"
              },
              "query": {
                "description": "The query that was searched",
                "type": "string"
              },
              "results": {
                "description": "Most relevant first",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "description": {
                      "type": "string"
                    },
                    "section": {
                      "description": "Where it sits in the docs, e.g. 'Guides' or 'API · @imqueue/core property'",
                      "type": "string"
                    },
                    "symbol": {
                      "description": "True for a generated API-reference page rather than prose",
                      "type": "boolean"
                    },
                    "title": {
                      "type": "string"
                    },
                    "url": {
                      "description": "Pass this to get_doc to read the page in full",
                      "type": "string"
                    }
                  },
                  "required": [
                    "title",
                    "section",
                    "description",
                    "url"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "query",
              "count",
              "results"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Search @imqueue documentation"
          }
        },
        {
          "name": "get_doc",
          "title": "Read an @imqueue doc page",
          "description": "Fetch the markdown of an @imqueue documentation page by its URL (as returned by search_docs). Returns plain markdown suitable for reading and quoting. Pass a URL with a #fragment — which is what search_docs returns for a section result — to get just that section plus the heading path above it; pass the URL without one to read the whole page. Only imqueue.org (framework docs) and imqueue.com (licensing, pricing, support) URLs are fetched; anything else is refused. Very large pages are truncated, which the result reports.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "url": {
                "description": "An imqueue.org or imqueue.com page URL, e.g. https://imqueue.org/get-started/",
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "bytes": {
                "description": "Size of the page body, so a caller can decide before reading it",
                "type": "integer"
              },
              "fragmentMiss": {
                "additionalProperties": false,
                "description": "Present when a #fragment matched no indexed section — markdown is the WHOLE page, not the slice that was asked for",
                "properties": {
                  "anchor": {
                    "description": "The #fragment that was asked for and not found",
                    "type": "string"
                  },
                  "available": {
                    "description": "Anchors the page does index, for a retry",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "anchor",
                  "available"
                ],
                "type": "object"
              },
              "markdown": {
                "description": "The page body — the same text carried in content, minus the heading path prefix",
                "type": "string"
              },
              "mimeType": {
                "description": "Media type of the page body carried in markdown and content",
                "type": "string"
              },
              "section": {
                "additionalProperties": false,
                "description": "Present when a #fragment resolved to one section — markdown is that section, not the page",
                "properties": {
                  "ancestors": {
                    "description": "Headings above it, outermost first — the path that says which 'Verify' this is",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "heading": {
                    "description": "The section's own heading",
                    "type": "string"
                  },
                  "index": {
                    "description": "1-based position among the page's indexed sections",
                    "type": "integer"
                  },
                  "total": {
                    "description": "How many indexed sections the page has, so a caller can see what it did not read",
                    "type": "integer"
                  }
                },
                "required": [
                  "heading",
                  "ancestors",
                  "index",
                  "total"
                ],
                "type": "object"
              },
              "truncated": {
                "description": "True when the page was too large to return whole — markdown holds the leading part only",
                "type": "boolean"
              },
              "url": {
                "description": "The markdown mirror actually fetched — not always the URL passed in, which is why it is worth returning",
                "type": "string"
              }
            },
            "required": [
              "url",
              "markdown",
              "mimeType",
              "bytes",
              "truncated"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Read an @imqueue doc page"
          }
        },
        {
          "name": "list_packages",
          "title": "List @imqueue packages",
          "description": "The complete, authoritative catalogue of documented @imqueue packages, each with its current version, licence, minimum Node version, a one-line summary and its exact install command. Call this BEFORE adding any @imqueue dependency: search_docs can only find a package you already suspect exists, and this is the list. Covers typed RPC over a message queue, the Redis queue engine, the `imq` CLI, jobs and scheduling, Prisma and Sequelize database toolkits, method caching, tag-invalidated caching, PostgreSQL LISTEN/NOTIFY, Zod validation, OpenTelemetry or Datadog tracing, async logging, GraphQL N+1 batching across services, CIDR/IP checks and HTTP rate limiting. Some pairs are mutually exclusive — pg-prisma vs pg-sequelize, opentelemetry vs datadog — and installing both of a pair breaks silently, so read the `pick` rule on those entries before choosing. For one package's release history, links and the framework-wide Node and Redis requirements, use package_status.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "properties": {},
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "factsUnavailable": {
                "description": "True when imqueue.org/status.json could not be read, so no entry carries a version or licence. The catalogue itself is compiled in and still complete",
                "type": "boolean"
              },
              "framework": {
                "additionalProperties": false,
                "properties": {
                  "commercial": {
                    "description": "Where to get a licence for closed-source distribution",
                    "type": "string"
                  },
                  "license": {
                    "type": "string"
                  },
                  "licenseNote": {
                    "description": "The licence terms in a sentence, including what the SPDX id alone does not say",
                    "type": "string"
                  },
                  "node": {
                    "description": "The Node version the framework as a whole requires",
                    "type": "string"
                  },
                  "redis": {
                    "type": "string"
                  }
                },
                "required": [
                  "license",
                  "licenseNote",
                  "node",
                  "redis",
                  "commercial"
                ],
                "type": "object"
              },
              "packages": {
                "description": "Ordered by what to reach for first",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "deprecated": {
                      "type": "boolean"
                    },
                    "install": {
                      "description": "The exact install command, including -g where the package is a CLI",
                      "type": "string"
                    },
                    "license": {
                      "description": "SPDX identifier of the published package",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "node": {
                      "description": "engines.node, or null where the package declares no floor of its own",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "pick": {
                      "description": "Present only where two packages cover similar ground: the rule for choosing between them",
                      "type": "string"
                    },
                    "released": {
                      "description": "Publication date of `version`, as YYYY-MM-DD",
                      "type": "string"
                    },
                    "summary": {
                      "type": "string"
                    },
                    "version": {
                      "description": "Highest published release. Absent only if the status feed was unreachable",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "install",
                    "summary"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "packages"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "List @imqueue packages"
          }
        },
        {
          "name": "package_status",
          "title": "@imqueue package versions and licences",
          "description": "The current version, licence, minimum Node version and last release date of any published @imqueue package — or of all of them. Use it when the user asks which version of an @imqueue package is current, what licence it is under, or which Node or Redis version it needs. Covers every published package, including @imqueue/cli and @imqueue/mcp, and also returns the framework-wide licence, Node and Redis requirements, with a `licenseNote` that states the licence terms in a sentence. The facts are read from the npm registry by imqueue.org, and the result says when. Pass `package` for one entry, with or without the @imqueue/ scope; omit it for all of them.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "package": {
                "description": "One package, with or without the scope: 'rpc', '@imqueue/rpc'. Omit for every package.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "framework": {
                "additionalProperties": false,
                "properties": {
                  "commercial": {
                    "type": "string"
                  },
                  "license": {
                    "type": "string"
                  },
                  "licenseNote": {
                    "type": "string"
                  },
                  "node": {
                    "type": "string"
                  },
                  "redis": {
                    "type": "string"
                  }
                },
                "required": [
                  "license",
                  "licenseNote",
                  "commercial",
                  "node",
                  "redis"
                ],
                "type": "object"
              },
              "generated": {
                "description": "When the site last read these facts from the npm registry",
                "type": "string"
              },
              "packages": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "deprecated": {
                      "type": "boolean"
                    },
                    "docs": {
                      "type": "string"
                    },
                    "firstRelease": {
                      "type": "string"
                    },
                    "install": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    },
                    "majors": {
                      "items": {
                        "type": "number"
                      },
                      "type": "array"
                    },
                    "name": {
                      "type": "string"
                    },
                    "node": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "npm": {
                      "type": "string"
                    },
                    "released": {
                      "type": "string"
                    },
                    "releases": {
                      "type": "number"
                    },
                    "repo": {
                      "type": "string"
                    },
                    "scoped": {
                      "type": "string"
                    },
                    "summary": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "scoped",
                    "version",
                    "license",
                    "node",
                    "released",
                    "firstRelease",
                    "releases",
                    "majors",
                    "deprecated",
                    "install",
                    "docs",
                    "npm",
                    "repo",
                    "summary"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "source": {
                "type": "string"
              }
            },
            "required": [
              "framework",
              "packages",
              "generated",
              "source"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "@imqueue package versions and licences"
          }
        },
        {
          "name": "scaffold_service",
          "title": "Scaffold an @imqueue service",
          "description": "READ-ONLY: returns generated source code as text and writes nothing to disk, creates no project and runs no command. Generates an idiomatic @imqueue/rpc service (an IMQService subclass with @expose()d, JSDoc-typed methods) plus a bootstrap that starts it. Provide the methods you want, or omit them for a starter template. Any non-primitive parameter or return type also gets a types.ts with the required @classType()/@property() declarations — without those the generated client types it `any`, which compiles. Use create_service (local install only) if you want files actually written.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "methods": {
                "description": "Methods to expose",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "description": {
                      "description": "What the method does",
                      "type": "string"
                    },
                    "name": {
                      "description": "Method name",
                      "type": "string"
                    },
                    "params": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "optional": {
                            "description": "Mark the parameter optional. @expose() publishes required parameters as mandatory, so callers of the generated client must pass a value for every non-optional one — set this for any parameter a caller may legitimately skip.",
                            "type": "boolean"
                          },
                          "type": {
                            "description": "TypeScript type, e.g. 'string' or 'number[]'",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "type"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "returns": {
                      "description": "TypeScript return type WITHOUT Promise\u003c\u003e — e.g. 'User' or 'string'",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "name": {
                "description": "Service name, e.g. 'user' or 'UserService'",
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "cliAlternative": {
                "description": "The CLI command that creates a full provider-wired project instead",
                "type": "string"
              },
              "files": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "language": {
                      "type": "string"
                    },
                    "path": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "path",
                    "language",
                    "content"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "install": {
                "type": "string"
              },
              "service": {
                "description": "Class name used, after normalisation ('user' -\u003e 'UserService')",
                "type": "string"
              },
              "types": {
                "description": "Complex types the signatures refer to. Each needs @classType() on the class and @property() on every field — types.ts declares them; complete the fields. Empty when every type is a primitive.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "service",
              "install",
              "files",
              "types",
              "cliAlternative"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Scaffold an @imqueue service"
          }
        },
        {
          "name": "scaffold_client",
          "title": "Scaffold an @imqueue typed client",
          "description": "READ-ONLY: returns text and writes nothing to disk, and does NOT run the command it shows you. Explains how to generate and use the fully-typed client for an @imqueue service: @imqueue generates the real client from a running service via `imq client generate`, so this returns that exact command plus an illustrative usage snippet. The generated file exports a single namespace holding the client class, so the import shape is not the obvious one — take it from `namespace` rather than guessing. Use generate_client (local install only) if you want the command actually run.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "methods": {
                "description": "Known methods (used to shape the example call)",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "description": {
                      "description": "What the method does",
                      "type": "string"
                    },
                    "name": {
                      "description": "Method name",
                      "type": "string"
                    },
                    "params": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "optional": {
                            "description": "Mark the parameter optional. @expose() publishes required parameters as mandatory, so callers of the generated client must pass a value for every non-optional one — set this for any parameter a caller may legitimately skip.",
                            "type": "boolean"
                          },
                          "type": {
                            "description": "TypeScript type, e.g. 'string' or 'number[]'",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "type"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "returns": {
                      "description": "TypeScript return type WITHOUT Promise\u003c\u003e — e.g. 'User' or 'string'",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "service": {
                "description": "The service to call, e.g. 'user' or 'UserService'",
                "type": "string"
              }
            },
            "required": [
              "service"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "client": {
                "description": "Generated client class name",
                "type": "string"
              },
              "example": {
                "additionalProperties": false,
                "description": "An illustrative call — not a file to write",
                "properties": {
                  "content": {
                    "type": "string"
                  },
                  "language": {
                    "type": "string"
                  }
                },
                "required": [
                  "language",
                  "content"
                ],
                "type": "object"
              },
              "generateCommand": {
                "description": "Run against the RUNNING service to emit the real typed client",
                "type": "string"
              },
              "namespace": {
                "description": "The ONLY export of the generated file: a namespace holding the client class. Import this, then `new \u003cnamespace\u003e.\u003cclient\u003e()` — importing the class directly does not resolve.",
                "type": "string"
              },
              "output": {
                "description": "The file that command writes (a compiled .js lands beside it)",
                "type": "string"
              },
              "service": {
                "type": "string"
              }
            },
            "required": [
              "service",
              "client",
              "namespace",
              "generateCommand",
              "output",
              "example"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Scaffold an @imqueue typed client"
          }
        },
        {
          "name": "local_install_guide",
          "title": "How to install the @imqueue MCP server locally",
          "description": "Return the setup instructions for running the full @imqueue MCP server on your own machine. The local server adds the CLI-backed tools, which act on your project files and running services and so cannot be offered by a hosted server. Returns instructions only — it installs nothing.",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "properties": {},
            "type": "object"
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "properties": {
              "claudeCodeCommand": {
                "description": "One-liner for Claude Code",
                "type": "string"
              },
              "clientConfig": {
                "additionalProperties": false,
                "description": "Drop into an MCP config file as-is. VS Code and Visual Studio use `servers` with type:'stdio' instead of `mcpServers`.",
                "properties": {
                  "mcpServers": {
                    "additionalProperties": false,
                    "properties": {
                      "imqueue": {
                        "additionalProperties": false,
                        "properties": {
                          "args": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "command": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "command",
                          "args"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "imqueue"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "mcpServers"
                ],
                "type": "object"
              }
            },
            "required": [
              "claudeCodeCommand",
              "clientConfig"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "How to install the @imqueue MCP server locally"
          }
        }
      ]
    },
    "name": "@imqueue",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "@imqueue/mcp",
        "version": "3.7.9",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/imqueue-mcp.json",
    "popularity": {
      "githubStars": 1,
      "npmWeekly": 152
    },
    "registryName": "org.imqueue/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://mcp.imqueue.org/mcp"
      }
    ],
    "repository": "https://github.com/imqueue/mcp",
    "reviewed": false,
    "slug": "imqueue-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=org.imqueue/mcp",
    "summary": "Search @imqueue docs and scaffold typed services \u0026 clients from your AI coding agent.",
    "updatedAt": "2026-09-18T20:16:53Z",
    "url": "https://www.anchorterminal.com/tools/imqueue-mcp",
    "vendor": "imqueue.org",
    "vendorUrl": "https://imqueue.org/mcp/",
    "version": "3.7.9",
    "websiteUrl": "https://imqueue.org/mcp/",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
