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

Learn more

HWP-MCP (ν•œκΈ€ Model Context Protocol)

GitHub

HWP-MCPλŠ” ν•œκΈ€ μ›Œλ“œ ν”„λ‘œμ„Έμ„œ(HWP)λ₯Ό Claude와 같은 AI λͺ¨λΈμ΄ μ œμ–΄ν•  수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” Model Context Protocol(MCP) μ„œλ²„μž…λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈλŠ” ν•œκΈ€ λ¬Έμ„œλ₯Ό μžλ™μœΌλ‘œ 생성, νŽΈμ§‘, μ‘°μž‘ν•˜λŠ” κΈ°λŠ₯을 AIμ—κ²Œ μ œκ³΅ν•©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • λ¬Έμ„œ 생성 및 관리: μƒˆ λ¬Έμ„œ 생성, μ—΄κΈ°, μ €μž₯ κΈ°λŠ₯
  • ν…μŠ€νŠΈ νŽΈμ§‘: ν…μŠ€νŠΈ μ‚½μž…, κΈ€κΌ΄ μ„€μ •, 단락 μΆ”κ°€
  • ν…Œμ΄λΈ” μž‘μ—…: ν…Œμ΄λΈ” 생성, 데이터 μ±„μš°κΈ°, μ…€ λ‚΄μš© μ„€μ •
  • μ™„μ„±λœ λ¬Έμ„œ 생성: ν…œν”Œλ¦Ώ 기반 λ³΄κ³ μ„œ 및 νŽΈμ§€ μžλ™ 생성
  • 일괄 μž‘μ—…: μ—¬λŸ¬ μž‘μ—…μ„ ν•œ λ²ˆμ— μ‹€ν–‰ν•˜λŠ” 배치 κΈ°λŠ₯

μ‹œμŠ€ν…œ μš”κ΅¬μ‚¬ν•­

  • Windows 운영체제
  • ν•œκΈ€(HWP) ν”„λ‘œκ·Έλž¨ μ„€μΉ˜
  • Python 3.7 이상
  • ν•„μˆ˜ Python νŒ¨ν‚€μ§€ (requirements.txt μ°Έμ‘°)

μ„€μΉ˜ 방법

  1. μ €μž₯μ†Œ 클둠:
git clone https://github.com/jkf87/hwp-mcp.git
cd hwp-mcp
  1. μ˜μ‘΄μ„± μ„€μΉ˜:
pip install -r requirements.txt
  1. (선택사항) MCP νŒ¨ν‚€μ§€ μ„€μΉ˜:
pip install mcp

μ‚¬μš© 방법

Claude와 ν•¨κ»˜ μ‚¬μš©ν•˜κΈ°

Claude λ°μŠ€ν¬ν†± μ„€μ • νŒŒμΌμ— λ‹€μŒκ³Ό 같이 HWP-MCP μ„œλ²„λ₯Ό λ“±λ‘ν•˜μ„Έμš”:

{
  "mcpServers": {
    "hwp": {
      "command": "python",
      "args": ["경둜/hwp-mcp/hwp_mcp_stdio_server.py"]
    }
  }
}

μ£Όμš” κΈ°λŠ₯ μ˜ˆμ‹œ

μƒˆ λ¬Έμ„œ 생성

hwp_create()

ν…μŠ€νŠΈ μ‚½μž…

hwp_insert_text("μ›ν•˜λŠ” ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”.")

ν…Œμ΄λΈ” 생성 및 데이터 μž…λ ₯

# ν…Œμ΄λΈ” 생성
hwp_insert_table(rows=5, cols=2)

# ν…Œμ΄λΈ”μ— 데이터 μ±„μš°κΈ°
hwp_fill_table_with_data([
    ["μ›”", "νŒλ§€λŸ‰"], 
    ["1μ›”", "120"], 
    ["2μ›”", "150"], 
    ["3μ›”", "180"], 
    ["4μ›”", "200"]
], has_header=True)

# ν‘œμ— μ—°μ†λœ 숫자 μ±„μš°κΈ°
hwp_fill_column_numbers(start=1, end=10, column=1, from_first_cell=True)

λ¬Έμ„œ μ €μž₯

hwp_save("경둜/λ¬Έμ„œλͺ….hwp")

일괄 μž‘μ—… μ˜ˆμ‹œ

hwp_batch_operations([
    {"operation": "hwp_create"},
    {"operation": "hwp_insert_text", "params": {"text": "제λͺ©"}},
    {"operation": "hwp_set_font", "params": {"size": 20, "bold": True}},
    {"operation": "hwp_save", "params": {"path": "경둜/λ¬Έμ„œλͺ….hwp"}}
])

ν”„λ‘œμ νŠΈ ꡬ쑰

hwp-mcp/
β”œβ”€β”€ hwp_mcp_stdio_server.py  # 메인 μ„œλ²„ 슀크립트
β”œβ”€β”€ requirements.txt         # μ˜μ‘΄μ„± νŒ¨ν‚€μ§€ λͺ©λ‘
β”œβ”€β”€ hwp-mcp-ꡬ쑰섀λͺ….md       # ν”„λ‘œμ νŠΈ ꡬ쑰 μ„€λͺ… λ¬Έμ„œ
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   β”œβ”€β”€ hwp_controller.py  # ν•œκΈ€ μ œμ–΄ 핡심 컨트둀러
β”‚   β”‚   └── hwp_table_tools.py # ν…Œμ΄λΈ” κ΄€λ ¨ κΈ°λŠ₯ μ „λ¬Έ λͺ¨λ“ˆ
β”‚   β”œβ”€β”€ utils/                 # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜
β”‚   └── __tests__/             # ν…ŒμŠ€νŠΈ λͺ¨λ“ˆ
└── security_module/
    └── FilePathCheckerModuleExample.dll  # λ³΄μ•ˆ λͺ¨λ“ˆ

