Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

모델 컨텍스트 프로토콜(MCP)을 명확하게 설명

모델 컨텍스트 프로토콜 (줄여서 MCP)는 AI를 외부 API, 라이브 데이터 등에 연결하기 위한 표준화된 프로토콜입니다. 2024년 후반에 Anthropic에 의해 소개되었습니다.

MCP 서버를 AI 에이전트가 현재 작업에 유용한 도구를 찾을 때 자율적으로 호출할 수 있는 도구(예:날씨 데이터 검색, 텍스트 번역, API 상호작용)로 생각하세요.

예를 들어 Upstash MCP를 사용하면 Cursor가 데이터베이스와 상호 작용할 수 있습니다. 이는 일반 Claude가 자체적으로는 결코 수행할 수 없는 작업입니다. MCP가 이러한 요청을 실제 데이터베이스 작업으로 변환하기 때문에 "내 Redis 데이터베이스에 XYZ를 넣어"와 같은 간단한 자연어 명령이 가능해졌습니다.

모델 컨텍스트 프로토콜(MCP) 예

MCP 출시 이후 사람들은 창의적인 사용 사례를 좌우로 내놓고 있습니다. 이것은 결코 커서와 코딩에만 국한되지 않습니다. 블렌더의 복잡한 애니메이션 장면을 직접 만드는 데 몇 시간이 걸리나요? Claude에게 MCP를 통해 Blender에 대한 액세스 권한을 부여하세요:

5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

나에게 Model Context Protocol은 AI에게 인터넷 액세스를 제공한 후의 다음 단계처럼 느껴집니다. 비유적인 의미에서 인터넷 접속이 AI에게 팔과 손을 주는 것과 유사하다면(실제로 작업을 수행하도록 하기 위해) MCP는 걸을 수 있는 다리를 주는 것과 같습니다.

그런데 MCP 서버 구축은 특정 회사나 사람에게만 국한되지 않습니다. 누구나 자신의 MCP를 중심으로 SaaS를 생성, 호스팅 또는 구축할 수 있습니다. - 방법을 살펴보겠습니다.

기본 MCP 서버 구축 방법

매우 간단한 MCP 예제를 살펴보겠습니다. Cursor가 우리 도구를 사용하여 텍스트를 번역할 수 있도록 번역 MCP를 구축한다고 가정해 보겠습니다. 필요한 것은 이 MCP를 제공할 서버와 원하는 작업을 수행하는 도구뿐입니다.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
 
const server = new McpServer({
 name: "Translation Service",
 version: "1.0.0",
});
 
server.tool(
 "translate",
 {
 text: z.string(),
 targetLanguage: z.enum(["spanish", "french", "german"]),
 },
 async ({ text, targetLanguage }) => {
 // 👉 Here, you'd make an API call to a translation service
 const translatedText = `[Translated: "${text}" to ${targetLanguage}]`;
 
 return {
 content: [{ type: "text", text: translatedText }],
 };
 },
);

위의 코드는 MCP(Model Context Protocol)의 기본 원칙을 보여줍니다. 우리는 Claude가 프로그래밍 방식으로 상호 작용할 수 있는 번역 서비스를 만들고 있습니다.

translate라는 도구를 정의합니다. 허용되는 매개변수를 지정하는 Zod 스키마:

  • text 문자열로
  • targetLanguage 문자열(스페인어, 프랑스어, 독일어로 제한)

AI 보조자가 이 도구를 호출하면 Zod(오픈 소스 스키마 검증 라이브러리)에서 시행하는 필수 매개변수를 전달하고 우리 함수는 이를 처리합니다. 프로덕션 환경에서는 자리 표시자 번역을 DeepL 또는 Google Translate와 같은 서비스에 대한 실제 API 호출로 대체합니다.

content: [{ type: "text", text: translatedText }],의 응답 형식 MCP 도구 사양을 따르고 Claude가 응답에 사용할 수 있는 구조를 반환합니다. 이러한 표준화된 접근 방식을 통해 모든 MCP 호환 AI는 맞춤 통합 작업 없이 도구를 사용할 수 있습니다.

모든 유형의 도구에 동일한 패턴이 적용됩니다. - 번역부터 데이터 분석, 이미지 생성, 스마트 홈 기기 제어까지.

MCP 서버 실행 및 커서 테스트

이제 MCP 서버를 시작하기 위해 transport을 사용하겠습니다. :

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
 
const server = new McpServer({
 name: "Translation Service",
 version: "1.0.0",
});
 
server.tool(/* ... */);
 
const transport = new StdioServerTransport();
server.connect(transport);

그렇게 우리는 자체 MCP 서버를 만들었습니다! 🎉

경로를 index.ts에 복사하여 새 MCP를 로컬에서 테스트할 수 있습니다. 파일을 커서에 연결합니다. 커서를 사용하면 MCP 서버를 추가하여 '에이전트' 모드를 개선할 수 있습니다.

  1. 커서에서 index.ts > Copy Path를 마우스 오른쪽 버튼으로 클릭하세요. . 나중에 필요합니다.
  2. 커서에 MCP 서버를 추가하려면 Cursor Settings > Features > MCP로 이동하세요. 그리고 + Add New MCP Server을 클릭하세요 .

    5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

  3. type에서 나가기 command로 .
  4. 서버 이름을 지정합니다(예:Translation). .
  5. 번역 도구를 실행하려면 npx tsx <path-to-file> 명령을 입력하세요. .

    5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

커서는 이제 MCP 서버와 사용 가능한 모든 도구를 인식합니다. 우리에게는 translate입니다. 우리가 만든 도구입니다.

5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

사용해 보려면 에이전트 채팅을 열어보세요. 이제 커서는 우리 도구에 대해 알고 있으며 자동으로 번역 작업에 사용할 것입니다.

참고:이 예에서 우리 도구는 실제로 번역하는 것이 아니라 번역을 조롱하는 것입니다. Claude가 실제 번역으로 응답합니다.

5분 안에 나만의 MCP(Model Context Protocol) 만들기 – 단계별 가이드

기타 MCP 사용 사례

이 기사를 작성하는 동안 저는 MCP 서버를 구축하기 위한 몇 가지 아이디어를 생각해 냈습니다. 이들 중 일부는 독립형 서비스로 수익을 창출하는 것이 합리적일 수도 있습니다:

  • MCP 코드 스크린샷 도구
  • 세대별 모범 사례, 취약점 및 버그를 확인하는 MCP 도구
  • MCP 테스트 생성기

당신도 아마 자신만의 아이디어를 생각해 낼 수 있을 것입니다. 결국 MCP는 LLM용 API를 구축하는 것과 같은 느낌을 줍니다.

Upstash MCP

우리는 자연어를 사용하여 Upstash 계정과 상호 작용할 수 있도록 자체 오픈 소스 Upstash MCP를 제공합니다. 예:

  • "us-east-1에 새 Redis 데이터베이스 생성"
  • "내 데이터베이스 나열"
  • "내 users-db에 "user:"로 시작하는 모든 키 표시"
  • '백업 만들기'
  • "지난 7일간의 처리량 급증을 보여주세요."

커서의 Add MCP Server에 다음 명령을 붙여넣기만 하면 됩니다. :

npx -y @upstash/mcp-server run <UPSTASH_EMAIL> <UPSTASH_API_KEY>

설정 시간은 60초 미만입니다. 여기에서 자세한 내용을 읽어보세요:https://github.com/upstash/mcp-server

읽어주셔서 감사합니다! 피드백이 있거나 Upstash의 게스트 작성자가 되고 싶다면 josh@upstash.com로 연락주세요. 🙌