@imqueue

org.imqueue由 imqueue.org 發布官方發布者v3.7.9更新於 Oct 24, 2026

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

已驗證Streamable HTTP可網頁執行知識與記憶開發者工具

概覽

AI 產生的概覽

@imqueue 的 MCP 伺服器,讓 AI 程式助理搜尋 @imqueue 文件、查詢套件版本,並產生具型別的服務與用戶端骨架。

可以做什麼
依 URL 以 markdown 搜尋並讀取 @imqueue 文件頁面,包含 API 參考章節。瀏覽套件目錄,查詢目前版本、授權條款、最低 Node 版本與最近發佈日期。產生唯讀的骨架文字:IMQService 子類別與啟動程式碼,以及具型別用戶端的產生流程說明。僅本機安裝可驅動 imq CLI:偵測並安裝、查看說明、建立服務、產生用戶端、管理服務叢集、讀寫 CLI 設定、匯出或清理日誌。
適用情境
適合在助理撰寫 @imqueue 程式碼時依據最新文件與慣用寫法而非猜測,或需要確認某個套件的版本、授權條款或 Node 需求時使用。本機安裝用於必須透過 imq CLI 操作真實專案檔案與執行中服務的情境。
執行需求
遠端端點無需安裝;本機方式透過 npx 執行,需要 Node.js 18 或更新版本。CLI 相關工具需要 PATH 中有 @imqueue/cli,伺服器可全域安裝它。未宣告驗證、環境變數或標頭。文件與套件資料即時取自 imqueue.org 與 imqueue.com。
安裝前請注意
託管端點為唯讀;本機安裝會額外提供作用於本機的工具。create_service 預設僅試跑,除非設定 apply,但 generate_client、fleet 的啟動/停止/重新啟動、config set 與日誌清理會改變真實狀態。cli_install 會安裝全域 npm 套件。骨架工具只回傳文字,不寫入任何內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 @imqueue,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/org.imqueue%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "imqueue": {
      "type": "http",
      "url": "https://mcp.imqueue.org/mcp"
    }
  }
}

README

@imqueue/mcp

[smithery badge]

A Model Context Protocol server for @imqueue. It lets AI coding agents (Claude Code, ChatGPT, Codex, Cursor, VS Code, JetBrains, …) search the @imqueue documentation, scaffold typed services & clients, and drive the imq CLI — so they generate correct, idiomatic @imqueue code instead of guessing.

📖 Full documentation: imqueue.org/mcp — per-client setup, complete tools reference, agent workflows and the safety model.

Tools

Two surfaces, and they are not the same. The local server (npx -y @imqueue/mcp) has all 14 tools. The hosted server (mcp.imqueue.org/mcp) has seven, all read-only — see below for why.

Hosted + local

ToolWhat it does
search_docsSearch the official docs (guides, tutorial, CLI manual, API reference, articles) and return the most relevant pages + URLs.
get_docFetch the full markdown of a doc page by URL.
list_packagesList the documented @imqueue packages with install commands, current versions and licences.
package_statusThe current version, licence, minimum Node and last release date of any published @imqueue package, or all of them.
scaffold_serviceGenerate an IMQService subclass with @expose()d, JSDoc-typed methods + a bootstrap (offline, no CLI needed).
scaffold_clientShow how to generate and use the fully-typed client for a service (offline).

All six are read-only: they fetch or generate text and write nothing.

All five also declare an MCP outputSchema and return structuredContent alongside the human-readable markdown, so a client can consume results as data — take results[0].url from search_docs and hand it to get_doc, or write scaffold_service's files[] straight to disk — instead of parsing prose and code fences. For the scaffolders and the catalogue the markdown is rendered from that same structure, so the two can't drift.

get_doc's schema is metadata only, on purpose — and that turns out to be the more interesting design than having no schema at all. A schema obliges the server to send structuredContent, but nothing says structuredContent must repeat what is in content: it describes the structured part of the answer. So the page travels once, in content, and the schema carries url (the mirror actually fetched, which is not always the URL you passed), mimeType, bytes (so a caller can decide before reading) and truncated. Putting markdown in there as well would have doubled the largest response the server can produce — measured on /api/rpc/latest/, 16.6 kB of text plus 16.6 kB of structure for one read. The absence of a body field is itself self-describing: a caller reading the schema sees no content field and knows the page is in content, which is where every client already looks.

The CLI-backed tools have no schema: they return imq stdout, which has no shape worth promising.

CLI-backed tools — local only (require @imqueue/cli on PATH)

These drive the real CLI, so they act on the machine the server runs on. They exist in the local install only; the hosted server does not register them.

ToolWhat it does
cli_statusDetect imq and report its version.
cli_installInstall @imqueue/cli globally (npm i -g @imqueue/cli) when it's missing.
cli_helpimq <command> --help — exact, version-accurate flags (no side effects).
create_serviceimq service create — dry-run by default (writes nothing); pass apply: true to actually create the project.
generate_clientimq client generate <Service> — the real typed client (the service must be running).
fleetimq ctl <start|stop|restart|status> — manage a directory of service repos. status is read-only.
configimq config <check|get|set|init> — read/write CLI configuration (set for automation; init is interactive).
logsimq log — dump current fleet logs (never follows; capped) or clean them.

