esa MCP Server
공식esa.io를 위한 공식 Model Context Protocol (MCP) 서버 - STDIO 전송 버전입니다.
문서
esa MCP Server
日本語 | English
esa.io를 위한 공식 Model Context Protocol (MCP) 서버 - STDIO 전송 버전입니다.
개요
이 MCP 서버는 AI 어시스턴트와 협업 문서 플랫폼 esa.io 간의 원활한 통합을 제공합니다. AI 어시스턴트가 Model Context Protocol을 통해 직접 esa 문서를 읽고, 생성하고, 업데이트하고, 관리할 수 있도록 해줍니다.
사용 가능한 도구
팀 관리
esa_get_teams- 사용자가 접근 가능한 esa 팀 목록 가져오기esa_get_team_stats- 팀 통계 가져오기 (멤버, 게시글, 댓글, 별표, 구독, 활성 사용자)esa_get_team_tags- 팀 게시글에 사용된 모든 태그와 개수 가져오기esa_get_team_members- 역할 및 프로필 정보가 포함된 팀 멤버 목록 가져오기
게시글 관리
esa_search_posts- esa.io에서 게시글 검색하기esa_get_post- 게시글 번호로 특정 게시글 가져오기 (본문의 문자 수와 줄 수를 포함한backlinks_count및body_md_stats포함)esa_get_post_backlinks- 특정 게시글을 참조하는 게시글을 페이지네이션과 함께 나열하기esa_create_post- 태그, 카테고리, WIP 상태를 포함한 새 게시글 생성하기esa_update_post- 기존 게시글 업데이트하기 (제목, 내용, 태그, 카테고리, WIP 상태)esa_append_post- 게시글 본문 끝에 내용 추가하기 (현재 본문을 가져올 필요 없음; 새 리비전으로 저장됨)esa_prepend_post- 게시글 본문 시작 부분에 내용 추가하기 (현재 본문을 가져올 필요 없음; 새 리비전으로 저장됨)
게시글 작업
esa_archive_post- 게시글을 Archived/ 카테고리로 이동하여 보관하기esa_ship_post- 게시글 발행하기 (wip을 false로 설정하여 완료로 표시)esa_duplicate_post- 게시글 복제하기 (동일한 제목과 본문으로 새 WIP 게시글 생성; 팀 간 복제도 지원됨)
댓글 관리
esa_get_comment- ID로 특정 댓글 가져오기esa_create_comment- 게시글에 새 댓글 작성하기esa_update_comment- 기존 댓글 업데이트하기esa_delete_comment- 댓글 삭제하기esa_get_post_comments- 특정 게시글의 댓글을 페이지네이션과 함께 가져오기esa_get_team_comments- 팀 댓글을 페이지네이션과 함께 가져오기
카테고리 관리
esa_get_categories- 특정 경로의 카테고리 및 하위 카테고리 가져오기esa_get_top_categories- 팀의 모든 최상위 카테고리 가져오기esa_get_all_category_paths- 팀의 모든 카테고리 경로 가져오기 (게시글 수 포함, 필터링 지원)- 카테고리 구조 파악, 조직 계획, 정리에 완벽함
- 필터 예시: 개발 관련은
prefix: "dev", API 관련 카테고리는match: "api"
첨부 파일
esa_get_attachment- esa 게시글 및 댓글에서 첨부 파일 가져오기- 지원되는 이미지(JPEG, PNG, GIF, WebP) 중 30MB 미만인 경우 base64 인코딩된 데이터 반환
- 다른 파일 유형, 더 큰 이미지, 또는 forceSignedUrl이 지정된 경우 서명된 URL(5분간 유효) 반환
도움말 및 문서
esa_get_search_options_help- esa 검색 구문 문서 가져오기esa_get_markdown_syntax_help- esa 마크다운 구문 문서 가져오기esa_search_help- 기능 및 용어에 대한 esa 문서 검색하기
사용 가능한 리소스
esa_recent_posts- esa 팀에서 최근 업데이트된 게시글 가져오기- 템플릿:
esa://teams/{teamName}/posts/recent - 반환: 최근 업데이트된 게시글의 JSON 목록
- 템플릿:
사용 가능한 프롬프트
esa_summarize_post- esa 게시글 내용 요약하기- 입력: 팀 이름과 게시글 번호
- 출력: 게시글 내용의 구조화된 요약
MCP 클라이언트 설정
MCP 클라이언트 설정 파일에 추가하세요:
필수 환경 변수
- ESA_ACCESS_TOKEN: 액세스 토큰
- 필수 스코프:
read write또는admin:comment read:post write:post read:category read:tag read:attachment read:team read:member - PAT v2 사용을 권장합니다.
- 필수 스코프:
- LANG: UI 언어
Claude Desktop 예시
claude_desktop_config.json에 추가하세요:
옵션 1: Docker (권장)
{
"mcpServers": {
"esa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ESA_ACCESS_TOKEN",
"-e",
"LANG",
"ghcr.io/esaio/esa-mcp-server"
],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
옵션 2: npx
{
"mcpServers": {
"esa": {
"command": "/Users/your-username/.nodenv/shims/npx",
"args": ["@esaio/esa-mcp-server"],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
참고:
/path/to/your/node을which node명령의 출력으로 교체하세요.
레지스트리
이 패키지는 패키지 루트에 registry.json를 포함하여 등록된 도구, 리소스, 프롬프트를 노출합니다. 서버를 실행하지 않고 프로그래밍 방식으로 사용할 수 있습니다:
import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json" };
스키마:
{
"tools": [{ "name": "esa_get_teams" }, "..."],
"resources": [
{ "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" }
],
"prompts": [{ "name": "esa_summarize_post" }]
}
이 파일은 npm run build:registry에 의해 재생성되며, CI 검사를 통해 등록된 세트와 동기화 상태를 유지하도록 강제합니다.
링크
- esa.io - 협업 문서 플랫폼
- Model Context Protocol - MCP에 대해 자세히 알아보기
- API 문서 - esa.io API 레퍼런스
- Claude Desktop - MCP를 지원하는 AI 어시스턴트
지원
- 📧 지원: 피드백 폼
- 🐛 이슈: GitHub Issues
- 📖 도움말: esa 문서
esa 팀이 ❤️를 담아 제작했습니다