로드 중

MCP 서버의 프롬프트를 사용하면 클라이언트가 직접 프롬프트를 처음부터 작성하는 대신 사용할 수 있는 사전 구축된 고품질 지침을 정의할 수 있습니다. 사용자가 스스로 생각해낼 수 있는 것보다 더 나은 결과를 제공하는 정교하게 만들어진 템플릿이라고 생각하면 됩니다.

Tools, Resources, Prompts를 각각 노출하는 두 개의 MCP 서버에 연결된 MCP 클라이언트를 보여주는 다이어그램 — Prompts가 강조 표시되어 있으며 — 외부 서비스 앞에 위치함

프롬프트를 사용하는 이유

핵심 통찰은 다음과 같습니다: 사용자는 이미 대부분의 작업을 Claude에게 직접 요청할 수 있습니다. 예를 들어, 사용자가 "report.pdf를 markdown으로 재포맷해줘"라고 입력하면 괜찮은 결과를 얻을 수 있습니다. 하지만 엣지 케이스를 처리하고 모범 사례를 따르는, 철저하게 테스트된 전문 프롬프트를 제공하면 훨씬 더 나은 결과를 얻을 수 있습니다.

MCP 서버 작성자로서, 다양한 시나리오에서 일관되게 작동하는 프롬프트를 만들고, 테스트하고, 평가하는 데 시간을 투자할 수 있습니다. 사용자는 스스로 프롬프트 엔지니어링 전문가가 되지 않고도 이러한 전문성의 혜택을 누릴 수 있습니다.

사용자가 작성할 법한 짧은 프롬프트 — "report.pdf를 markdown으로 변환해줘" — 와 MCP 서버 작성자가 대신 제공할 수 있는 훨씬 더 길고 철저하게 평가된 프롬프트를 나란히 비교한 이미지

포맷 명령어 만들기

실용적인 예제를 구현해 보겠습니다: 문서를 markdown으로 변환하는 포맷 명령어입니다. 사용자는 /format doc_id를 입력하여 전문적으로 포맷된 markdown 버전의 문서를 받게 됩니다.

워크플로우는 다음과 같습니다:

  • 사용자가 /를 입력하여 사용 가능한 명령어를 확인합니다
  • format을 선택하고 문서 ID를 지정합니다
  • Claude가 사전 구축된 프롬프트를 사용하여 문서를 읽고 재포맷합니다
  • 결과는 적절한 헤더, 목록, 서식을 갖춘 깔끔한 markdown입니다

프롬프트 정의하기

프롬프트는 도구 및 리소스와 유사한 데코레이터 패턴을 사용합니다:

python
from mcp.server.fastmcp.prompts import base

@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:
<document_id>
{doc_id}
</document_id>

Add in headers, bullet points, tables, etc as necessary. Feel free to add in structure.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""

    return [
        base.UserMessage(prompt)
    ]

이 함수는 Claude에게 직접 전송되는 메시지 목록을 반환합니다. 더 복잡한 대화 흐름을 만들기 위해 여러 개의 사용자 및 어시스턴트 메시지를 포함할 수 있습니다.

프롬프트 테스트하기

프롬프트를 배포하기 전에 MCP Inspector를 사용하여 테스트하세요:

format 프롬프트가 선택된 MCP Inspector 화면으로, doc_id 인수와 Claude에게 전송될 보간된 메시지를 보여줌

Inspector는 변수가 프롬프트 템플릿에 어떻게 보간되는지를 포함하여 Claude에게 정확히 어떤 메시지가 전송될지 보여줍니다. 이를 통해 사용자가 의존하기 시작하기 전에 프롬프트가 올바른지 확인할 수 있습니다.

주요 이점

  • 일관성 - 사용자는 매번 신뢰할 수 있는 결과를 얻습니다
  • 전문성 - 도메인 지식을 프롬프트에 담을 수 있습니다
  • 재사용성 - 여러 클라이언트 애플리케이션이 동일한 프롬프트를 사용할 수 있습니다
  • 유지보수 - 한 곳에서 프롬프트를 업데이트하여 모든 클라이언트를 개선할 수 있습니다

프롬프트는 MCP 서버의 도메인에 특화되어 있을 때 가장 효과적입니다. 문서 관리 서버에는 문서 포맷, 요약, 분석을 위한 프롬프트가 있을 수 있습니다. 데이터 분석 서버에는 보고서나 시각화를 생성하기 위한 프롬프트가 있을 수 있습니다.

목표는 사용자가 처음부터 직접 지침을 작성하는 것보다 선호할 만큼 잘 만들어지고 테스트된 프롬프트를 제공하는 것입니다.