Skip to main content
Glama

🧠 LNA-Report MCP Server

AWS LNA(Learning Needs Analysis) CSV 데이터λ₯Ό μžλ™ λΆ„μ„ν•˜μ—¬ **μ—­λŸ‰κ°•ν™” 평가 뢄석 리포트(PPT)**λ₯Ό μƒμ„±ν•˜λŠ” MCP(Model Context Protocol) μ„œλ²„μž…λ‹ˆλ‹€.

MCPλž€? AI μ—μ΄μ „νŠΈκ°€ μ™ΈλΆ€ 도ꡬλ₯Ό ν˜ΈμΆœν•  수 있게 ν•΄μ£ΌλŠ” ν‘œμ€€ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.
이 μ„œλ²„λ₯Ό μ—°κ²°ν•˜λ©΄ AIκ°€ LNA 데이터 뢄석과 리포트 생성을 μžλ™μœΌλ‘œ μˆ˜ν–‰ν•©λ‹ˆλ‹€.


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

Tool

κΈ°λŠ₯

좜λ ₯

analyze_lna

LNA CSV 전체 뢄석

JSON (νŒ€λ³„ 점수, 자격증, μ—­ν• )

generate_report

PPT 리포트 μžλ™ 생성

PPTX (λ ˆμ΄λ” 차트 포함)

get_team_scores

νŒ€/전체 과정별 점수 쑰회

JSON (과정별 점수)

get_recommendations

ꡐ윑 μΆ”μ²œ κ³Όμ • λ„μΆœ

JSON (κΈ΄κΈ‰/λ†’μŒ/보톡)

get_individual_assessments

κ°œμΈλ³„ μ—­λŸ‰ 평가

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_MCP

Step 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 연동

  1. Amazon Quick μ—΄κΈ°

  2. Settings β†’ Capabilities β†’ Connectors 이동

  3. "+ Add MCP server" β†’ Local (stdio) 선택

  4. μ•„λž˜ κ°’ μž…λ ₯:

ν•­λͺ©

κ°’

Name

lna-report

Command

python

Args

-m, lna_mcp.server

Working Directory

<cloneν•œ 경둜>/LNA_Report_MCP/src

  1. 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 λ³€ν™˜ 방법

  1. Qualtrics LNA Excel μ—΄κΈ°

  2. 'Raw Data' μ‹œνŠΈ 선택

  3. λ‹€λ₯Έ μ΄λ¦„μœΌλ‘œ μ €μž₯ β†’ CSV UTF-8 (μ‰Όν‘œλ‘œ 뢄리)(*.csv) 선택

  4. μ €μž₯


🏒 νŒ€ μ„€μ • (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 λ¦¬ν¬νŠΈμ—λŠ” λ‹€μŒμ΄ ν¬ν•¨λ©λ‹ˆλ‹€:

  1. ν‘œμ§€ + κΈ°λ°€ κ³ μ§€

  2. LNA μΆ”μ§„ λ°°κ²½ 및 λͺ©μ 

  3. Executive Summary (강점/약점 μ˜μ—­)

  4. Score μ •μ˜ κΈ°μ€€ (1~5점 해석)

  5. 전사 μ—­λŸ‰ ν˜„ν™© + λ ˆμ΄λ” 차트

  6. νŒ€λ³„ 상세 뢄석 (ν”„λ‘œν•„, 점수, κ°œλ³„ λ ˆμ΄λ” 차트)

  7. νŒ€λ³„ 비ꡐ λ ˆμ΄λ” 차트 (μ˜€λ²„λ ˆμ΄)

  8. νŒ€λ³„ ꡐ윑 μΆ”μ²œ (κΈ΄κΈ‰/λ†’μŒ/보톡)

  9. 결둠 및 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

Available Tools

5 tools
analyze_lnaA

LNA CSV νŒŒμΌμ„ λΆ„μ„ν•˜μ—¬ νŒ€λ³„ μ—­λŸ‰ ν˜„ν™©μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

Args: csv_path: LNA CSV 파일 경둜 team_config: νŒ€ μ„€μ • JSON (선택). 예: {"Team1": {"name": "κ΅¬μΆ•νŒ€", "leader": "μ΅œμ§€μ„", "mission": "ν΄λΌμš°λ“œ ꡬ좕/운영"}}

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYes
team_configNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explains the purpose and parameters but does not disclose side effects (e.g., read-only or mutating), error handling, or output format details beyond the implied return of team capability status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose. The Args section is cleanly structured with no superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers tool usage and parameter semantics. Minor gap: the expected CSV format is not described, but overall it is complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description effectively documents both parameters. It gives a clear definition for csv_path (LNA CSV file path) and team_config (optional JSON string with example), adding essential meaning beyond the schema's type and title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes LNA CSV files to return team capability status. This distinguishes it from siblings like generate_report (creates a report) and get_individual_assessments (focuses on individuals).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites or exclusions, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_reportB

LNA CSV νŒŒμΌμ„ λΆ„μ„ν•˜μ—¬ μ—­λŸ‰κ°•ν™” 평가 뢄석 리포트 PPTλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

Args: csv_path: LNA CSV 파일 경둜 output_path: 생성할 PPT 파일 경둜 team_config: νŒ€ μ„€μ • JSON. 예: {"Team1": {"name": "κ΅¬μΆ•νŒ€", "leader": "μ΅œμ§€μ„", "mission": "ν΄λΌμš°λ“œ ꡬ좕/운영"}} company_name: 고객사λͺ…

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYes
output_pathYes
team_configNo
company_nameNo고객사

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the core behavior (analyze CSV, output PPT) but omits side effects, permissions, error handling, or constraints. With no annotations, a score of 3 reflects minimal but adequate behavioral disclosure for a report-generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single introductory sentence and a structured Args block. Every sentence adds value, though the Args section could be slightly more compact. Overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values need not be explained. However, the description lacks context about input CSV format, error scenarios, and report content scope. With 4 parameters and no annotations, some completeness gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must add meaning. The Args section provides clear descriptions for all 4 parameters, including an example for 'team_config' and default values for optional params. This compensates well for the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a PPT report from LNA CSV data. It uses a specific verb-resource pairing ('analyzes and generates') and implies a distinct purpose from sibling tools like 'analyze_lna' and 'get_individual_assessments', though not explicitly differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description only states what it does, not when it should be selected over siblings like 'analyze_lna' or 'get_recommendations'. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_individual_assessmentsB

κ°œμΈλ³„ μ—­λŸ‰ 평가 κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€ (이름, νŒ€, ν‰κ· μ μˆ˜, 강점3개, 약점3개, μΆ”μ²œκ΅μœ‘3개).

Args: csv_path: LNA CSV 파일 경둜 team_config: νŒ€ μ„€μ • JSON (선택)

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYes
team_configNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must convey behavioral traits. It only states what is returned, with no mention of side effects, authentication, file existence handling, or read-only nature. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-line purpose then a short Args list. It is front-loaded with the main action and result fields. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, output schema present), the description covers the basic functionality and return fields. However, it lacks usage guidance and behavioral context, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The Args section adds brief explanations ('LNA CSV file path', 'team setting JSON (optional)') but lacks detail on formats, defaults, or constraints. For two parameters, this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns individual competency assessment results and lists the specific fields (name, team, average score, strengths, weaknesses, recommended trainings). The verb 'returns' and explicit resource make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. its siblings (analyze_lna, get_team_scores, etc.). The description does not indicate scenarios or alternatives, leaving the agent to guess.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recommendationsB

