Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

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

MCP 클라이언트가 두 개의 MCP 서버에 연결되는 다이어그램, 각 서버는 외부 서비스 앞에서 Tools, Resources, Prompts를 노출하며 Prompts가 강조 표시됨

프롬프트를 사용하는 이유는 무엇일까요?

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

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

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

포맷 명령 만들기

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

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

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

프롬프트 정의하기

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

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

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