νŠΈλŸ¬λΈ”μŠˆνŒ…

λ³΄μ•ˆ λͺ¨λ“ˆ κ΄€λ ¨ 문제

기본적으둜 ν•œκΈ€ ν”„λ‘œκ·Έλž¨μ€ μ™ΈλΆ€μ—μ„œ 파일 μ ‘κ·Ό μ‹œ λ³΄μ•ˆ κ²½κ³ λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€. 이λ₯Ό μš°νšŒν•˜κΈ° μœ„ν•΄ FilePathCheckerModuleExample.dll λͺ¨λ“ˆμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. λ§Œμ•½ λ³΄μ•ˆ λͺ¨λ“ˆ 등둝에 μ‹€νŒ¨ν•΄λ„ κΈ°λŠ₯은 μž‘λ™ν•˜μ§€λ§Œ, 파일 μ—΄κΈ°/μ €μž₯ μ‹œ λ³΄μ•ˆ λŒ€ν™” μƒμžκ°€ ν‘œμ‹œλ  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•œκΈ€ μ—°κ²° μ‹€νŒ¨

ν•œκΈ€ ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰ 쀑이지 μ•Šμ„ 경우 연결에 μ‹€νŒ¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•œκΈ€ ν”„λ‘œκ·Έλž¨μ΄ μ„€μΉ˜λ˜μ–΄ 있고 정상 μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

ν…Œμ΄λΈ” 데이터 μž…λ ₯ 문제

ν…Œμ΄λΈ”μ— 데이터λ₯Ό μž…λ ₯ν•  λ•Œ μ»€μ„œ μœ„μΉ˜κ°€ μ˜ˆμƒκ³Ό λ‹€λ₯΄κ²Œ λ™μž‘ν•˜λŠ” κ²½μš°κ°€ μžˆμ—ˆμœΌλ‚˜, ν˜„μž¬ λ²„μ „μ—μ„œλŠ” 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν…Œμ΄λΈ”μ˜ λͺ¨λ“  셀에 μ •ν™•ν•˜κ²Œ 데이터가 μž…λ ₯λ©λ‹ˆλ‹€.

λ³€κ²½ 둜그

2025-03-27

  • ν‘œ 생성 및 데이터 μ±„μš°κΈ° κΈ°λŠ₯ κ°œμ„ 
    • ν‘œ μ•ˆμ— ν‘œκ°€ μ€‘μ²©λ˜λŠ” 문제 ν•΄κ²°
    • ν‘œ 생성과 데이터 μ±„μš°κΈ° κΈ°λŠ₯ 뢄리
    • ν‘œ 생성 μ „ ν˜„μž¬ μ»€μ„œ μœ„μΉ˜ 확인 둜직 μΆ”κ°€
    • κΈ°μ‘΄ ν‘œμ— λ°μ΄ν„°λ§Œ μ±„μš°λŠ” κΈ°λŠ₯ κ°œμ„ 
  • ν”„λ‘œμ νŠΈ 관리 κ°œμ„ 
    • .gitignore 파일 μΆ”κ°€ (μž„μ‹œ 파일, μΊμ‹œ 파일 λ“± μ œμ™Έ)

2025-03-25

  • ν…Œμ΄λΈ” 데이터 μž…λ ₯ κΈ°λŠ₯ κ°œμ„ 
    • 첫 번째 μ…€λΆ€ν„° μ •ν™•ν•˜κ²Œ 데이터 μž…λ ₯ κ°€λŠ₯
    • μ…€ 선택 및 μ»€μ„œ μœ„μΉ˜ μ„€μ • 둜직 κ°œμ„ 
    • ν…μŠ€νŠΈ μž…λ ₯ μ‹œ μ»€μ„œ μœ„μΉ˜ μœ μ§€ κΈ°λŠ₯ μΆ”κ°€
  • ν…Œμ΄λΈ” μ „μš© 도ꡬ λͺ¨λ“ˆ(hwp_table_tools.py) μΆ”κ°€
  • hwp_fill_column_numbers ν•¨μˆ˜μ— from_first_cell μ˜΅μ…˜ μΆ”κ°€

λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€μ— 따라 λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

κΈ°μ—¬ 방법

  1. 이슈 제보 λ˜λŠ” κΈ°λŠ₯ μ œμ•ˆ: GitHub 이슈λ₯Ό μ‚¬μš©ν•˜μ„Έμš”.
  2. μ½”λ“œ κΈ°μ—¬: 변경사항을 ν¬ν•¨ν•œ Pull Requestλ₯Ό μ œμΆœν•˜μ„Έμš”.

κ΄€λ ¨ ν”„λ‘œμ νŠΈ

  • HWP SDK: ν•œκΈ€κ³Όμ»΄ν“¨ν„°μ˜ 곡식 SDK
  • Cursor MCP
  • Smithery

μ—°λ½μ²˜

ν”„λ‘œμ νŠΈ κ΄€λ ¨ λ¬Έμ˜λŠ” GitHub 이슈, μ½”λ‚œμŒ€λ₯Ό 톡해 ν•΄μ£Όμ„Έμš”.

Featured Templates

View More
AI Image Generation
Image Generation with Stable Diffusion
117 1204
AI Agents
AI Video Generator
258 2301
Verified Icon
AI Assistants
Speech to Text
139 2196
AI Assistants
AI Chatbot Starter Kit v0.1
141 1202

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.