주의!
본 모듈은 설치과정 및 운영과정에서 서버 및 라이믹스에 대한 고도의 지식을 요구합니다.
사용시 전문 개발자 및 서버 전문가의 도움을 받는 것을 강력히 권장드립니다.
모듈 다운로드 : https://github.com/Waterticket/rx-module-mcpserver
설치 요구사항
- PHP 8.1 이상
- 라이믹스 2.1 이상 (최신버전 유지 필요)
- 리눅스 쉘 접근 가능, 관리자 권한 필요
AI계의 핫(했던) 주제인 MCP(Model Context Protocol)를 라이믹스에서 구현할 수 있도록 모듈을 제작하였습니다.
다만 MCP 스펙상 단순 HTTP 구성으로는 개발이 되지 않아서, 불가피하게 별도의 서버를 실행하도록 구성하였습니다.
위와같이 기본적인 설정이 가능하고요
다음과 같은 상당히 복잡한 설정이 필요합니다.
물론 따라할 수 있도록 매뉴얼은 작성해두었지만, 비전문가분들에게는 매우 불친절한 수준입니다.
이해가 되시는 분들이나 시간이 많으신 분들은 직접 시도하셔도 좋으나, 세팅이 가능한 전문가분들께 의뢰를 드리는 것을 상당히 권장합니다.
이 모듈은 개발자분들이 MCP에 기능을 추가할 수 있는 프레임워크같은 모듈입니다.
예를 들어 챗지피티같은 AI 툴에서 라이믹스의 게시글을 조회하고 싶다던가, 댓글을 작성하고 싶은 경우가 있죠.
이때 AI에게 이용할 수 있는 API를 열어주는 느낌이라고 보시면 됩니다.
이런 기능은 MCP 모듈에서 모두 구현하지 않고, document나 comment 모듈과 같이 각자 모듈에서 구현하면 됩니다.
아래는 이를 구현할 수 있는 예시 코드입니다.
Example 모듈이 존재한다고 가정했을때, 아래 파일을 생성하면 MCP 모듈에서 자동으로 불러옵니다.
파일명 : modules/example/mcp/RhymixDatabaseTool.php
<?php namespace Rhymix\Modules\Example\Mcp; use Rhymix\Modules\Mcpserver\Models\MCPServerInterface; use PhpMcp\Server\Attributes\McpTool; class RhymixDatabaseTool extends MCPServerInterface { /** * 게시물 목록을 조회합니다. */ #[McpTool(name: 'get_document_list')] public function getDocumentList(int $module_srl, int $page = 1): array { $args = new \stdClass(); $args->module_srl = $module_srl; $args->page = $page; $args->list_count = 10; $output = executeQuery('document.getDocumentList', $args); if (!$output->toBool()) { throw new \Exception('게시물 목록을 가져올 수 없습니다: ' . $output->getMessage()); } return [ 'total_count' => $output->total_count, 'documents' => $output->data ]; } }
자세한 구현스펙은 https://github.com/php-mcp/server 를 참고해주시면 됩니다.
추가로 모듈을 최초로 설치하시면 예시 mcp가 있습니다. (mcp/ExampleCalculatorElements.php)
단순히 숫자를 더하고, 제곱하는 예시가 있습니다.
테스트 해보시고, 필요없어지면 지우시면 됩니다.
모듈 이용/개발방법에 대해서는 Readme 파일에 자세히 적어두었으니 적재적소에 활용하시기를 바랍니다.
+) 현재 MCP의 인증(Authorization)에 대한 표준이 아직 확립되지 않은 상황입니다.
현재로서는 별도의 로그인 절차등을 통해 Authorization header를 넘기는 방식으로 구현하는게 가장 간단할것 같네요.
회원정보 조회나 글쓰기같이 민감한 처리는 반드시 인증절차를 거친 이후에 작동하도록 개발에 유의해주세요.

https://potatosoft.kr
댓글 2
WOW
mcp를 활용한 뭔가를 만들어보고 싶었는데, 공부해보겠습니다.
감사합니다. 👍🏻