IBM ai-services의 신규 기능 MCP 서버 설정하기
요약
IBM ai-services v0.4.0부터 모든 AI 서비스가 MCP(Model Context Protocol) 서버로 공개되어, 외부 에이전트나 코딩 어시스턴트와 도구 연결을 용이하게 했습니다. 본 기사는 IBM의 AI 코딩 어시스턴트 'Bob'을 활용하여 RAG 기반 Q&A 서비스를 호출하는 방법을 안내합니다.
핵심 포인트
- MCP는 AI 에이전트가 서비스(도구)를 호출하기 위한 프로토콜입니다.
- ai-services 카탈로그와 Worker 서버가 분리되어 운영됩니다.
- 클라이언트 측에서 Caddy 발행 루트 인증서를 신뢰하도록 설정해야 합니다.
- macOS, Linux, Windows 등 OS별로 인증서 설치 절차가 제공됩니다.
IBM ai-services (IBM Power AI Launchpad) v0.4.0부터, 각 AI 서비스가 MCP (Model Context Protocol) 서버로 공개되었습니다.
본 기사에서는 ai-services가 제공하는 MCP 엔드포인트에 IBM의 AI 코딩 어시스턴트인 'Bob'으로부터 연결하여 RAG 기반 Q&A 등의 서비스를 호출해 보겠습니다.
MCP는 AI 에이전트나 코딩 어시스턴트와 도구를 연결하기 위한 프로토콜입니다. 대응하는 클라이언트라면, ai-services의 서비스를 그대로 '도구(tool)'로 호출할 수 있습니다.
ai-services의 설치 및 초기 설정은 다음 기사를 참조해 주십시오.
MCP 연결 방법은 아래 공식 문서를 참고했습니다.
서버: IBM Power (IBM Spyre Accelerator 탑재)
ai-services 버전: v0.4.0 이상 (MCP 서버 기능 포함)
클라이언트: Bob (IBM AI 코딩 어시스턴트)
클라이언트 OS: macOS
ai-services의 카탈로그는 Caddy를 통해 HTTPS 엔드포인트를 제공합니다.
엔드포인트 URL은 <service>.<host>.nip.io 형식의 도메인으로 제공되며 (nip.io는 IP 주소를 DNS 이름으로 변환하는 서비스입니다), Caddy가 자체 서명된 루트 인증서를 발행합니다.
클라이언트 측에서 이 인증서를 신뢰하도록 설정해야 합니다.
여기서 말하는 'Worker'란, ai-services가 AI 서비스를 위한 컨테이너를 실행하는 LPAR(Logical Partition)을 의미합니다.
ai-services v0.4.0 이상에서는 카탈로그(관리 서버)와 Worker(실행 서버)가 분리되어 있으며, 컨테이너나 MCP 엔드포인트는 Worker 위에 올라갑니다.
TLS 인증서도 Worker 측의 Caddy가 발행하므로, 여기서는 Worker 서버로부터 인증서를 가져옵니다.
ssh root@<worker-host> "cat /var/lib/containers/storage/volumes/caddy-catalog/_data/caddy/pki/authorities/local/root.crt" > ~/caddy-root.crt
획득한 인증서의 내용을 확인합니다.
openssl x509 -noout -subject -issuer -dates -in ~/caddy-root.crt
subject=CN=Caddy Local Authority - 2026 ECC Root
issuer=CN=Caddy Local Authority - 2026 ECC Root
notBefore=Oct 2 00:16:56 2026 GMT
...
OS별 절차는 다음과 같습니다.
공식 문서 참조 (https://www.ibm.com/docs/ja/aiservices/2026.09.0?topic=assistant-connecting-mcp-server)
macOS
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain ~/spyre/caddy-root.crt
Linux (Red Hat 계열)
sudo cp ~/caddy-root.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
Linux (Debian 계열)
sudo cp ~/caddy-root.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Windows
certmgr.msc
(인증서 관리자) 또는 PowerShell을 사용하여 '신뢰할 수 있는 루트 인증 기관' 스토어에 가져옵니다.
Node.js 기반의 도구를 사용할 경우
Node.js는 OS의 신뢰 스토어와 독립된 인증서 스토어를 가지고 있습니다. 다음 환경 변수를 설정한 후 애플리케이션을 재시작하십시오.
export NODE_EXTRA_CA_CERTS=~/spyre/caddy-root.crt
MCP 엔드포인트에 연결하려면 Bearer 토큰을 이용한 인증이 필요합니다.
카탈로그의 API URL은 ai-services catalog info --runtime podman
명령어로 확인할 수 있습니다.
환경 변수 TOKEN에 그대로 입력하는 형태입니다.
카탈로그 API의 URL, 사용자 이름, 비밀번호는 사용 환경에 맞게 변경하십시오.
TOKEN=$(curl -s -X POST \
https://<catalog-api-host>/api/v1/auth/login \
-H "Content-Type: application/json" \
...
획득한 토큰에는 유효 기간이 있으므로, 만료된 경우에는 다시 이 명령어를 실행하여 토큰을 갱신하십시오.
curl -sL https://<catalog-api-host>/api/v1/applications/ \
-H "Authorization: Bearer $TOKEN" | python3 -c "
import sys,json
...
아래와 같이 실행 중인 애플리케이션 ID가 표시됩니다. (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 부분)
Digital assistant xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Running
목록에서 확인한 애플리케이션 ID를 사용하여 각 서비스의 MCP 엔드포인트를 획득합니다.
curl -sL https://<catalog-api-host>/api/v1/applications/<application-id>/ \
-H "Authorization: Bearer $TOKEN" | python3 -c "
import sys,json
...
Question and answer -> https://chat-bot-mcp-xxxxxxxxxx.<host>.nip.io
Digitize documents -> https://digitize-mcp-xxxxxxxxxx.<host>.nip.io
Find similar items -> https://similarity-mcp-xxxxxxxxxx.<host>.nip.io
세 가지 서비스가 각각 독립된 MCP 엔드포인트로 공개됩니다.
MCP 지원 클라이언트의 설정 파일에는 다음과 같이 기재합니다.
{
"mcpServers": {
"<service-name-1>": {
...
Bob으로 연결을 시도해 본 결과, 위의 기본 포맷으로는 작동하지 않았습니다.
이는 Bob의 MCP 클라이언트가 전송(transport) 종류를 명시적으로 요구하기 때문에, `
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기