✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

Featured Templates

View More
AI Assistants
Talk with Claude 3
160 2068
AI Characters
Your Speaking Avatar
171 929
Data Analysis
Pharmacy Admin Panel
254 2272
Verified Icon
AI Assistants
Speech to Text
139 2196

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.