MCP 服务器中的提示让您能够定义预构建的高质量指令,客户端可以直接使用这些指令,而无需从头编写自己的提示。可以将它们视为精心制作的模板,比用户自己想出的内容能带来更好的结果。
为什么要使用提示?
假设您希望 Claude 将一份文档重新格式化为 markdown。用户可以直接输入"将 report.pdf 转换为 markdown",这样也能正常工作。但如果使用一个经过充分测试的提示,其中包含关于格式、结构和输出要求的具体说明,他们很可能会获得更好的结果。

关键的洞察在于,虽然用户可以自己完成这些任务,但当使用由 MCP 服务器作者精心开发和测试过的提示时,他们会获得更一致、更高质量的结果。
提示的工作原理
提示定义了一组用户和助手消息,客户端可以直接使用这些消息。当客户端请求某个提示时,您的服务器会返回一个可以直接发送给 Claude 的消息列表。

基本结构如下所示:
- 使用
@mcp.prompt()装饰器定义提示 - 为每个提示添加名称和描述
- 返回构成完整提示的消息列表
- 这些提示应该是高质量的、经过充分测试的,并且与您的 MCP 服务器的用途相关
构建一个 Format 命令
以下是如何实现一个文档格式化提示。首先,您需要导入基础消息类型:
python
from mcp.server.fastmcp.prompts import base然后定义您的提示函数:
python
@mcp.prompt(
name="format",
description="Rewrites the contents of the document in Markdown format."
)
def format_document(
doc_id: str = Field(description="Id of the document to format")
) -> list[base.Message]:
prompt = f"""
Your goal is to reformat a document to be written with markdown syntax.
The id of the document you need to reformat is:
{doc_id}
Add in headers, bullet points, tables, etc as necessary. Feel free to add in extra formatting.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
return [
base.UserMessage(prompt)
]测试您的提示
您可以使用 MCP Inspector 来测试提示。导航到 Prompts 部分,选择您的提示,并提供任何所需的参数。Inspector 将向您展示将要发送给 Claude 的生成消息。

这让您能够在实际应用中使用之前,验证您的提示是否正确地插入了变量,并生成了预期的消息结构。
最佳实践
在为您的 MCP 服务器创建提示时:
- 专注于对您服务器的用途至关重要的任务
- 编写详细、具体的说明,而不是模糊的请求
- 使用不同的输入彻底测试您的提示
- 包含清晰的描述,以便用户理解每个提示的作用
- 考虑提示将如何与您服务器的工具和资源配合使用
请记住,提示的意义在于提供用户自己难以轻易获得的价值——它们应该代表您在 MCP 服务器所涵盖领域中的专业知识。