Skip to main content
Glama
heum-inhyelee

alfred-voc-analysis-mcp

README.md
# Alfred VoC Analysis MCP v0.1

Heum Alfred/DESK VoC facts를 CX intelligence로 변환하는 MCP 서버입니다. 구조는 명시적으로 **Fact → Analysis → Synthesis**로 분리됩니다.

## Architecture

- `fact.py`: DB/API adapter가 구현할 `FactRepository`; Fact에는 AI 해석을 저장하지 않습니다.
- `analysis.py`: overview, issue intelligence, CX concern, emerging signal, trend driver, resolution effect를 deterministic Python으로 계산합니다.
- `synthesis.py`: 상세 Report, Executive Brief, 개선 Planning Signal DTO를 조합합니다.
- `server.py`: FastMCP tool adapter. 분석 코어는 MCP나 외부 LLM에 의존하지 않습니다.

입력 스키마는 `FactRecord(extra="allow")`로 source 확장 필드를 보존합니다. 실제 DB 스키마를 변경하지 않으며 production DB/API 연결은 `FactRepository` adapter로 추가합니다.

## MCP tools

- `get_voc_overview`
- `analyze_issue_frequency`, `analyze_issue_severity`, `analyze_issue_persistence`
- `analyze_unresolved_issues`, `rerank_issue_priorities`, `compare_issue_portfolio`
- `analyze_customer_experience`
- `detect_emerging_signals`
- `analyze_voc_trends`
- `analyze_resolution_effect`
- `build_report_dataset`, `build_executive_brief`, `build_improvement_signals`

Issue tools intentionally share one portfolio assessment so Frequency alone cannot contradict Priority Movement. Each issue result returns evidence, reason and confidence.

## Run

```bash
python -m venv .venv
pip install -e ".[dev]"
pytest
alfred-voc-analysis-mcp
```

v0.1 ships an in-memory reference adapter. Embed the service and call `configure_records`, or implement `FactRepository` for voc-management DB/API.

## Calibration

`AnalysisConfig` contains data-sufficiency and observation-window settings. Defaults are conservative technical defaults, not Heum policy. No opaque weighted score or fixed “N건=High” business rule is used.

TDQS

C2.1/5.0

Scored across 14 tools

Disambiguation4/5

Most tools are clearly separated by specific modifiers (frequency, severity, persistence, resolution effect), but a few pairs could be confused, such as analyze_unresolved_issues vs analyze_issue_persistence and detect_emerging_signals vs analyze_voc_trends.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern using predictable verbs like get, analyze, rerank, compare, detect, and build. The repeated analyze_ prefix is systematic and applied to distinct analytical dimensions.

Tool Count5/5

14 tools is well within the ideal 3-15 range for a specialized VOC analysis server. The set balances analytical tools, prioritization, comparison, and reporting outputs without unnecessary fragmentation.

Completeness5/5

The tool surface covers the full analytical workflow: overview, issue metrics, priorities, portfolio comparison, trends, emerging signals, resolution effectiveness, and report generation. There are no obvious gaps that would leave an agent unable to complete a VOC analysis task.

Maintenance

ActivityMaintained
ResponsivenessNo issues