Ask My Data
БесплатноНе проверенAutomatically routes natural language questions to RAG or Text2SQL paths to answer queries about virtual construction site data, supporting semantic search and
Описание
Automatically routes natural language questions to RAG or Text2SQL paths to answer queries about virtual construction site data, supporting semantic search and structured aggregation.
README
하나의 자연어 질문을 의미 검색(RAG) 과 데이터 집계(Text2SQL) 경로로 자동 라우팅해 답하는 MCP 서버. LangGraph 기반 Multi-Agent 파이프라인을 완전 합성 검색 평가 데이터로 검증하는 포트폴리오 프로젝트입니다.
실행 증거
아래 이미지는 2026-07-15에 클린 가상환경에서 MCP stdio 연결 후 tools/list와
search_documents를 실제 호출한 결과입니다.

| 검증 | 결과 |
|---|---|
pip install -e ".[dev]" |
통과 (Python 3.14.5) |
python -m pytest -q |
6 passed |
| MCP initialize · tools/list | 통과 — 3 tools |
search_documents 호출 |
통과 — API 키 없이 BM25 검색 |
ask와 query_stats는 라우팅·SQL 생성·답변 합성에 Claude를 사용하므로
ANTHROPIC_API_KEY가 필요합니다. 위 smoke test는 키나 외부 API 없이 검증 가능한 검색 경로입니다.
동일한 검증은 python scripts/smoke_test.py로 재현할 수 있습니다.
무엇을 보여주나
- MCP 서버 — 범용 LLM 클라이언트(Claude Desktop 등)에서 도구로 호출
- Multi-Agent 라우팅 — 질문 유형(
semantic/structured/both)을 판단해 경로 분기 - RAG — BM25 키워드 + (옵션)다국어 임베딩 Hybrid Search
- Text2SQL — 자연어 → 검증된 SELECT → 검색 실험 결과 집계
- Synthesize — 문서 근거와 정형 결과를 결합한 답변 생성
아키텍처
┌──────────┐
질문 ────▶ │ Router │ semantic / structured / both 분류
└────┬─────┘
┌───────┼────────┐
▼ ▼
┌─────────┐ ┌───────────┐
│ RAG │ │ Text2SQL │
│ (문서) │ │ (SQLite) │
└────┬────┘ └─────┬─────┘
└────────┬───────┘ (both: RAG → Text2SQL 순으로 이어붙임)
▼
┌────────────┐
│ Synthesize │ 근거 종합 → 자연어 답변
└────────────┘
검색 실험용 합성 데이터
data/는 특정 회사·고객·서비스와 무관하게 이 프로젝트를 위해 새로 만든 데이터입니다.
| 구성 | 내용 | 실험 질문 예시 |
|---|---|---|
| 문서 코퍼스 | 검색 지표·방법론 + 실시간 협업 편집 OT/CRDT 기술 문서 | “MRR과 nDCG의 차이는?”, “OT와 CRDT는 언제 선택해?” |
datasets |
언어·질의 수·문서 수가 다른 가상 데이터셋 3개 | “다국어 데이터셋은 무엇인가?” |
experiments |
BM25·Dense·Hybrid-RRF 가상 실험 9개 | “MRR이 가장 높은 실험은?” |
experiment_results |
데이터셋과 실험을 결합한 조회용 View | “한국어 데이터셋의 품질·지연 시간 비교” |
모든 이름, 설명, 지표와 지연 시간은 검색/RAG 실험을 위해 임의로 구성한 합성 값입니다. 실시간 협업 편집 문서는 사용자가 제공한 일반 기술 리서치 문서로, 합성 실험 수치와 분리되어 있습니다.
빠른 시작
# 1) 설치
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" # 기본 + 테스트
pip install -e ".[embeddings]" # 옵션: 다국어 임베딩 Hybrid Search
# 2) 환경변수
cp .env.example .env # ANTHROPIC_API_KEY 채우기
export $(cat .env | xargs) # 또는 direnv/python-dotenv
# 3) 합성 검색 실험 DB 생성
python data/build_sample_db.py
# 4) MCP 없이 바로 테스트 (CLI)
python -m src.cli "MRR이 뭐야?"
python -m src.cli "Mosaic 데이터셋에서 MRR이 가장 높은 실험은?"
python -m src.cli "nDCG@10이 가장 높은 실험은 무엇이고, nDCG는 어떻게 계산해?"
# 단위 테스트
python -m pytest -q
MCP 클라이언트에 연결 (Claude Desktop 예시)
claude_desktop_config.json:
{
"mcpServers": {
"ask-my-data": {
"command": "python",
"args": ["/absolute/path/to/ask-my-data-mcp/server.py"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}
노출 도구: ask (자동 라우팅) · search_documents (RAG) · query_stats (Text2SQL)
예시 질문과 라우팅
| 질문 | 라우팅 | 경로 |
|---|---|---|
| "MRR이 뭐야?" | semantic | RAG |
| "Mosaic 데이터셋에서 MRR이 가장 높은 실험은?" | structured | Text2SQL |
| "nDCG@10이 가장 높은 실험은 무엇이고, nDCG는 어떻게 계산해?" | both | RAG + Text2SQL |
기술 스택
Python · MCP · LangGraph · Anthropic Claude · rank-bm25 · sentence-transformers(옵션) · SQLite
관련 글
라이선스
MIT
Установка Ask My Data
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/feelgom/ask-my-data-mcpFAQ
Ask My Data MCP бесплатный?
Да, Ask My Data MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Ask My Data?
Нет, Ask My Data работает без API-ключей и переменных окружения.
Ask My Data — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Ask My Data в Claude Desktop, Claude Code или Cursor?
Открой Ask My Data на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Ask My Data with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
