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) -> strLists 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) | |
|---|---|---|
| Scope | Only prompts the caller created | Every prompt in the workspace, any creator |
| Fields returned | Full 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-default | Full surface — see Prompts API | Not 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.