-
헤르메스 나만의 MCP 서버 붙여보자프로그래밍/개발메모 2026. 11. 15. 05:34728x90반응형

헤르메스가 아예 내가 하는 일을 처리하게 만들려면 여러가지 설정과 말을 복잡하게 만들어서 시키느니
그냥 typescript 로 mcp 서버를 만드는게 맞는거 같다.
어떻게든 mcp 서버 안만들꺼라면
구글독스에 관련 내용이 잔뜩 올라가면 되긴한다"구글독스에서 xxxx 읽어와"
"처리해서 xxx 에 글 저장해" 말을 풀어 쓰면 해결할 수 있긴하다.이 경우 어떻게든 구글독스에 뭔가 입력해야하는 과정이 필요한데
typescript 쓸줄 안다면 데이터가 들어올때 자동으로 처리해버리면된다.
예를들어 웹페이지에 내게 요청하는 기능을 만들었다고 하면
db 에 저장하는 웹페이지를 구현했을 것이다.아직까지는 헤르메스가 이걸 알 수는 없다. db 를 읽어서 판단해야하는데 연결이 안되어있으니
그래서 mcp 서버에 함수를 만들어서 "내 도구 -> 대기중인 요청 가져오기" 같은걸 만들면
헤르메스에게 "내 도구 에서 대기중인요청을 가져와서 알려줘"
이러면 가져올 수 있게 된다.
보통은 "가져와서 처리한다음 답장을 써줘" 라고 필요한 도구들을 모두 생성하는 식이다.
요청 가져오기
답장 저장하기이런 식의 도구를 생성하면 되겠다.
mcp 서버는 typescript 로 만들면 되는데 문제는
mcp 서버의 이름과 설명이였다.
이름과 설명이 AI 가 인식하는 방법이기 때문에 자세히 써야하고 이름도 통일해야한다.
예를 들어 "내 도구" 를 "맥미니 서버" 라고 적으면 맥용 이상한 도구들을 사용하려다 실패하게 된다.
그래서 특이한 이름을 지어야만했다.이름이 여러군데 적혀있으니 찾아서 통일 시켜주자
먼저 서버 시작 부분
const server = new McpServer({name: "sid-mcp-server",version: "1.0.0",});버전과 이름이 있는데예제코드를 처음 받을때 "단어-단어-단어" 이런식으로 되어있어서 그대로 썼다.
이 그림은 기능함수 에대한 코드인데 장황하게 써야했다.
처음엔 "내도구의 문서 불러오기" 라고 장황하게 썼는데
내도구가 너무 흔한 이름이고 인식이 될떄까지 이름을 여러번 고쳐야해서나중엔 함수에 앱 이름은 언급하지 않았다.
없으면 앱이름이 바껴도 든드릴 필요가 없으니 편한다.함수에 대한 설명만 자세히 적자.
재미니에게 hermes 애이전트용 mcp 서버 코드 만들어 달라고 하면 만들어준다.
약간 수정해서 문서 읽기와 불러오기 만 만들었다.헤르메스 설정파일에도 써야됨
~/.hermes/config.yaml
을 열어서 mcp_server 를 검색한다.
mcp_servers 를 설명하는 문서가 중간쯤에 있는데
거기 밑에다 적당히 붙여 넣어줬다.mcp_servers:
sid_mcp_server:
command: "/Users/gunil/.bun/bin/bun"
args:
- "/Users/gunil/pto/pi4server/index_mac_mcp.ts"
enabled: truetypescript 고 bun 으로 실행시키 때문에 bun 명령어의 정확한 주소를 적어야한다. bash 가 없기 때문에 bun 이라고만 적으면 못찾는다.
bun 명령어 위치는 whereis bun 이라고 치면 알려준다.
mcp_servers 의 하부 키값으로 sid_mcp_server 이걸 적었는데
typescript 코드에 " sid-mcp-server" 동일하게 맞췄다.
여기서는 단어가 밑줄(_) 로 구분되는게 특징인거 같다hermes 콘솔로 들어가서 기능을 사용해본다.

도구이름이 인식이 잘 안되서 이름을 정확하게 써줬다.

툴을 찾는다.

호출에 성공했다.
이제는 더 복잡한 기능을 구현하면 된다.
예를 들어
홈페이지에 요청자 글을 가져와서
분문의 내용을 보고 처리해주고
답장을 저장해처리할 수 없다면 답장은 저장하지말고 나에게 매신저로 알람을 보내
이런식으로 말이다.
에이전트들이 있는 방에 메세지를 쓰도록한다면
쓴 메시지를 다른 에이전트가 처리하는 것도 가능할 것이다.
메시지들을 계속 연결하다보면 자동화가 되는 것이다.
반응형