msaltnet/excel-search-mcp
3.3
If you are the rightful owner of excel-search-mcp 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.
The Excel Search MCP server is designed to search and read Excel files on a local PC, providing data in a format usable by AI models.
Tools
3
Resources
0
Prompts
0
Excel Search MCP
λ‘컬 PCμ μμ νμΌμ κ²μνκ³ λ΄μ©μ μ½μ΄μ€λ MCP(Model Context Protocol) μλ²
π νλ‘μ νΈ κ°μ
μ΄ νλ‘μ νΈλ MCP(Model Context Protocol)λ₯Ό ν΅ν΄ λ‘컬 PCμ Excel νμΌλ€μ κ²μνκ³ , λ΄μ©μ μ½μ΄μμ AI λͺ¨λΈμ΄ νμ©ν μ μλ ννλ‘ μ 곡νλ μλ²μ λλ€.
π― μ£Όμ κΈ°λ₯
- μμ νμΌ κ²μ: μ§μ λ λλ ν 리μμ Excel νμΌλ€μ μ¬κ·μ μΌλ‘ κ²μ
- νμΌ λͺ©λ‘ μ 곡: λ°κ²¬λ Excel νμΌλ€μ μ λ κ²½λ‘ λͺ©λ‘ μ 곡
- νμΌ μμ½: Excel νμΌμ κΈ°λ³Έ μ 보 λ° κ΅¬μ‘° μμ½ μ 곡
- λ°μ΄ν° μΆμΆ: Excel νμΌμ λ΄μ©μ JSON ννλ‘ λ³ννμ¬ μ 곡
- μν¬μνΈ κ΄λ¦¬: λ€μ€ μν¬μνΈ μ§μ λ° κ°λ³ μν¬μνΈ μ κ·Ό
ποΈ μν€ν μ²
μμ€ν ꡬμ±λ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β AI Client βββββΊβ MCP Server βββββΊβ Excel Files β
β (Claude, etc) β β (Python) β β (.xlsx, .xls) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β File System β
β (Directory β
β Scanning) β
βββββββββββββββββββ
ν΅μ¬ μ»΄ν¬λνΈ
-
MCP Server Core
- MCP νλ‘ν μ½ κ΅¬ν
- ν΄λΌμ΄μΈνΈμμ ν΅μ κ΄λ¦¬
- μμ²/μλ΅ μ²λ¦¬
-
Excel Processor
- Excel νμΌ μ½κΈ°/νμ±
- μν¬μνΈ λ°μ΄ν° μΆμΆ
- JSON λ³ν λ‘μ§
-
File Scanner
- λλ ν 리 μ¬κ· κ²μ
- Excel νμΌ νν°λ§
- νμΌ λ©νλ°μ΄ν° μμ§
-
Data Formatter
- Excel λ°μ΄ν°λ₯Ό JSONμΌλ‘ λ³ν
- μμ½ μ 보 μμ±
- μλ¬ μ²λ¦¬ λ° κ²μ¦
π μμ κ³ν
Phase 1: νλ‘μ νΈ μ΄κΈ° μ€μ (1-2μΌ)
- Python νλ‘μ νΈ κ΅¬μ‘° μ€μ
- MCP μλ² κΈ°λ³Έ νλ μμν¬ κ΅¬ν
- μμ‘΄μ± κ΄λ¦¬ (requirements.txt, pyproject.toml)
- κΈ°λ³Έ μ€μ νμΌ κ΅¬μ±
Phase 2: ν΅μ¬ κΈ°λ₯ ꡬν (3-4μΌ)
- Excel νμΌ κ²μ κΈ°λ₯
- λλ ν 리 μ¬κ· μ€μΊ
- Excel νμΌ νμ₯μ νν°λ§ (.xlsx, .xls)
- νμΌ λ©νλ°μ΄ν° μμ§
- Excel νμΌ μ½κΈ° κΈ°λ₯
- openpyxl/pandasλ₯Ό μ¬μ©ν Excel νμ±
- λ€μ€ μν¬μνΈ μ§μ
- λ°μ΄ν° νμ μ²λ¦¬ (λ¬Έμμ΄, μ«μ, λ μ§ λ±)
Phase 3: MCP λꡬ ꡬν (2-3μΌ)
-
list_excel_files
λꡬ- μ§μ λ λλ ν 리μμ Excel νμΌ λͺ©λ‘ λ°ν
- νμΌ κ²½λ‘, ν¬κΈ°, μμ μΌμ μ 보 ν¬ν¨
-
get_excel_summary
λꡬ- Excel νμΌμ κΈ°λ³Έ μ 보 μ 곡
- μν¬μνΈ λͺ©λ‘, ν/μ΄ μ, λ°μ΄ν° νμ μ 보
-
read_excel_data
λꡬ- Excel νμΌ λ΄μ©μ JSONμΌλ‘ λ³ν
- νΉμ μν¬μνΈ μ ν μ΅μ
- λ°μ΄ν° λ²μ μ ν μ΅μ
Phase 4: κ³ κΈ κΈ°λ₯ λ° μ΅μ ν (2-3μΌ)
- μ±λ₯ μ΅μ ν
- λμ©λ νμΌ μ²λ¦¬ κ°μ
- λ©λͺ¨λ¦¬ μ¬μ©λ μ΅μ ν
- μΊμ± λ©μ»€λμ¦ κ΅¬ν
- μλ¬ μ²λ¦¬ κ°ν
- νμΌ μ κ·Ό κΆν μλ¬ μ²λ¦¬
- μμλ Excel νμΌ μ²λ¦¬
- λ©λͺ¨λ¦¬ λΆμ‘± μν© μ²λ¦¬
- λ‘κΉ
λ° λͺ¨λν°λ§
- μμΈν λ‘κ·Έ κΈ°λ‘
- μ±λ₯ λ©νΈλ¦ μμ§
Phase 5: ν μ€νΈ λ° λ¬Έμν (1-2μΌ)
- λ¨μ ν μ€νΈ μμ±
- ν΅ν© ν μ€νΈ ꡬν
- μ¬μ© μμ λ° λ¬Έμ μμ±
- README μ λ°μ΄νΈ
π οΈ κΈ°μ μ€ν
- μΈμ΄: Python 3.8+
- MCP νλ μμν¬: mcp (Model Context Protocol)
- Excel μ²λ¦¬: openpyxl, pandas
- νμΌ μμ€ν : pathlib, os
- λ°μ΄ν° λ³ν: json
- λ‘κΉ : logging
- ν μ€νΈ: pytest
π νλ‘μ νΈ κ΅¬μ‘° (μμ)
excel-search-mcp/
βββ src/
β βββ __init__.py
β βββ server.py # MCP μλ² λ©μΈ
β βββ excel_processor.py # Excel νμΌ μ²λ¦¬
β βββ file_scanner.py # νμΌ κ²μ
β βββ data_formatter.py # λ°μ΄ν° λ³ν
βββ tests/
β βββ __init__.py
β βββ test_server.py
β βββ test_excel_processor.py
β βββ test_file_scanner.py
βββ examples/
β βββ sample_excel_files/
β βββ usage_examples.py
βββ requirements.txt
βββ pyproject.toml
βββ README.md
βββ .gitignore
π μ¬μ© μμ
# MCP ν΄λΌμ΄μΈνΈμμ μ¬μ© μμ
tools = [
{
"name": "list_excel_files",
"description": "μ§μ λ λλ ν 리μμ Excel νμΌ λͺ©λ‘μ λ°νν©λλ€",
"parameters": {
"directory_path": "string",
"recursive": "boolean"
}
},
{
"name": "get_excel_summary",
"description": "Excel νμΌμ μμ½ μ 보λ₯Ό μ 곡ν©λλ€",
"parameters": {
"file_path": "string"
}
},
{
"name": "read_excel_data",
"description": "Excel νμΌμ λ°μ΄ν°λ₯Ό JSONμΌλ‘ μ½μ΄μ΅λλ€",
"parameters": {
"file_path": "string",
"worksheet_name": "string",
"max_rows": "integer"
}
}
]
π μ±λ₯ λͺ©ν
- νμΌ κ²μ: 1000κ° νμΌ κΈ°μ€ 5μ΄ μ΄λ΄
- Excel μ½κΈ°: 10MB νμΌ κΈ°μ€ 3μ΄ μ΄λ΄
- λ©λͺ¨λ¦¬ μ¬μ©λ: 100MB μ΄ν
- λμ μ²λ¦¬: μ΅λ 10κ° νμΌ λμ μ²λ¦¬
π 보μ κ³ λ €μ¬ν
- νμΌ μ κ·Ό κΆν κ²μ¦
- κ²½λ‘ μ‘°μ 곡격 λ°©μ§
- λ©λͺ¨λ¦¬ μ¬μ©λ μ ν
- λ―Όκ°ν λ°μ΄ν° λ§μ€νΉ μ΅μ
π ν₯ν νμ₯ κ³ν
- Excel νμΌ μ°κΈ° κΈ°λ₯
- μ€μκ° νμΌ λͺ¨λν°λ§
- μ격 Excel νμΌ μ§μ (URL, ν΄λΌμ°λ)
- κ³ κΈ νν°λ§ λ° κ²μ κΈ°λ₯
- λ°μ΄ν° μκ°ν μ§μ