# @imqueue (npm · @imqueue/mcp)

Search @imqueue docs and scaffold typed services & clients from your AI coding agent.

- Trust score: 68/100 (medium)
- Change this week: +62
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- remote · `mcp.imqueue.org`: 68/100, [markdown](https://verifymcp.io/servers/org-imqueue-mcp/mcp.md), [page](https://verifymcp.io/servers/org-imqueue-mcp/mcp)
- npm · `@imqueue/mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp.md), [page](https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp)

## Channel facts

- Registry: `npm`
- Package: `@imqueue/mcp`
- Version: `3.3.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (GPL-3.0).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2134 tokens (~164/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (38% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add org-imqueue-mcp -- npx -y @imqueue/mcp
```

### Codex

```bash
codex mcp add org-imqueue-mcp -- npx -y @imqueue/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "org-imqueue-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@imqueue/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add org-imqueue-mcp --command npx --arg -y --arg @imqueue/mcp
```

### Hermes

```yaml
mcp_servers:
  org-imqueue-mcp:
    command: "npx"
    args: ["-y", "@imqueue/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "org-imqueue-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@imqueue/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-03 (score 67, −1)

- [functional regression] Schema quality: 113 → 164
- [functional] Package version: 3.1.1 → 3.3.0

### 2026-08-02 (score 68, +63)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional regression] Schema quality: pass → fail
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Tool coverage: 38
- [functional] Licence: GPL-3.0
- [functional] Package version: 2.3.0 → 3.1.1
- [functional] Package version: 2.3.0 → 3.0.0
- [functional] Package version: 2.0.5 → 2.3.0

### 2026-08-01 (score 5, 0)

- [functional] Package version: 2.1.4 → 2.3.0
- [functional] Package version: 2.0.5 → 2.1.4

### 2026-07-31 (score 5, −1)

- [security] First check of Stability: unverified
- [functional regression] Schema quality: pass → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Capabilities: unverified
- [functional] Package version: 2.0.5 → 2.1.4
- [functional] Package version: 2.0.5 → 2.1.3
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 6, −22)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 2.0.5 → 2.1.0

### 2026-07-27 (score 28)

First indexed and scored.

## MCP tools (13)

### `search_docs` (~310 tokens)

Search @imqueue documentation

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.

Input parameters:

- `limit` (integer): Max results (default 6)
- `package` (string): 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.
- `query` (string, required): A question or a symbol name, e.g. 'expose a service method', 'delayed jobs' or 'IMQOptions.safeDelivery'

Output parameters:

- `advisories` (array): 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.
- `count` (integer): Number of results returned (0 means no matches)
- `query` (string): The query that was searched
- `results` (array): Most relevant first

### `get_doc` (~107 tokens)

Read an @imqueue doc page

Fetch the full markdown of an @imqueue documentation page by its URL (as returned by search_docs). Returns plain markdown suitable for reading and quoting. 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.

Input parameters:

- `url` (string, required): An imqueue.org or imqueue.com page URL, e.g. https://imqueue.org/get-started/

Output parameters:

- `bytes` (integer): Size of the page body, so a caller can decide before reading it
- `mimeType` (string): Media type of the page body carried in content
- `truncated` (boolean): True when the page was too large to return whole — content holds the leading part only
- `url` (string): The markdown mirror actually fetched — not always the URL passed in, which is why it is worth returning

### `list_packages` (~185 tokens)

List @imqueue packages

The complete, authoritative catalogue of documented @imqueue packages, each with 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.

Output parameters:

- `packages` (array): Ordered by what to reach for first

### `scaffold_service` (~167 tokens)

Scaffold an @imqueue service

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.

Input parameters:

- `methods` (array): Methods to expose
- `name` (string, required): Service name, e.g. 'user' or 'UserService'

Output parameters:

- `cliAlternative` (string): The CLI command that creates a full provider-wired project instead
- `files` (array)
- `install` (string)
- `service` (string): Class name used, after normalisation ('user' -> 'UserService')
- `types` (array): 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.

### `scaffold_client` (~165 tokens)

Scaffold an @imqueue typed client

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.

Input parameters:

- `methods` (array): Known methods (used to shape the example call)
- `service` (string, required): The service to call, e.g. 'user' or 'UserService'

Output parameters:

- `client` (string): Generated client class name
- `example` (object): An illustrative call — not a file to write
- `generateCommand` (string): Run against the RUNNING service to emit the real typed client
- `namespace` (string): The ONLY export of the generated file: a namespace holding the client class. Import this, then `new <namespace>.<client>()` — importing the class directly does not resolve.
- `output` (string): The file that command writes (a compiled .js lands beside it)
- `service` (string)

### `cli_status` (~50 tokens)

Check the @imqueue CLI

Detect whether the `imq` CLI (@imqueue/cli) is installed on this machine and report its version. create_service and generate_client need it; the scaffold_service and scaffold_client tools do not.

### `cli_help` (~87 tokens)

Show @imqueue CLI help

Run `imq [command] --help` and return the exact, version-accurate flags for a command (e.g. 'service create', 'client generate'). The flags it lists are the ones create_service accepts. Read-only: it prints help and exits.

Input parameters:

- `command` (string): A subcommand, e.g. 'service create' (omit for top-level help)

### `create_service` (~220 tokens)

Create an @imqueue service with the CLI

Scaffold a real, provider-wired @imqueue service via `imq service create`. Runs as a DRY-RUN by default: it shows the plan and writes nothing. With apply=true it writes files into the target directory and may initialise git, configure CI and push to a remote. Accepts `imq` flags (cli_help lists them) to avoid interactive prompts. Requires the `imq` CLI.

Input parameters:

- `apply` (boolean): false/omitted = dry-run preview; true = actually create (writes files)
- `cwd` (string): Working directory to run in (defaults to the server's cwd)
- `flags` (array): Extra `imq` flags, e.g. ['--vcs','github','--ci','github-actions'] or feature selection ['--packages','pg-prisma,validation,opentelemetry,gcp','-D']. Get exact flags from cli_help.
- `name` (string, required): Service name, e.g. 'user'
- `path` (string): Target directory (optional)

### `generate_client` (~110 tokens)

Generate a typed client with the CLI

Run `imq client generate <Service>` to emit the real, fully-typed client, writing it into the output directory. The target service must be RUNNING — the CLI introspects the live service over its message queue. Requires the `imq` CLI.

Input parameters:

- `cwd` (string): Working directory to run in
- `path` (string): Output directory (optional)
- `service` (string, required): Service name to generate a client for, e.g. 'User' / 'UserService'

### `cli_install` (~76 tokens)

Install the @imqueue CLI

Install @imqueue/cli globally via `npm install -g @imqueue/cli`, replacing any `imq` already installed. cli_status reports whether it is already present. A global install may require a user-writable npm prefix or elevated permissions.

Input parameters:

- `version` (string): npm version/tag to install (default 'latest')

### `fleet` (~165 tokens)

Control the local @imqueue services fleet

Run `imq ctl <action>` over a directory of service repositories. `status` reports what is running and changes nothing; `start`, `stop` and `restart` change which processes are running on this machine. Requires the `imq` CLI.

Input parameters:

- `action` (string, required): What to do to the fleet
- `calm` (boolean): Start services one at a time, waiting for each to be ready
- `cwd` (string): Working directory to run in
- `path` (string): Directory containing the service repositories (default '.')
- `services` (string): Comma-separated service names; omit to scan the path
- `update` (boolean): git pull each service before starting (start/restart)
- `verbose` (boolean): Verbose output

### `config` (~152 tokens)

Manage @imqueue CLI configuration

Run `imq config <action>`. `check` = is config initialized; `get [option]` = read a value (or list all); `set option value` = overwrite a value (nested keys use a dot-path, e.g. 'ci.provider'); `init` = interactive setup, which will time out when run non-interactively, so `set` is the automatable one. Requires the `imq` CLI.

Input parameters:

- `action` (string, required): Config operation
- `cwd` (string): Working directory to run in
- `option` (string): Config key (dot-path for nested), for get/set
- `value` (string): Value to set (required for `set`)

### `logs` (~129 tokens)

Read or clean @imqueue fleet logs

Work with logs of services started by `imq ctl`. action='dump' (default) returns the current combined logs and exits — it never follows/streams, and output is capped. action='clean' deletes the collected log files. Requires the `imq` CLI.

Input parameters:

- `action` (string): dump = read current logs (default); clean = delete collected logs
- `cwd` (string): Working directory to run in
- `prefix` (boolean): Prefix each line with the service name (default true)
- `services` (string): Comma-separated service names; omit to combine all

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp#diagnostics

## Score history

- 2026-08-04: 68
- 2026-08-03: 67
- 2026-08-02: 68
- 2026-08-01: 5
- 2026-07-31: 5
- 2026-07-30: 6
- 2026-07-28: 6
- 2026-07-27: 28

## Links

- npm package: https://www.npmjs.com/package/@imqueue/mcp
- Socket report: https://socket.dev/npm/package/@imqueue/mcp
- Repository: https://github.com/imqueue/mcp
- Website: https://imqueue.org/mcp/
- Changelog RSS feed: https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/org-imqueue-mcp/imqueue-mcp