Calls run with stdin closed and a timeout, so a missing-flag prompt fails fast instead of hanging. If imq isn't installed, run cli_install or use the offline scaffold_* tools.

Docs are fetched live from imqueue.org's machine-readable feeds, so the server never ships stale content: /llms.txt for the curated page index, per-page …/index.md mirrors for bodies, /search-index.json, /search-text.json and /search-sections.json for the search corpus, and /status.json for package versions and licences. imqueue.com's /llms.txt and peer feeds are read too, for the commercial pages. Nothing outside those two hosts is ever fetched — the allowlist is enforced in src/docs.ts and refuses anything else.

Versions and licences come from that last feed rather than being compiled in, deliberately: @imqueue releases far more often than this server does, so a baked-in version would be wrong within days and wrong with total confidence. npmjs.com serves bot detection to an unattended fetch, which is why imqueue.org reads the registry at build time and republishes the answer where anything can read it.

Install

Requires Node.js ≥ 18. No build step for users — run straight from npm:

bash
npx -y @imqueue/mcp

Claude Code

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

ChatGPT & Codex

@imqueue is listed in OpenAI's plugin directory — shared by ChatGPT and Codex. In ChatGPT, open the Plugins tab and install it; in the Codex CLI, run /plugins. No config file, no Node.

That route installs the hosted server, so it is the seven read-only tools and none of the CLI bridge (see below). Codex can run the local server alongside it — MCP servers live under mcp_servers in ~/.codex/config.toml, in TOML rather than the usual JSON:

toml
[mcp_servers.imqueue]command = "npx"args = ["-y", "@imqueue/mcp"]

ChatGPT connects to MCP servers over HTTP only, so it has no local option; the plugin is all of it there.

Other clients (Cursor, Claude Desktop, JetBrains, Windsurf, Zed, …)

Add to your MCP config (.cursor/mcp.json, claude_desktop_config.json, …):

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

VS Code and Visual Studio use a top-level servers key with "type": "stdio" instead of mcpServers. See imqueue.org/mcp/installation for the exact config file path and snippet for every client.

Hosted server (no install)

If your client supports remote MCP servers and you only need docs and scaffolding, point it at the hosted endpoint instead:

json
{ "mcpServers": { "imqueue": { "url": "https://mcp.imqueue.org/mcp" } } }

It serves seven tools, all read-only: the six above plus local_install_guide, which returns the setup steps for the local install. This is also what OpenAI's plugin directory installs for ChatGPT and Codex — the same endpoint under the same limits, packaged as one click.

It does not offer the CLI-backed tools, by design. Those act on your machine — your project files, your running services, your CLI config — which a server running on Cloudflare's edge cannot reach. Advertising them there would mean listing tools that can never do what their names say, so they are not registered at all in remote mode. If you need them, install locally.

Develop

bash
npm installnpm run build      # tsc -> dist/npm run dev        # run from source with tsxnpm test           # unit tests (node:test under tsx) — no network needednpm run smoke      # local surface: handshake + tools/list + annotations + tool callsnpm run verify     # all of the above plus both type-checks; also the publish gate

The unit tests cover what does not need the network: the ranker on a fixed corpus, the exact identifiers the scaffolders emit, URL resolution, telemetry, and the hosted Worker's HTTP surface — worker/worker.ts is a plain fetch handler, so it is called with a Request and asserted on the Response, with no wrangler and no deploy.

The hosted surface has its own check, because it is a different contract:

bash
npm run dev:worker                                   # wrangler dev on :8787node scripts/remote-smoke.mjs http://localhost:8787/mcpnpm run smoke:remote                                 # or against production

It asserts the exact seven-tool list and that every one of them is read-only — the assertion that stops a future refactor from quietly re-exposing a CLI tool on the hosted endpoint.

Example

User: "Create an @imqueue user service with a getUser(id) method."

The agent calls scaffold_service({ name: "user", methods: [{ name: "getUser", params: [{ name: "id", type: "number" }], returns: "User" }] }) and gets a ready-to-paste UserService + bootstrap, then search_docs("run a service") / get_doc(...) to wire it up.

License

GPL-3.0 — free and open source.

Commercial licensing

Need to use @imqueue/mcp in a closed-source product, or want commercial support? A commercial license is available — see imqueue.com. Full docs: imqueue.org/mcp. See SPEC.md for the design and registry-distribution plan.

來源:README.md,提交 8b2b4ef

工具

7

search_docs

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.

輸入參數limitquery必填package

get_doc

Read an @imqueue doc page

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.

輸入參數url必填

list_packages

List @imqueue packages

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.

無需輸入參數。

package_status

@imqueue package versions and licences

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.

輸入參數package

scaffold_service

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.

輸入參數name必填methods

scaffold_client

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.

輸入參數methodsservice必填

local_install_guide

How to install the @imqueue MCP server locally

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.

無需輸入參數。

版本歷史

2
  1. v3.7.9最新Sep 19, 2026
  2. v3.7.8Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分