minhoyooDEV_confluence-mcp-server

minhoyooDEV_confluence-mcp-server

3.1

If you are the rightful owner of minhoyooDEV_confluence-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Confluence MCP Server is a Model Context Protocol server system designed to access the Confluence API using a Personal Access Token, acting as an intermediary server within a VPN area.

Confluence MCP Server

Confluence API에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ Model Context Protocol μ„œλ²„ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. Personal Access Token을 μ‚¬μš©ν•˜μ—¬ Confluence와 ν†΅μ‹ ν•©λ‹ˆλ‹€. VPN μ˜μ—­ λ‚΄μ—μ„œ Confluence API에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μ€‘κ°œ μ„œλ²„ 역할을 ν•©λ‹ˆλ‹€.

μ‹œμŠ€ν…œ ꡬ성

이 ν”„λ‘œμ νŠΈλŠ” 두 κ°€μ§€ μ„œλ²„λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€:

  1. MCP μ„œλ²„ (server.ts): Confluence API와 ν†΅μ‹ ν•˜μ—¬ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” μ£Ό μ„œλ²„μž…λ‹ˆλ‹€.

    • κΈ°λ³Έ 포트: 3000
    • RESTful API 제곡
    • MCP ν”„λ‘œν† μ½œ 처리
  2. ν”„λ‘μ‹œ μ„œλ²„ (proxyServer.ts): MCP ν΄λΌμ΄μ–ΈνŠΈμ™€ MCP μ„œλ²„ μ‚¬μ΄μ˜ ν”„λ‘μ‹œ 역할을 ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έ 포트: 3001
    • MCP ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° μš”μ²­μ„ λ°›μ•„ μ£Ό μ„œλ²„λ‘œ 전달

이 κ΅¬μ‘°λŠ” VPN μ˜μ—­ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. MCP μ„œλ²„λŠ” VPN λ‚΄λΆ€μ—μ„œ μ‹€ν–‰λ˜μ–΄ Confluence API에 μ ‘κ·Όν•˜κ³ , ν”„λ‘μ‹œ μ„œλ²„λŠ” μ™ΈλΆ€μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•œ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€.

κΈ°λŠ₯

  • λͺ¨λ“  Confluence 슀페이슀 λͺ©λ‘ 쑰회
  • νŠΉμ • 슀페이슀 λ‚΄μ˜ λͺ¨λ“  νŽ˜μ΄μ§€ 쑰회
  • νŽ˜μ΄μ§€ ID둜 νŠΉμ • νŽ˜μ΄μ§€ 정보 쑰회
  • μƒˆ νŽ˜μ΄μ§€ 생성
  • κΈ°μ‘΄ νŽ˜μ΄μ§€ μ—…λ°μ΄νŠΈ

μ„€μΉ˜ 및 μ„€μ •

ν•„μˆ˜ 쑰건

  • Node.js 16.x 이상
  • Bun 1.0.0 이상

μ„€μΉ˜

# μ €μž₯μ†Œ 클둠
git clone https://github.com/yourusername/confluence-mcp-server.git
cd confluence-mcp-server

# μ˜μ‘΄μ„± μ„€μΉ˜
bun install

ν™˜κ²½ λ³€μˆ˜ μ„€μ •

.env νŒŒμΌμ„ ν”„λ‘œμ νŠΈ λ£¨νŠΈμ— μƒμ„±ν•˜κ³  λ‹€μŒ λ‚΄μš©μ„ μΆ”κ°€ν•©λ‹ˆλ‹€:

PORT=3000
PROXY_PORT=3001
MCP_SERVER_URL=http://localhost:3000
CONFLUENCE_BASE_URL=https://wiki.musinsa.com
PERSONAL_ACCESS_TOKEN=your_personal_access_token
NODE_ENV=development

μ‹€ν–‰

개발 ν™˜κ²½

# MCP μ„œλ²„ μ‹€ν–‰ (Confluence API와 톡신)
bun run dev

# ν”„λ‘μ‹œ μ„œλ²„ μ‹€ν–‰ (MCP ν΄λΌμ΄μ–ΈνŠΈμ™€ 톡신)
bun run dev:proxy

# MCP μ„œλ²„ Stdio λͺ¨λ“œ μ‹€ν–‰ (선택 사항)
bun run dev:stdio

ν”„λ‘œλ•μ…˜ ν™˜κ²½

# λΉŒλ“œ
bun run build

# MCP μ„œλ²„ μ‹€ν–‰
bun run serve

# ν”„λ‘μ‹œ μ„œλ²„ μ‹€ν–‰
bun run serve:proxy

μ—”λ“œν¬μΈνŠΈ

MCP μ„œλ²„ μ—”λ“œν¬μΈνŠΈ (κΈ°λ³Έ 포트: 3000)

  • POST /mcp - MCP μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 메인 μ—”λ“œν¬μΈνŠΈ
  • GET /mcp/tools - μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ λͺ©λ‘ 쑰회
  • GET /api/spaces - λͺ¨λ“  슀페이슀 λͺ©λ‘ 쑰회
  • GET /api/spaces/:spaceKey/pages - νŠΉμ • 슀페이슀의 νŽ˜μ΄μ§€ λͺ©λ‘ 쑰회
  • GET /api/pages/:pageId - νŠΉμ • νŽ˜μ΄μ§€ 정보 쑰회
  • POST /api/pages - μƒˆ νŽ˜μ΄μ§€ 생성
  • PUT /api/pages/:pageId - νŽ˜μ΄μ§€ μ—…λ°μ΄νŠΈ
  • GET /health - μ„œλ²„ μƒνƒœ 확인

