MCP / AI
Prompts MCP Tools

Prompts MCP Tools

One tool exposes the prompts domain to MCP clients (Claude Code, Claude Desktop): list_prompts. Implementation: services/mcp/src/lkwiz_mcp/tools/prompts.py.

⚠️

This is a read-only, partial surface, not an MCP mirror of the REST API. There is no MCP tool for creating, updating, deleting, or setting-default on a prompt — those operations require the web app or the REST API directly. The tool also reads a different, narrower field set than the REST API returns — see Deviations from REST before building automation on top of it.

list_prompts

list_prompts(workspace_id: str) -> str

Lists prompts in a workspace. Requires the caller to be a member of workspace_id.

Unlike the REST GET /api/prompts, which only returns the caller's own prompts, this tool returns every prompt in the workspace regardless of who created it — it queries the workspace partition directly with no created_by filter.

Returns (JSON-encoded string):

{
  "prompts": [
    {
      "prompt_id": "a1b2c3d4-...",
      "workspace_id": "ws_123",
      "name": "Professional Thought Leader",
      "content": "",
      "created_by": "user_111",
      "created_at": "2026-07-17T12:00:00+00:00"
    }
  ]
}
⚠️

content will be "" for every prompt created through the REST API or the web app. The real Prompt DynamoDB item has no content attribute — it stores system_instruction and user_template instead (see Prompts feature guide). This tool reads a content field that doesn't exist on production data, so it always comes back empty for prompts you'd actually use day-to-day. tone, is_default, system_instruction, user_template, default_audience, and default_language aren't read at all and never appear in this tool's output — use GET /api/prompts/{id} if you need the actual prompt content, tone, or default status.

Deviations from REST

The MCP tool talks to DynamoDB directly with the raw boto3 client (not the common.db helper the REST prompts_service uses) and is implemented independently of it. If you're building automation that mixes both surfaces, be aware of:

REST API (prompts_service.list_prompts)MCP tool (list_prompts)
ScopeOnly prompts the caller createdEvery prompt in the workspace, any creator
Fields returnedFull record (system_instruction, user_template, tone, default_audience, default_language, is_default, updated_at, ...)prompt_id, workspace_id, name, content (always "" in practice), created_by, created_at
Create / update / delete / set-defaultFull surface — see Prompts APINot available via MCP

In practice: use this tool only to enumerate prompt ids/names/creators in a workspace for an AI client to reference — for example, to look up which prompt_id to pass to a post-generation tool. Fetch the actual instructions via the REST API when you need them.

See also

  • Prompts feature guide — product behavior, template placeholders, default-prompt semantics.
  • Prompts API reference — the full REST surface, including create/update/delete/set-default, which aren't available over MCP.