AIDT MCP FastAPI 멀티서버 플랫폼 - A multi-service MCP platform built with FastAPI supporting Confluence, JIRA, Slack, and Calculator services
23 tools with complete schemas and descriptions, but significant quality gaps. All tools have input schemas with types and descriptions, meeting baseline requirements. However, descriptions are often generic or translated (Korean→English), lacking LLM-optimized clarity. Tool naming follows verb_noun convention (get_, search_, send_) but lacks distinction between similar operations (e.g., health_check, get_stats, get_config appear 3x across services). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Error handling and recovery guidance absent. Output schemas undocumented. Parameter constraints present (enums, min/max) but descriptions don't always explain format/range clearly.
기본 계산 수행 - 두 숫자로 기본적인 수학 연산을 수행합니다
수식 계산 - 수학 수식을 계산합니다
계산 기록 조회 - 최근 계산 기록을 조회합니다
제곱근 계산 - 숫자의 제곱근을 계산합니다
Confluence 설정 정보 - Confluence 서비스의 설정 정보를 반환합니다 (민감한 정보 제외)
Confluence 페이지 조회 - 페이지 ID를 사용하여 Confluence 페이지 상세 정보를 조회합니다
Confluence 스페이스 조회 - 스페이스 키를 사용하여 Confluence 스페이스 정보를 조회합니다
Duplicate utility tools across services (health_check, get_stats, get_config appear 3x each). LLMs cannot distinguish between them; consolidate into single service-agnostic tools or rename with service prefix (confluence_health_check vs jira_health_check).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk classifications. slack_send_message marked WRITE but lacks destructiveHint. All READ_ONLY tools lack readOnlyHint annotation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Confluence 통계 정보 - Confluence 클라이언트의 통계 정보를 반환합니다
Confluence 서비스 상태 확인 - Confluence 서비스의 연결 상태와 통계 정보를 확인합니다
Confluence 콘텐츠 검색 - CQL을 사용하여 Confluence 콘텐츠를 검색합니다
JIRA 설정 정보 - JIRA 서비스의 설정 정보를 반환합니다 (민감한 정보 제외)
JIRA 이슈 조회 - 이슈 키를 사용하여 JIRA 이슈 상세 정보를 조회합니다
JIRA 프로젝트 조회 - 프로젝트 키를 사용하여 JIRA 프로젝트 정보를 조회합니다
JIRA 통계 정보 - JIRA 클라이언트의 통계 정보를 반환합니다
JIRA 서비스 상태 확인 - JIRA 서비스의 연결 상태와 통계 정보를 확인합니다
JIRA 이슈 검색 - JQL을 사용하여 JIRA 이슈를 검색합니다
Slack 채널 메시지 히스토리 조회 - 채널의 메시지 히스토리를 조회합니다
Slack 채널 정보 조회 - 채널 ID 또는 이름을 사용하여 Slack 채널 정보를 조회합니다
Slack 설정 정보 - Slack 서비스의 설정 정보를 반환합니다 (민감한 정보 제외)
Slack 통계 정보 - Slack 클라이언트의 통계 정보를 반환합니다
Slack 사용자 정보 조회 - 사용자 ID를 사용하여 Slack 사용자 정보를 조회합니다
Slack 서비스 상태 확인 - Slack 서비스의 연결 상태와 통계 정보를 확인합니다
Slack 메시지 전송 - 지정된 채널에 메시지를 전송합니다
Descriptions lack LLM-optimized clarity. Many are generic translations (e.g., 'Confluence 콘텐츠 검색' → 'Confluence content search'). Descriptions should explain WHEN to use (vs similar tools), WHAT it returns, and any prerequisites. Current avg ~65 chars; target 50-200 chars with actionable context.
Output schemas not documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure. Document return types for all 23 tools (e.g., confluence_search returns {results: [{id, title, url}], total_count, cursor}).
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., confluence_search should document: 'Returns 400 if CQL invalid, check syntax. Returns 401 if auth fails, verify credentials.'