νŒ€λ³„ ꡐ윑 μΆ”μ²œ 과정을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

Args: csv_path: LNA CSV 파일 경둜 team_name: νŒ€λͺ… (λΉ„μ–΄μžˆμœΌλ©΄ 전체)

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYes
team_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden. It discloses the tool returns recommendations based on a CSV file and optional team name, but does not mention side effects, permissions, or error conditions. It is adequate for a simple read operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: three lines with a clear front-loaded Korean sentence. Every phrase is necessary with no wasted words. Efficient communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (not shown), the description need not detail return values. However, it does not explain the nature of recommendations, how the CSV is used, or any dependencies. Minimal but sufficient for a simple tool with few parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description adds meaning. It explains csv_path as 'LNA CSV file path' and team_name as 'team name (empty for all)'. This adds context beyond the schema titles, though examples or format constraints would improve it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns team-specific training recommendations (verb+resource). It distinguishes from siblings like get_individual_assessments and get_team_scores by focusing on recommendations. However, it could be more specific about the source (LNA CSV) and the context of 'education recommendations'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., analyze_lna, generate_report). The description does not mention scenarios, prerequisites, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_team_scoresA

νŠΉμ • νŒ€ λ˜λŠ” μ „μ²΄μ˜ 과정별 μ—­λŸ‰ 점수λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

Args: csv_path: LNA CSV 파일 경둜 team_name: νŒ€λͺ… (λΉ„μ–΄μžˆμœΌλ©΄ 전체)

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_pathYes
team_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states that scores are returned, but omits details such as error handling for invalid csv_path, performance implications, or what 'competency scores' entail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is conciseβ€”two sentences plus parameter documentationβ€”with the purpose stated upfront. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so the description does not need to detail returns. However, it lacks context on behavioral aspects (e.g., data format, error behavior) and does not explain how team_name interacts with the CSV. Adequate but with gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaningful context: csv_path is the 'LNA CSV file path' and team_name defaults to all teams when empty. This clarifies the parameters beyond the schema's minimal titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns competency scores by process for a specific team or all teams. It uses a specific verb ('returns') and resource ('competency scores'), and distinguishes from siblings that focus on individual assessments or analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like get_individual_assessments or get_recommendations. It merely states what it does without indicating context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedanalyze_lna
    • First observedgenerate_report
    • First observedget_individual_assessments
    • First observedget_recommendations
    • First observedget_team_scores

TDQS

A3.7/5.0
Disambiguation4/5

Tools have distinct purposes: analysis, report generation, individual assessments, recommendations, and team scores. Minor potential overlap between 'analyze_lna' (team capability status) and 'get_team_scores' (course-specific scores) but descriptions clarify differences.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (analyze_lna, generate_report, get_individual_assessments, get_recommendations, get_team_scores). No deviations.

Tool Count5/5

Server has 5 tools, well-scoped for its purpose of analyzing LNA data and generating reports and recommendations. Not too few or too many.

Completeness4/5

Covers main operations: analysis, report generation, individual assessments, recommendations, and team scores. Missing a tool to manage team configurations or validate inputs, but not essential for core functionality.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    AI-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.
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with PowerPoint presentations through natural language commands, supporting reading, editing, slide management, and automated speaker notes processing.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to assess AI-readiness and improve AI leverage through analysis tools, resources, and prompts for project scanning and remediation.
    26
    MIT

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/twkim1122/LNA_Report_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server