Skip to main content
Glama
InkRoom-AI

InkRoom Prompts MCP

Official
by InkRoom-AI
README.md
# InkRoom Prompts MCP

> This is the standalone **InkRoom Prompts MCP** distribution, exported one way from the [official prompts-v1.0.4 source](https://github.com/InkRoom-AI/inkroom-client/tree/dd414737e193cacbc9d18ea86ec7d00f4460f543/prompts). Runtime version: **1.0.4**. Runtime and license bytes are preserved; development stays in the canonical repository. See [source provenance, installation and update policy](DISTRIBUTION.md).

[Official prompt tools / 官方提示词工具](https://inkroom.ai/tools/prompts) · [Usage / 使用文档](https://inkroom.ai/tools/prompts/docs)

**Image prompt inspiration, without an account or API key.**

[简体中文](README.zh-CN.md) · [Skill](skills/inkroom-prompts/SKILL.md) · [Privacy](PRIVACY.md)

> **Hosted prompt tools:** use the official tools and documentation linked above. The MCP package runs locally over STDIO or loopback HTTP; no public Remote MCP endpoint is announced.

Ask your assistant: **“Find warm café poster prompts with example images.”**

- Search public, approved prompt-library records; get the complete prompt, its original example image and source.
- If a successful search has no match, ask InkRoom's configured text model to turn the idea into a usable prompt. **Optimized prompts have no example image.**
- No account, login, Key, Token, subscription or paid-image authorization. Free usage is subject to server limits.
- MIT-licensed MCP server and Agent Skill. The license does not cover third-party prompt/image content or other InkRoom code outside this directory.

## Install the MCP

Requires Node.js **20.3+**. The ASCII server ID is `inkroom-prompts`.

Install from this product distribution repository:

```sh
git clone https://github.com/InkRoom-AI/inkroom-prompts.git
cd inkroom-prompts
npm ci --ignore-scripts
node src/cli.mjs --help
```

The canonical development source remains `InkRoom-AI/inkroom-client/prompts`. No `.env` or credentials are needed.

After downloading the GitHub release package, use this portable STDIO configuration in clients that support `mcpServers`:

```json
{
  "mcpServers": {
    "inkroom-prompts": {
      "command": "npx",
      "args": ["-y", "--package", "https://github.com/InkRoom-AI/inkroom-client/releases/download/prompts-v1.0.4/inkroom-prompts-1.0.4.tgz", "inkroom-prompts"]
    }
  }
}
```

The release archive is distributed on GitHub, **not the npm registry**. For source installations, use `node` with the absolute path to `src/cli.mjs` instead. Clients that use a different configuration format must map the same command and argument array to their MCP settings; do not add authentication fields.

For a local Streamable HTTP connection:

```sh
node src/cli.mjs --http 8788
```

Connect to `http://127.0.0.1:8788/mcp` without headers. The listener binds only to loopback. No official public Remote MCP URL is announced for this local package. Operators deploying behind TLS must validate the public Host/Origin, set trusted proxies correctly, enforce ingress limits and complete live acceptance first.

## Install the Skill

Copy the entire [`skills/inkroom-prompts`](skills/inkroom-prompts) directory into the client’s Skill directory or import its ZIP when supported. It follows the [Agent Skills format](https://agentskills.io/specification). It works independently of the paid `inkroom` Skill and has no runtime dependency on the MCP SDK.

With the Skill selected, ask:

- “帮我找几个暖色咖啡馆海报提示词,带示例图。”
- “Improve this product-photo idea into a prompt; keep the label text unchanged.”

The Skill uses the MCP tools when available, otherwise its bundled Node.js script.

## Tools

| Tool | Input | Result |
| --- | --- | --- |
| `help` | No parameters | Local capability and cost-boundary help; no network or model call |
| `list_models` | No parameters | Public InkRoom model names, parameters and official sale prices; no account authorization implied |
| `search_prompts` | `query` (1–200 characters, up to 3 keyword groups), optional `limit` (1–5, default 3) | Complete public prompts with their paired example URLs and source links |
| `optimize_prompt` | `query` (1–500 characters) | One AI-optimized prompt, model, and `exampleImageUrl: null` |

The MCP uses the official TypeScript SDK, standard tool annotations, structured JSON and image `resource_link` entries. The host decides whether links render inline. It does not download images or claim that a link was displayed or saved.

Search first, then optimize on a **successful empty result**, or optimize directly on an explicit rewrite request. Network/catalog errors are not empty results. There are no hidden paid-generation calls, automatic model switches or optimization retries.

## Free-use policy

The implemented server policy is shared across replicas and restarts:

- 30 total operations per IP per minute; global ingress 600 per minute.
- Optimization: 3 per IP per minute, 10 per IP per day, 30 globally per minute and 500 per day. These are shared request-count limits, not a monetary budget.
- Daily windows reset at **00:00 Beijing time (UTC+8)**. IPv6 addresses share a /64 quota. Shared VPN/cloud egress may share an IP allowance; this is not a guaranteed per-device entitlement.
- HTTP 429 includes `Retry-After`. Wait rather than changing identity or splitting work.
- Optimization is an internal platform call, using an operator-selected text model (default `gpt-6.1-sol`) on an existing enabled channel. Retail pricing is not required. Failed or unknown attempts still count toward the request limits, including across replicas and restarts.
- Free means no deduction from the user's credits or balance; it does not mean the model supplier charges nothing. The existing internal-use ledger records actual reported token usage. Missing supplier usage remains unknown rather than being estimated or presented as zero cost.

## Develop and verify

```sh
npm ci --ignore-scripts
npm test
npm pack --dry-run
```

Tests cover real SDK initialization and tool calls, STDIO, Streamable HTTP, errors, cancellation, no credential forwarding, image/source pairing and response limits. Backend integration and quota tests are described in [`backend/README.md`](backend/README.md). Mock-model tests do not prove hosted model availability.

The canonical repository also mirrors this Skill at its top-level `skills/inkroom-prompts`. This distribution retains the exact released Skill under the same relative path.

## Service boundary

The MCP and Skill both call **https://prompts.inkroom.ai** for free search and text optimization. The backend runs in its own `inkroom-prompt-assistant` container; it does not fall back to the paid image API. Website pages stay on `inkroom.ai`, and library examples stay on `static.inkroom.ai`. This domain is the release target; hosted availability still requires live acceptance.


## Cursor plugin

The canonical repository marketplace includes a separate `inkroom-prompts` plugin rooted in `prompts/`. It combines the free local STDIO MCP and the `inkroom-prompts` Skill. It does not change the paid `inkroom` plugin. Marketplace review and actual Cursor installation are separate states; do not treat this source package as an approved listing.

- Plugin distribution version: `1.0.4`; pinned MCP runtime: `1.0.4`.
- Requires Node.js 20.3+ and internet access. The MCP starts with `npx` using the existing public GitHub release TGZ.
- No account, API key, MCP Token, plugin secret, or paid image-generation setup is required. The service has shared request-count limits.
- Tools: `help`, `list_models`, `search_prompts`, and `optimize_prompt`. Optimization may cost the platform money; no model call runs during installation. Follow the included Skill before calling tools.
- Official tools: https://inkroom.ai/tools/prompts . Documentation: https://inkroom.ai/tools/prompts/docs . Privacy: [PRIVACY.md](PRIVACY.md).
- No hooks, background jobs, telemetry, or credentials are included. Disable or uninstall the plugin through Cursor to remove this integration; preserve unrelated MCP connections.


## Docker STDIO distribution

The Dockerfile packages the same keyless **1.0.4** MCP implementation. Build from this directory with `docker build -t inkroom-prompts:1.0.4 .`, then configure your MCP client to run `docker run --rm -i --read-only --cap-drop=ALL --security-opt=no-new-privileges inkroom-prompts:1.0.4`. No port, volume, API key or MCP Token is required. Network access is needed for public prompt searches and capped text optimization. The image runs as the unprivileged `node` user.

Container initialization, tool discovery, invalid-input/offline errors and one anonymous public prompt search were verified on Linux/amd64 with Node v22.23.3. The base image is pinned by digest. Container protocol validation does not establish Docker Catalog approval or native Docker Desktop Toolkit installation; those statuses are tracked separately. Other CPU architectures have not been tested.


## Public read-only capabilities in 1.0.4

Adds local `help` and anonymous `list_models` (official InkRoom sale prices) alongside `search_prompts` and `optimize_prompt`. Read-only catalog/help/search needs no Key and never starts optimization or generation. Explicit invalid credentials are never silently retried as anonymous. Existing prompt search, optional test origin and optimization limits remain unchanged. Native desktop host installation and registry approval are separate acceptance states.

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct capability: help returns static docs, list_models queries the catalog, search_prompts searches prompts, and optimize_prompt rewrites an idea into a prompt. The only mild overlap is between help (capability descriptions) and list_models (model/price catalog), but the descriptions clearly delineate them.

Naming Consistency4/5

Three tools follow a clear verb_noun snake_case pattern (list_models, search_prompts, optimize_prompt). The lone 'help' is a bare noun, a minor but readable deviation from the otherwise consistent convention.

Tool Count4/5

Four tools is on the lean side but well-matched to a focused prompt-search/optimization service; each tool earns its place. It is not thin enough to feel incomplete, though a fifth (e.g., fetch-by-id or category browse) would round it out.

Completeness4/5

The surface covers discovery (search_prompts returns full prompts and provenance), catalog lookup (list_models), rewrite (optimize_prompt), and self-documentation (help). Minor gaps exist—no direct fetch-by-id, pagination, or filter-by-model—but agents can work around them via keyword search.

Maintenance

ActivityMaintained
ResponsivenessNo issues