LNA-Report MCP Server
This server analyzes AWS Learning Needs Analysis (LNA) CSV data and automatically generates capability assessment reports, enabling AI agents to perform data analysis and report generation.
Capabilities:
Analyze LNA Data (
analyze_lna): Parse and analyze an LNA CSV file to return team-by-team competency status, including scores, certifications, and roles in JSON format.Generate PPT Report (
generate_report): Automatically create a full PowerPoint (.pptx) report from LNA CSV data, including radar charts, team profiles, executive summary, training recommendations, and next steps. Supports custom company name and team configuration.Get Team/Overall Scores (
get_team_scores): Retrieve course-by-course competency scores for a specific team or the entire organization in JSON format.Get Recommendations (
get_recommendations): Generate prioritized training course recommendations (urgent/high/medium priority) for a specific team or all teams based on LNA scores.Get Individual Assessments (
get_individual_assessments): Retrieve per-person competency evaluations including average score, top 3 strengths, top 3 weaknesses, and top 3 recommended training courses.
Analyzes LNA (Learning Needs Analysis) CSV data exported from Qualtrics to generate competency assessment reports in PPT format.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LNA-Report MCP ServerAnalyze the LNA CSV file and generate a PPT competency report."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ LNA-Report MCP Server
AWS LNA(Learning Needs Analysis) CSV λ°μ΄ν°λ₯Ό μλ λΆμνμ¬ **μλκ°ν νκ° λΆμ 리ν¬νΈ(PPT)**λ₯Ό μμ±νλ MCP(Model Context Protocol) μλ²μ λλ€.
MCPλ? AI μμ΄μ νΈκ° μΈλΆ λꡬλ₯Ό νΈμΆν μ μκ² ν΄μ£Όλ νμ€ νλ‘ν μ½μ λλ€.
μ΄ μλ²λ₯Ό μ°κ²°νλ©΄ AIκ° LNA λ°μ΄ν° λΆμκ³Ό 리ν¬νΈ μμ±μ μλμΌλ‘ μνν©λλ€.
β¨ μ£Όμ κΈ°λ₯
Tool | κΈ°λ₯ | μΆλ ₯ |
| LNA CSV μ 체 λΆμ | JSON (νλ³ μ μ, μ격μ¦, μν ) |
| PPT 리ν¬νΈ μλ μμ± | PPTX (λ μ΄λ μ°¨νΈ ν¬ν¨) |
| ν/μ 체 κ³Όμ λ³ μ μ μ‘°ν | JSON (κ³Όμ λ³ μ μ) |
| κ΅μ‘ μΆμ² κ³Όμ λμΆ | JSON (κΈ΄κΈ/λμ/보ν΅) |
| κ°μΈλ³ μλ νκ° | JSON (κ°μ /μ½μ /μΆμ²κ΅μ‘) |
Related MCP server: S3 Data Lake MCP Server
π μꡬμ¬ν
Python 3.10 μ΄μ
pip ν¨ν€μ§ κ΄λ¦¬μ
Windows 10/11, macOS, λλ Linux
π μ€μΉ λ°©λ²
Step 1: 리ν¬μ§ν 리 Clone
git clone https://github.com/twkim1122/LNA_Report_MCP.git
cd LNA_Report_MCPStep 2: ν¨ν€μ§ μ€μΉ (editable λͺ¨λ)
pip install -e .μ°Έκ³ : μμ‘΄μ±μ΄ μλ μ€μΉλ©λλ€ (
mcp[cli],pandas,python-pptx,matplotlib,numpy)
Step 3: μ€μΉ νμΈ
python -m lna_mcp.server --helpμ€λ₯ μμ΄ μ€νλλ©΄ μ€μΉ μλ£!
π MCP ν΄λΌμ΄μΈνΈ μ°λ μ€μ
Option A: Amazon Quick μ°λ
Amazon Quick μ΄κΈ°
Settings β Capabilities β Connectors μ΄λ
"+ Add MCP server" β Local (stdio) μ ν
μλ κ° μ λ ₯:
νλͺ© | κ° |
Name |
|
Command |
|
Args |
|
Working Directory |
|
Save β μ λνμμ "LNA νμΌ λΆμν΄ μ€" μ λ ₯νμ¬ Tool μΈμ νμΈ
Option B: Kiro CLI μ°λ
~/.kiro/settings/mcp.json νμΌμ μΆκ° (μμΌλ©΄ μλ‘ μμ±):
{
"mcpServers": {
"lna-report": {
"command": "python",
"args": ["-m", "lna_mcp.server"],
"cwd": "<cloneν κ²½λ‘>/LNA_Report_MCP/src",
"env": {}
}
}
}Windows μμ:
"cwd": "C:\\Users\\<username>\\projects\\LNA_Report_MCP\\src"macOS/Linux μμ:
"cwd": "/home/<username>/projects/LNA_Report_MCP/src"
Kiro CLI μ¬μμ ν Toolμ΄ μΈμλ©λλ€.
Option C: Claude Desktop μ°λ
claude_desktop_config.jsonμ μΆκ°:
{
"mcpServers": {
"lna-report": {
"command": "python",
"args": ["-m", "lna_mcp.server"],
"cwd": "<cloneν κ²½λ‘>/LNA_Report_MCP/src"
}
}
}π μ¬μ© λ°©λ²
1. μ 체 λΆμ
AIμκ² μμ²:
LNA CSV νμΌμ λΆμν΄ μ£ΌμΈμ.
csv_path: "C:\κ²½λ‘\LNA_2026.csv"2. PPT 리ν¬νΈ μμ±
LNA λΆμ 리ν¬νΈλ₯Ό PPTλ‘ λ§λ€μ΄ μ£ΌμΈμ.
csv_path: "C:\κ²½λ‘\LNA_2026.csv"
output_path: "C:\μΆλ ₯\리ν¬νΈ.pptx"
company_name: "ACME Corp"
LNA λΆμ 리ν¬νΈλ₯Ό HTMLλ‘ λ§λ€μ΄ μ£ΌμΈμ.3. νΉμ ν κ΅μ‘ μΆμ²
ν΄λΌμ°λ AXνμ νμν κ΅μ‘ κ³Όμ μ μΆμ²ν΄ μ£ΌμΈμ.4. κ°μΈλ³ νκ°
κ° κ°μΈλ³ κ°μ , μ½μ , μΆμ² κ΅μ‘μ μλ € μ£ΌμΈμ.ποΈ CSV μ λ ₯ νμ
νμ μ¬ν
Qualtrics LNA Excelμμ 'Raw Data' μνΈλ₯Ό CSVλ‘ λ³ν
β οΈ 'Student Heatmap' μνΈκ° μλ 'Raw Data' μνΈ μ¬μ©
Progress컬λΌμ΄ λ°λμ ν¬ν¨λμ΄μΌ ν¨ (100% μλ£ μλ΅λ§ λΆμ)μΈμ½λ©: UTF-8 BOM κΆμ₯
CSV λ³ν λ°©λ²
Qualtrics LNA Excel μ΄κΈ°
'Raw Data' μνΈ μ ν
λ€λ₯Έ μ΄λ¦μΌλ‘ μ μ₯βCSV UTF-8 (μΌνλ‘ λΆλ¦¬)(*.csv)μ νμ μ₯
π’ ν μ€μ (team_config)
LNA CSVμ ν 컬λΌμ Qualtrics μλ² λλ λ³μ(${e://Field/Team1} λ±)λ‘ λμ΄ μμ΄, μ€μ νλͺ
κ³Ό λ§€νμ΄ νμν©λλ€.
team_config JSON νμ
{
"${e://Field/Team1}": {
"name": "μν°νλΌμ΄μ¦ ꡬμΆ/μ΄μν",
"leader": "K",
"mission": "ν΄λΌμ°λ ꡬμΆ/μ΄μ"
},
"${e://Field/Team2}": {
"name": "AXν",
"leader": "T",
"mission": "ν΄λΌμ°λ μ ν 컨μ€ν
"
}
}ν: team_config μμ΄λ λΆμμ κ°λ₯ν©λλ€. μ΄ κ²½μ° νλͺ μ΄ μμκ°μΌλ‘ νμλ©λλ€.
π 리ν¬νΈ ν¬ν¨ λ΄μ© (PPT)
μμ±λλ PPT 리ν¬νΈμλ λ€μμ΄ ν¬ν¨λ©λλ€:
νμ§ + κΈ°λ° κ³ μ§
LNA μΆμ§ λ°°κ²½ λ° λͺ©μ
Executive Summary (κ°μ /μ½μ μμ)
Score μ μ κΈ°μ€ (1~5μ ν΄μ)
μ μ¬ μλ νν© + λ μ΄λ μ°¨νΈ
νλ³ μμΈ λΆμ (νλ‘ν, μ μ, κ°λ³ λ μ΄λ μ°¨νΈ)
νλ³ λΉκ΅ λ μ΄λ μ°¨νΈ (μ€λ²λ μ΄)
νλ³ κ΅μ‘ μΆμ² (κΈ΄κΈ/λμ/보ν΅)
κ²°λ‘ λ° Next Steps
π νλ‘μ νΈ κ΅¬μ‘°
LNA_Report_MCP/
βββ pyproject.toml # ν¨ν€μ§ μ€μ λ° μμ‘΄μ±
βββ README.md # λ³Έ λ¬Έμ
βββ .gitignore
βββ src/lna_mcp/
βββ __init__.py
βββ server.py # MCP μλ² (Tool μ μ)
βββ analyzer.py # LNA λΆμ μμ§
βββ report_generator.py # PPT 리ν¬νΈ μμ±κΈ°π μ λ°μ΄νΈ λ°©λ²
μλ²κ° μ λ°μ΄νΈλλ©΄:
cd LNA_Report_MCP
git pull
pip install -e . # μμ‘΄μ± λ³κ²½ μAmazon Quick / Kiro CLI μ¬μμ λλ MCP μλ² Reconnect
β FAQ
Q: Python λ²μ μ΄ 3.9μΈλ° μ¬μ© κ°λ₯νκ°μ?
A: 3.10 μ΄μμ΄ νμν©λλ€. python --versionμΌλ‘ νμΈ ν, νμμ μ
κ·Έλ μ΄λνμΈμ.
Q: pip install -e . μμ μ€λ₯κ° λ°μν©λλ€
A: pipλ₯Ό μ΅μ μΌλ‘ μ κ·Έλ μ΄λν ν μ¬μλ:
pip install --upgrade pip
pip install -e .Q: Toolμ΄ μΈμλμ§ μμ΅λλ€
A: cwd κ²½λ‘κ° src ν΄λλ₯Ό κ°λ¦¬ν€λμ§ νμΈνμΈμ. LNA_Report_MCP/srcκ° μ νν κ²½λ‘μ
λλ€.
Q: CSV λΆμ μ "Progress μ»¬λΌ μμ" μ€λ₯
A: Qualtrics Excelμμ 'Raw Data' μνΈλ₯Ό CSVλ‘ λ³ννλμ§ νμΈνμΈμ. 'Student Heatmap' μνΈλ Progress 컬λΌμ΄ μμ΅λλ€.
Q: νκΈμ΄ κΉ¨μ§λλ€
A: CSV μ μ₯ μ UTF-8 BOM μΈμ½λ©μ μ¬μ©νμΈμ. Excelμμ CSV UTF-8 (μΌνλ‘ λΆλ¦¬) νμμΌλ‘ μ μ₯ν©λλ€.
Q: λ μ΄λ μ°¨νΈκ° μμ±λμ§ μμ΅λλ€
A: matplotlib νκΈ ν°νΈ μ΄μμΌ μ μμ΅λλ€. Windowsλ 'Malgun Gothic', macOSλ 'AppleGothic'μ΄ νμν©λλ€. macOS μ¬μ©μλ src/lna_mcp/report_generator.pyμμ ν°νΈ μ€μ μ λ³κ²½νμΈμ:
plt.rcParams["font.family"] = "AppleGothic" # macOSπ·οΈ Score μ μ
Score | μμ€ | μλ―Έ |
1 | None | κΈ°λ³Έμ μΈ κ΄λ ¨ μ§μμ΄ μλ μν |
2 | Basic | κΈ°λ³Έμ μΈ μ΄ν΄λ ₯μ κ°μΆκ³ μμΌλ μ 무 μν λΆκ° |
3 | Functional | μ€ν¬ νμ© μ 무 μν κ°λ₯, νμμ AWS μ§μ νμ |
4 | Proficient | λ€μν μμ€μ μ 무λ₯Ό μν λ° μ μ© κ°λ₯ |
5 | Expert | μ λ¬Έκ° μν μν λ° μ»¨μ€ν μν κ°λ₯ |
π License
Internal use only β AWS T&C Korea
π€ Author
AWS T&C Korea Team
Contact: ktaewoo@amazon.com
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAI-first CSV analysis tool that enables AI agents to analyze, query, and audit large CSV files directly within conversations, turning raw data into actionable insights.Last updated1
- Alicense-qualityCmaintenanceEnables AI agents to query S3 data lakes using natural language, with support for CSV, JSON, Parquet and tools for data discovery, analysis, and metadata exploration.Last updated1MIT
- Alicense-qualityDmaintenanceEnables AI agents to interact with PowerPoint presentations through natural language commands, supporting reading, editing, slide management, and automated speaker notes processing.Last updatedMIT

AIReady MCP Serverofficial
Alicense-qualityDmaintenanceEnables AI agents to assess AI-readiness and improve AI leverage through analysis tools, resources, and prompts for project scanning and remediation.Last updated83MIT
Related MCP Connectors
Transformation readiness gaps and initiative risk signals for AI agents and enterprise change leads.
Sovereign Agent OS β Persistent Memory, Governance & Compliance for AI Agents.
Create and manage AI agents that collaborate and solve problems through natural language interactiβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/twkim1122/LNA_Report_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server