샘플 사용 사례
|
|
Model Context Protocol(베타)은 현재 미리 보기 모드로 제공되며 기본적인 함수 검증만 제공합니다. 전체 자격 부여 및 확장된 기능은 향후 릴리즈에서 도입될 예정입니다.
|
사전 요구 사항
1. ThingWorx Composer에서 AppKey를 만듭니다. 적절한 만료 날짜를 설정합니다.
2. VS Code IDE 및 Claude Desktop을 사용하여 MCP 클라이언트를 설정합니다.
VS Code IDE에서 ThingWorx MCP 서버 설정
1. VS Code IDE를 엽니다.
2. Ctrl+Shift+P를 눌러 명령 팔레트를 엽니다.
3. MCP 서버 추가 명령을 선택합니다.
4. HTTP(HTTP 또는 서버 전송 이벤트)를 선택합니다.
5. ThingWorx Server URL>/mcp를 입력하고 Enter 키를 누릅니다.
6. 서버 이름(예: ThingWorxMCPServer)을 입력하고 Enter 키를 누릅니다.
7. 비즈니스 요구 사항에 따라 전역 또는 작업 영역를 선택한 다음 Enter 키를 누릅니다.
mcp.json 파일은 VS Code IDEO에서 url 및 type을 키로 사용하여 작성됩니다.
8. “type” 뒤에 "headers": {<APPLICATION_KEY>"} 코드를 추가합니다.
mcp.json 파일은 다음과 같은 형식이어야 합니다.
{
"servers": {
"ThingworxMCP": {
"url": "https://centr154-eastus-iot-01-twx.ptcdevops.com/Thingworx/mcp",
"type": "http",
"headers": {
"AppKey": "a57da3b7-a7f7-4b05-b48a-ac6ccdc21939"
}
}
},
"inputs": []
9. 그러면 VS Code IDE에서 MCP 클라이언트가 시작됩니다.
ThingWorx가 SSO(Single Sign-On)에 대해 구성된 경우 URL 형식인 <ThingWorx Server URL>rp>mcp를 사용합니다.
예제 시나리오
제조 플랜트에는 다음과 같은 주요 KPI를 모니터링해야 하는 여러 대의 기계가 있습니다.
• 상태
• 온도
• 습도
• 에너지 소비
• 일일 가동 시간
• 일일 가동 중지 시간
다음 엔티티를 만듭니다.
• Plant1.Machine.TT(ThingTemplate)
속성:
◦ Status(STRING | 지속 | 로깅됨)
◦ Temperature(NUMBER | 지속 | 로깅됨)
◦ Humidity(NUMBER | 지속 | 로깅됨)
◦ EnergyConsumption(NUMBER | 지속 | 로깅됨)
• Plant1.WeldingMachine1.Thing 사물
• Plant1.WeldingMachine2.Thing 사물
• Plant1.WeldingMachine3.Thing 사물
• Plant1.WeldingMachine4.Thing 사물
• Plant1.WeldingMachine.VS(가치 스트림)
모든 사물이 정기적으로 라이브 데이터를 스트리밍하는지 확인하십시오.
사용 사례 1
목적
플랜트 매니저 또는 기계 감독자는 공장 현장에서 가동 중인 기계의 현재 운영 상태를 즉시 파악해야 합니다. 목표는 주요 운영 메트릭 전반에 걸쳐 현재 성능을 신속하게 파악하고 비정상적인 상태를 식별하는 것입니다.
사용자 프롬프트
주요 KPI를 포함한 최신 기계 상태 가져오기
결과
에너지 소비, 온도, 총 가동 시간 등 최신 KPI 값을 포함한 기계 상태 요약입니다.
단계
1. ThingWorx에서 이름이 MCP.HelperThing인 HelperThing을 만듭니다.
2. 다음과 같은 GetCurrentMachineStatusKPI 서비스를 만듭니다.
◦ 입력: machineName(STRING)
◦ 출력: result(STRING)
3. MCPServices 리소스를 열고 서비스 탭으로 이동합니다.
4. AddTools 서비스를 검색하고 실행을 클릭합니다.
5. toolInfo 입력에서 +추가를 클릭합니다.
6. 다음을 입력합니다.
◦ 서비스 공급자 이름: MCP.HelperThing
◦ 서비스 공급자 유형: Thing
◦ 서비스 이름: GetCurrentMachineStatusKPI
◦ 설명: 이 서비스는 KPI와 함께 최신 상태를 반환합니다. machineName을 입력으로 받아 KPI 데이터를 반환합니다.
◦ 응용 프로그램 이름: ThingWorx
7. 설정을 클릭합니다.
8. 저장을 클릭합니다.
9. 실행을 클릭합니다.
◦ 도구가 성공적으로 추가되었습니다.
◦ GetAllTools를 실행하여 도구가 추가되었는지 확인합니다.
10. VS Code IDE에서 MCP 클라이언트가 실행 중인지 확인합니다. 화면에 도구 및 프롬프트 수가 표시되어야 합니다.
11. 오른쪽에 있는 채팅 창을 엽니다.
12. 프롬프트 주요 KPI를 포함한 최신 기계 상태 가져오기를 입력합니다.
출력에는 요청된 KPI 데이터가 표시되어야 합니다.
사용 사례 2
목적
플랜트 매니저 또는 기계 감독자는 기계의 작동 상태를 즉시 파악해야 하지만 효과적인 프롬프트를 어떻게 작성해야 할지 모를 수 있습니다. 이 사용 사례는 사용자가 프롬프트 엔지니어링 전문 지식 없이도 기계 정보에 빠르게 액세스할 수 있도록 도와줍니다.
결과
이 시스템은 사용자가 필요에 따라 사용, 사용자 정의, 구체화할 수 있는 바로 사용할 수 있는 샘플 프롬프트를 제공합니다. 이를 통해 중요한 기계 정보에 빠르고 일관되게 액세스할 수 있습니다.
단계
1. MCPServices 리소스를 열고 서비스 탭으로 이동합니다.
2. AddPrompts 서비스를 검색하고 실행을 클릭합니다.
3. promptInfo 입력에서 +추가를 클릭합니다.
4. 다음 세부 정보를 입력합니다.
◦ 이름: 기계의 현재 상태 가져오기
◦ 설명: 기계의 현재 상태를 가져오라는 프롬프트입니다. machineName을 입력으로 사용합니다.
◦ 콘텐츠:
{
"text": "Get current status of {machineName}",
"type": "text"
◦ 프롬프트 인수: 인수로machineName을 추가합니다.
5. 추가를 클릭합니다.
6. 저장을 클릭합니다.
7. 실행을 클릭합니다.
◦ 프롬프트가 성공적으로 추가되었습니다.
◦ GetAllPrompts를 실행하여 프롬프트가 추가되었는지 확인합니다.
8. VS Code IDE에서 MCP 클라이언트가 실행 중인지 확인합니다. 화면에 도구 및 프롬프트 수가 표시되어야 합니다.
9. 오른쪽에 있는 채팅 창을 엽니다.
10. 채팅 창에 /를 입력하고 이전 단계에서 추가된 프롬프트를 선택합니다.
11. 입력 값을 입력하고 Enter 키를 누릅니다. 출력에는 요청된 기계 상태가 표시되어야 합니다.
사용 사례 3
목적
플랜트 관리자 또는 기계 운영자는 관련 비즈니스 및 운영 데이터에 액세스할 수 있지만, 데이터 집합을 질의하거나, 필요한 정보를 추출하거나, 의미 있는 인사이트를 도출하는 방법을 모릅니다.
결과
사용 가능한 데이터가 수집되어 LLM이 컨텍스트 참조로 사용할 수 있는 리소스로 제공됩니다. LLM은 이 데이터를 구문 분석 및 해석한 후 사용자의 프롬프트에 부합하는 출력을 생성하여 사용자가 기본 데이터 구조나 질의 언어를 이해하지 않아도 명확하고 실행 가능한 인사이트를 제공합니다.
단계
1. MCPServices 리소스를 열고 서비스 탭으로 이동합니다.
2. AddResources 서비스를 검색하고 실행을 클릭합니다.
3. resourceInfo 입력에서 +추가를 클릭합니다.
4. 다음 세부 정보를 입력합니다.
◦ 이름: QueryMachineData
◦ URI: file:///C:/Thingworx/ThingworxRepository/DataRepository/all-available-machine-data.json
| URI 경로에서 참조되는 JSON 파일에는 가치 스트림에서 내보낸 기계 데이터가 포함되어 있습니다. |
◦ 설명: 기계 데이터를 가져오는 리소스입니다. 기계 이름을 입력으로 사용하고 인포테이블을 반환합니다.
◦ 서비스 공급자 이름: MCP.HelperThing
◦ 서비스 공급자 유형: Thing
5. 추가를 클릭합니다.
6. 저장을 클릭합니다.
7. 실행을 클릭합니다.
◦ 리소스가 성공적으로 추가되었습니다.
◦ GetAllResources를 실행하여 프롬프트가 추가되었는지 확인합니다.
8. VS Code IDE에서 MCP 클라이언트가 실행 중인지 확인합니다. 화면에 도구 및 프롬프트 수가 표시되어야 합니다.
9. Ctrl+Shift+P를 눌러 명령 팔레트를 엽니다.
10. MCP: 리소스 찾아보기 명령을 선택합니다.
11. 목록에서 QueryMachineData를 선택합니다. 채팅 창에서 all-available-machine-data.json이 LLM을 위한 리소스로 추가됩니다.
12. 첨부된 데이터에 대한 프롬프트를 입력합니다.