{"record":{"id":"33d9a92bae58950c","repo":"PrefectHQ/fastmcp","slug":"unknown-prompt-name-r","errorCode":null,"errorMessage":"Unknown prompt: {name!r}","messagePattern":"Unknown prompt: (.+?)","errorType":"exception","errorClass":"NotFoundError","httpStatus":null,"severity":"error","filePath":"fastmcp_slim/fastmcp/server/server.py","lineNumber":1777,"sourceCode":"                        context.message.arguments,\n                        version=version,\n                        run_middleware=False,\n                    ),\n                )\n\n            # Core logic: find and render prompt (providers queried in parallel)\n            # Use get_prompt to apply transforms and filter disabled\n            with server_span(\n                f\"prompts/get {name}\",\n                \"prompts/get\",\n                self.name,\n                \"prompt\",\n                name,\n                prompt_name=name,\n            ) as span:\n                prompt = await self.get_prompt(name, version=version)\n                if prompt is None:\n                    raise NotFoundError(f\"Unknown prompt: {name!r}\")\n                span.set_attributes(prompt.get_span_attributes())\n                try:\n                    return await prompt._render(arguments)\n                except FastMCPError as e:\n                    logger.log(\n                        e.log_level, f\"Error rendering prompt {name!r}\", exc_info=True\n                    )\n                    raise\n                except MCPError:\n                    logger.exception(f\"Error rendering prompt {name!r}\")\n                    raise\n                except Exception as e:\n                    logger.exception(f\"Error rendering prompt {name!r}\")\n                    if self._mask_error_details:\n                        raise PromptError(f\"Error rendering prompt {name!r}\") from e\n                    raise PromptError(f\"Error rendering prompt {name!r}: {e}\") from e\n\n    def add_tool(self, tool: Tool | Callable[..., Any]) -> Tool:","sourceCodeStart":1759,"sourceCodeEnd":1795,"githubUrl":"https://github.com/PrefectHQ/fastmcp/blob/1f021142978e0861cd910c8df4e8074bc7cf3978/fastmcp_slim/fastmcp/server/server.py#L1759-L1795","documentation":"FastMCP raises NotFoundError(\"Unknown prompt: {name!r}\") from render_prompt when get_prompt returns None — no registered prompt matches the name (or it was disabled/filtered by transforms/middleware). This is the standard MCP 'not found' signal for prompts/get.","triggerScenarios":"`render_prompt(name)` or client.get_prompt(name) with a name that was never registered, a typo, a prompt removed/disabled, or a name filtered out by provider routing or middleware.","commonSituations":"Typo in prompt name; client connecting to a server that doesn't define the prompt; prompt removed after refactor; casing mismatch ('Summarize' vs 'summarize'); calling render before the decorator registration completes.","solutions":["List available prompts (`await server.get_prompts()` / client.list_prompts) and use an exact registered name.","Fix the name/typo in the caller.","Register the prompt or re-enable it if it was disabled/removed by transforms.","Check middleware that may be filtering prompts/get requests."],"exampleFix":"// before\nresult = await client.get_prompt(\"sumarize_document\")  # typo\n// after\nprompts = await client.list_prompts()\nresult = await client.get_prompt(\"summarize_document\")","handlingStrategy":"validation","validationCode":"names = {p.name for p in await client.list_prompts()}\nif name not in names:\n    raise ValueError(f\"{name!r} not registered; available: {sorted(names)}\")\nresult = await client.get_prompt(name)","typeGuard":null,"tryCatchPattern":"try:\n    result = await client.get_prompt(name, arguments=args)\nexcept NotFoundError:\n    print(f\"Prompt {name!r} unknown — call client.list_prompts() to see registered names\")","preventionTips":["Copy prompt names from list_prompts output rather than retyping them.","Keep client and server prompt registries in sync during refactors.","Use consistent lowercase snake_case naming for prompts.","Remember disabled/transformed prompts won't resolve even if defined in code."],"tags":["mcp","prompt","not-found"],"backgroundTag":"prompt-not-found","analyzedSha":"1f021142978e0861cd910c8df4e8074bc7cf3978","analyzedAt":"2026-08-29T14:31:16.082Z","schemaVersion":2},"datasetVersion":"2026-08-29T17:17:51.833Z"}