uv init mcp-server-demo
cd mcp-server-demo
uv add "mcp[cli]" uv pip install mcp-python pandas matplotlib openpyxl fastapi uvicorn pillow uv run mcp dev server.py
uv run mcp install server.py
Excel MCP μλ²
μ΄ νλ‘μ νΈλ Excel λ°μ΄ν° μμ μ μν λꡬμ 리μμ€λ₯Ό μ 곡νλ λͺ¨λΈ 컨ν μ€νΈ νλ‘ν μ½(MCP) μλ²λ₯Ό ꡬνν©λλ€. μ΄ μλ²λ κ°λ¨ν APIλ₯Ό ν΅ν΄ Excel λ°μ΄ν°λ₯Ό μ½κ³ , μ λ°μ΄νΈνκ³ , νν°λ§νκ³ , μκ°ννλ κΈ°λ₯μ μ 곡ν©λλ€.
νΉμ§
Excel μμ : Excel νμΌ μ½κΈ° λ° μ°κΈ°
λ°μ΄ν° νν°λ§ : λ€μν κΈ°μ€μ λ°λΌ λ°μ΄ν°λ₯Ό νν°λ§νκ³ κ²μν©λλ€.
λ°μ΄ν° λΆμ : ν΅κ³ μμ½ λ° νΌλ² ν μ΄λΈ μμ±
λ°μ΄ν° μκ°ν : λ€μν μ°¨νΈμ μκ°νλ₯Ό λ§λ€μ΄ 보μΈμ
μ λ°μ΄νΈ μμ : μ μ λ°μ΄νΈ, ν μΆκ°, ν μμ
μ΄μ νμ§ : μμΉν λ°μ΄ν°μμ μ΄μμΉ μ°ΎκΈ°
μ°¨νΈ μΆμ² : μ μ ν μκ°νλ₯Ό μλμΌλ‘ μ μν©λλ€.
Related MCP server: Excel MCP Server
μ€μΉ
νμν μ’ μμ±μ μ€μΉνμΈμ:
μ§μμ€νΌ1
μ΄ μ μ₯μλ₯Ό 볡μ νκ±°λ νμΌμ λ€μ΄λ‘λνμΈμ.
server.py- MCP μλ² κ΅¬νclient.py- κΈ°λ₯μ 보μ¬μ£Όλ λ°λͺ¨ ν΄λΌμ΄μΈνΈ
μ©λ²
μλ² μμ
μλ²λ₯Ό μ€νν©λλ€:
python server.pyμλ²λ κΈ°λ³Έμ μΌλ‘ http://localhost:8000 μμ μμλ©λλ€.
ν΄λΌμ΄μΈνΈ λ°λͺ¨ μ¬μ©
ν΄λΌμ΄μΈνΈ λ°λͺ¨ μ€ν¬λ¦½νΈλ MCP μλ²λ‘ μνν μ μλ λ€μν μμ μ 보μ¬μ€λλ€.
python client.pyμ΄λ κ² νλ©΄:
μν Excel νμΌμ λ§λλλ€(μ‘΄μ¬νμ§ μλ κ²½μ°)
κΈ°λ³Έ Excel μμ μ μμ°ν©λλ€
λ°μ΄ν° νν°λ§ κΈ°λ₯ νμ
μκ°ν μμ±
λ°μ΄ν° μ λ°μ΄νΈ μν
λ°μ΄ν°μ μ΄μ κ°μ§
API μ§μ μ¬μ©
MCP μλ²μ APIλ₯Ό μ§μ μ¬μ©ν μ μμ΅λλ€.
λꡬ API
/tools/{tool_name} μ λν POST μμ²μ μ¬μ©νμ¬ λꡬλ₯Ό νΈμΆν©λλ€.
import requests
# Example: Read Excel file
response = requests.post(
"http://localhost:8000/tools/read_excel",
json={"filename": "example.xlsx", "sheet_name": "Sheet1"}
)
data = response.json()리μμ€ API
/resources/{resource_path} μ λν GET λλ POST μμ²μ μ¬μ©νμ¬ λ¦¬μμ€μ μ‘μΈμ€ν©λλ€.
# Example: Get sheet list
response = requests.get("http://localhost:8000/resources/excel://example.xlsx/sheets")
sheets = response.json()μ¬μ© κ°λ₯ν λꡬ
μμ μμ
read_excel- Excel νμΌμμ λ°μ΄ν° μ½κΈ°write_excel- Excel νμΌμ λ°μ΄ν° μ°κΈ°get_excel_sheets- Excel νμΌμ μνΈ λͺ©λ‘μ κ°μ Έμ΅λλ€.
λ°μ΄ν° νν°λ§
filter_data- 쑰건μ λ°λΌ Excel λ°μ΄ν° νν°λ§search_data- Excel λ°μ΄ν°μμ μ©μ΄ κ²μ
λ°μ΄ν° λΆμ
summarize_data- Excel λ°μ΄ν°μ ν΅κ³ μμ½μ κ°μ Έμ΅λλ€.create_pivot_table- Excel λ°μ΄ν°μμ νΌλ² ν μ΄λΈ λ§λ€κΈ°
λ°μ΄ν° μκ°ν
visualize_chart- λ€μν μ°¨νΈ μ ν(λ§λν, μ ν, λΆμ°ν, μν, νμ€ν κ·Έλ¨)μ μμ±ν©λλ€.recommend_charts- λ°μ΄ν° ꡬ쑰μ λ°λ₯Έ μ°¨νΈ μΆμ² λ°κΈ°
μ λ°μ΄νΈ μμ
update_cell- Excel νμΌμ νΉμ μ μ μ λ°μ΄νΈν©λλ€.add_row- Excel νμΌμ μ ν μΆκ°delete_rows- νν°λ₯Ό κΈ°λ°μΌλ‘ Excel νμΌμμ ν μμ
μΆκ° κΈ°λ₯
detect_anomalies- Z-μ μλ₯Ό μ¬μ©νμ¬ μ«μν λ°μ΄ν°μμ μ΄μμΉ μ°ΎκΈ°export_to_csv- Excel λ°μ΄ν°λ₯Ό CSV νμμΌλ‘ λ΄λ³΄λ΄κΈ°
μ¬μ© κ°λ₯ν 리μμ€
excel://{filename}/sheets- Excel νμΌμ μνΈ λͺ©λ‘ κ°μ Έμ€κΈ°excel://{filename}/sheet/{sheet_name}- νΉμ μνΈμμ λ°μ΄ν° κ°μ Έμ€κΈ°excel://{filename}/sheet/{sheet_name}/summary- μνΈ λ°μ΄ν° μμ½ κ°μ Έμ€κΈ°excel://{filename}/sheet/{sheet_name}/filter- μνΈμ λ°μ΄ν° νν°λ§
μ: μ¬μ©μ μ μ ν΄λΌμ΄μΈνΈ λ§λ€κΈ°
MCP μλ²μ μνΈ μμ©νκΈ° μν΄ κ³ μ ν ν΄λΌμ΄μΈνΈλ₯Ό λ§λ€ μ μμ΅λλ€.
import requests
def call_tool(tool_name, params):
"""Call an MCP tool"""
url = f"http://localhost:8000/tools/{tool_name}"
response = requests.post(url, json=params)
return response.json()
# Example: Get chart visualization
chart_result = call_tool("visualize_chart", {
"filename": "sales_data.xlsx",
"sheet_name": "Sheet1",
"chart_type": "bar",
"x_column": "Month",
"y_columns": ["Revenue"],
"title": "Monthly Revenue"
})
# Save chart image
if chart_result.get("success", False) and "image" in chart_result:
import base64
img_data = base64.b64decode(chart_result["image"])
with open("revenue_chart.png", "wb") as f:
f.write(img_data)AI λͺ¨λΈκ³Όμ ν΅ν©
μ΄ MCP μλ²λ Claudeμ κ°μ AI λͺ¨λΈκ³Ό μ½κ² ν΅ν©λμ΄ Excel λ°μ΄ν°μ μμ°μ΄ μΈν°νμ΄μ€λ₯Ό μ 곡ν μ μμ΅λλ€.
AIλ μ¬μ©μμ μμ²μ λ°λΌ μ μ ν MCP λꡬλ₯Ό νΈμΆν μ μμ΅λλ€.
λꡬμμ λ°νλ λ°μ΄ν°λ₯Ό μ²λ¦¬ν©λλ€.
μ¬μ©μμκ² ν΅μ°°λ ₯κ³Ό μκ°νλ₯Ό μ 곡ν©λλ€.
μ΄λ₯Ό ν΅ν΄ μμ°μ΄ μμ²μ μ΄ν΄νκ³ Excel λ°μ΄ν°λ₯Ό λΆμνκ³ μ‘°μν μ μλ λνν "Excel λμ°λ―Έ"κ° μμ±λ©λλ€.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TapanKumarBarik/PYTHON-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