ν”„λ‘μ‹œ μ„œλ²„ μ—”λ“œν¬μΈνŠΈ (κΈ°λ³Έ 포트: 3001)

  • POST /mcp - MCP ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ λ°›μ•„ MCP μ„œλ²„λ‘œ 전달
  • GET /tools - μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ λͺ©λ‘ 쑰회
  • GET /health - ν”„λ‘μ‹œ μ„œλ²„ μƒνƒœ 확인

문제 ν•΄κ²°

VPN μ˜μ—­ 문제 ν•΄κ²°

이 ν”„λ‘œμ νŠΈλŠ” VPN μ˜μ—­ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 두 μ„œλ²„λ‘œ λΆ„λ¦¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€:

  1. MCP μ„œλ²„λŠ” VPN λ‚΄λΆ€μ—μ„œ μ‹€ν–‰ν•˜μ—¬ Confluence API에 직접 μ ‘κ·Όν•©λ‹ˆλ‹€.
  2. ν”„λ‘μ‹œ μ„œλ²„λŠ” μ™ΈλΆ€μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•œ ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•˜μ—¬ MCP ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ λ°›μŠ΅λ‹ˆλ‹€.

이 ꡬ성은 MCP ν΄λΌμ΄μ–ΈνŠΈκ°€ 직접 Confluence API에 μ ‘κ·Όν•  수 μ—†λŠ” μƒν™©μ—μ„œ μ€‘κ°œ 역할을 ν•©λ‹ˆλ‹€.

"Error fetching spaces: Unable to connect" 였λ₯˜

이 였λ₯˜λŠ” λ‹€μŒκ³Ό 같은 문제둜 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. HTTPS μΈμ¦μ„œ 문제: 개발 ν™˜κ²½μ—μ„œλŠ” SSL μΈμ¦μ„œ 검증이 λΉ„ν™œμ„±ν™”λ˜μ–΄ μžˆμ§€λ§Œ, ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλŠ” μ˜¬λ°”λ₯Έ μΈμ¦μ„œ 섀정이 ν•„μš”ν•©λ‹ˆλ‹€.

  2. λ„€νŠΈμ›Œν¬ μ—°κ²° 문제: λ°©ν™”λ²½μ΄λ‚˜ ν”„λ‘μ‹œ μ„€μ •μœΌλ‘œ 인해 Confluence μ„œλ²„μ— μ ‘κ·Όν•  수 μ—†λŠ” κ²½μš°μž…λ‹ˆλ‹€.

  3. Personal Access Token 문제: 토큰이 λ§Œλ£Œλ˜μ—ˆκ±°λ‚˜ 잘λͺ»λœ ν˜•μ‹μΌ 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법

  1. .env 파일의 CONFLUENCE_BASE_URL이 μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•©λ‹ˆλ‹€.
  2. Personal Access Token이 μœ νš¨ν•œμ§€ ν™•μΈν•©λ‹ˆλ‹€.
  3. λ°©ν™”λ²½ 섀정을 ν™•μΈν•˜μ—¬ Confluence μ„œλ²„μ— μ ‘κ·Όν•  수 μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
  4. λ„€νŠΈμ›Œν¬ κ΄€λ¦¬μžμ—κ²Œ λ¬Έμ˜ν•˜μ—¬ μ ‘κ·Ό κΆŒν•œμ„ ν™•μΈν•©λ‹ˆλ‹€.
  5. MCP μ„œλ²„μ™€ ν”„λ‘μ‹œ μ„œλ²„ κ°„μ˜ 연결이 μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ—ˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€ (MCP_SERVER_URL μ„€μ •).

ν…ŒμŠ€νŠΈ

# λͺ¨λ“  ν…ŒμŠ€νŠΈ μ‹€ν–‰
bun test

# νŠΉμ • ν…ŒμŠ€νŠΈ μ‹€ν–‰
bun test src/test/getSpaces.test.ts

배포 ꡬ성

ꢌμž₯ 배포 ꡬ성

ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλŠ” λ‹€μŒκ³Ό 같은 배포 ꡬ성을 ꢌμž₯ν•©λ‹ˆλ‹€:

  1. MCP μ„œλ²„: VPN λ‚΄λΆ€ λ˜λŠ” Confluence μ„œλ²„μ— μ ‘κ·Όν•  수 μžˆλŠ” λ„€νŠΈμ›Œν¬μ— 배포
  2. ν”„λ‘μ‹œ μ„œλ²„: MCP ν΄λΌμ΄μ–ΈνŠΈκ°€ μ ‘κ·Όν•  수 μžˆλŠ” λ„€νŠΈμ›Œν¬μ— 배포

λ³΄μ•ˆ 고렀사항

  • ν”„λ‘μ‹œ μ„œλ²„μ™€ MCP μ„œλ²„ κ°„μ˜ 톡신은 HTTPSλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•”ν˜Έν™”ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.
  • Personal Access Token은 μ•ˆμ „ν•˜κ²Œ κ΄€λ¦¬ν•˜κ³ , ν•„μš”μ— 따라 μ •κΈ°μ μœΌλ‘œ κ°±μ‹ ν•˜μ„Έμš”.
  • ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλŠ” μ μ ˆν•œ 인증 λ©”μ»€λ‹ˆμ¦˜μ„ μΆ”κ°€ν•˜μ—¬ ν”„λ‘μ‹œ μ„œλ²„μ— λŒ€ν•œ 무단 접근을 λ°©μ§€ν•˜μ„Έμš”.

λΌμ΄μ„ΌμŠ€

MIT