요즘 jetbrain MCP server
+ Claude
으로 행복코딩을 하다가
claude가 간간히 락에 걸렸기 때문에 애플리케이션이 아닌 API로도 연결해보고 싶다는 니즈를 느낌
그래서 이전에 사용했던 OpenWebUI을 로컬에서 실행한 뒤 MCP 서버를 파이프라인으로 등록해서 써봐야겠다는 생각에 검색을 해봄
결과 굉장한 기능을 알게됨 이름하야 MCPO
기본적으로 알고있는 MCP의 개념은 AI가 로컬에서 입출력 방식으로 애플리케이션을 작동시키는 것
MCP를 RESTful OpenAPI를 통해 접근하게 만든 프록시도구로
HTTP 통신으로 도구를 쉽게 통합시키는 기법
브라우저 내에서 클라이언트 단에서 localhost로 요청을 보내 local로 호출
보안상의 이유등으로 계약된 혹은 폐쇄형 LLM을 사용하는 경우 유용하게 사용이 가능해 보임
설정을 따로하지 않고 사용한다는 전재로 보면
전,후 처리가 타 프로덕트보다 확실히 떨어진다.
예시는 InteliJ MCP
+ GPT4.1
조합으로 진행
OpenWebUI v0.6.0 버전부터 지원
OpenWebUI docs
docker로 간단하게 실행이 가능하다.
OPENAI_API_KEY를 발급 받아서 첨부하기
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key --name open-webui ghcr.io/open-webui/open-webui:main
실행 후 접속해서 관리자 계정 생성
IntelliJ IDEA 2023.2 버전부터 지원
마켓에서 MCP Server 플러그인 설치
다음 MCP 설정을 뒤에 해줘야함
/youRworkspace/config.json
생성
{
"mcpServers": {
"jetbrains": {
"command": "npx",
"args": ["-y", "@jetbrains/mcp-proxy"]
}
}
}
MCPO Docs
docker compose로 여러가지 MCP들을 한번에 관리하려고 했으나
InteliJ의 port가 로컬에서만 접근이 가능하기 때문에 docker로 실행하는 것을 포기함
uvx mcpo --port 9000 -- npx @jetbrains/mcp-proxy -y
# 성공 응답
Starting MCP OpenAPI Proxy on 0.0.0.0:9000 with command: npx @jetbrains/mcp-proxy -y
INFO: Started server process [21405]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:9000 (Press CTRL+C to quit)
localhost:8000/openapi.json
요청시 openWebUI에서 사용할 툴 정보를 확인 가능
uvx mcpo --port 9000 --config /workspace/config.json
# 성공 응답
Starting MCP OpenAPI Proxy with config file: /workspace/config.json
INFO: Started server process [21478]
INFO: Waiting for application startup.
Perplexity Ask MCP Server running on stdio
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:9000 (Press CTRL+C to quit)
localhost:9000/jetbrains/openapi.json
요청시 openWebUI에서 사용할 툴 정보를 확인 가능
여러개의 mcp 사용시 다음 주소에서 연결된 mcp 정보 확인 가능
URL - http://localhost:9000
URL - http://localhost:9000/jetbrains
chain of thought 처럼 연속되는 논리를 도와주는 옵션
이 옵션을 기본값
으로 사용할 경우 tool을 한번만
사용함
오픈소스 짱!
안녕하세요~ 좋은글 감사합니다.
혹시 MCP가 Model Context Protocol이 아닌가요?
본문에 Machine Conversation Protocol이라고 적어주셔서, 달리 부르기도 하는지, 제가 잘못 알고있는지 여쭤봅니다 ㅎㅎㅎ