MCP 커스텀 서버 도구와 Amazon-Q 통합 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
MCP 프로토콜을 활용한 커스텀 서버 개발자, Mermaid.js와 Amazon-Q를 통합하는 개발자
난이도: 중급 이상 (Node.js, TypeScript, Mermaid.js 기초 지식 필요)
핵심 요약
- MCP 서버 도구는 클라이언트가 자연어로 서버 기능을 호출할 수 있도록 설계된 프로토콜의 핵심 구성 요소
- Mermaid.js API를 통해 Markdown 기반의 흐름도를 PNG/SVG 등 이미지 파일로 변환하는
flow-chart
도구 구현 - Amazon-Q와의 연동을 위해
@modelcontextprotocol/sdk
라이브러리를 활용한 서버 요청 핸들러 정의
섹션별 세부 요약
1. MCP 서버 도구 개요
- MCP 프로토콜의
tools
기능은 서버가 클라이언트에게 실행 가능한 기능을 노출하는 방식 - 커스텀 서버에서 LLM 클라이언트가 자연어로 도구 호출 가능
- 예: Mermaid Markdown을 기반으로 이미지 생성
2. 서버 설정 및 도구 정의
@modelcontextprotocol/sdk
를 사용하여Server
인스턴스 생성ListToolsRequestSchema
핸들러 추가:
```typescript
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{ name: 'flow-chart', description: 'Mermaid 흐름도 생성' }]
};
});
```
CallToolRequestSchema
핸들러 정의: Mermaid.js CLI를 통해 입력 Markdown을 이미지로 변환
3. Mermaid.js API 활용
- Mermaid CLI의
run(input, output)
함수를 사용하여:
```javascript
await run(input, output);
```
- 입력 파일 경로:
./src/docs/flowchart.md
, 출력 경로:./src/assets/chart.png
4. Amazon-Q 통합 및 테스트
- 클라이언트에서
/tools
명령어로 도구 목록 확인 - 자연어 요청 예시:
could you generate image from ./src/docs/flowchart.md to ./src/assets/chart.png using flowchart tool
t
명령어로 도구 신뢰 확인 후 실행
결론
- MCP 서버 도구는 Mermaid.js와의 연동을 통해 자연어 기반의 동적 이미지 생성이 가능
- Amazon-Q와의 통합을 위해
ListToolsRequestSchema
및CallToolRequestSchema
핸들러 정의 필수 - 테스트 시
t
명령어로 도구 신뢰 설정 후 실행 확인 필요