enterprise-knowledge-mcp
엔터프라이즈 지식 어시스턴트
에이전틱 AI 엔터프라이즈 지식 어시스턴트로, RAG, LangGraph, MCP, RAGAS, Ollama, LangSmith를 사용하여 엔터프라이즈 정책 문서의 질문에 답변합니다.
이 시스템은 엔터프라이즈 PDF에서 관련 정보를 검색하고, LangGraph 워크플로를 사용하여 근거 기반 응답을 생성하며, RAGAS를 사용하여 응답을 평가하고, LangSmith를 통해 관찰 가능성을 제공합니다.
1. 프로젝트 개요
엔터프라이즈 지식 어시스턴트는 엔터프라이즈 문서에 포함된 정보를 사용하여 자연어 질문에 답변하도록 설계되었습니다.
LLM의 사전 학습된 지식에만 의존하는 대신, 이 애플리케이션은 RAG(검색 증강 생성) 워크플로를 따릅니다:
엔터프라이즈 PDF 문서가 로드됩니다.
문서가 더 작은 청크로 분할됩니다.
청크가 임베딩으로 변환됩니다.
임베딩이 ChromaDB에 저장됩니다.
사용자 질문이 지식 베이스와 의미적으로 매칭됩니다.
LangGraph 검색기 에이전트가 MCP 통합을 통해 관련 컨텍스트를 획득합니다.
응답 에이전트가 검색된 컨텍스트에 근거한 답변을 생성합니다.
평가 에이전트가 RAGAS를 사용하여 생성된 답변을 평가합니다.
LangSmith가 종단 간 추적 및 관찰 가능성을 제공합니다.
지식 소스
이 프로젝트는 다음과 같은 엔터프라이즈 문서를 사용합니다:
Remote_Work_Policy.pdfEmployee_Handbook.pdf
Related MCP server: Corporate Tools MCP Server
2. 주요 기능
엔터프라이즈 문서 질의응답
검색-증강 생성(RAG)
엔터프라이즈 문서에 대한 의미 검색
ChromaDB 벡터 데이터베이스
HuggingFace 임베딩
LangGraph 에이전트 오케스트레이션
커스텀 MCP 서버
MCP 도구 기반 엔터프라이즈 지식 검색
LangGraph 검색기 에이전트의 활성 MCP 사용
Ollama LLM 추론
응답 생성을 위한
gpt-oss:120b-cloudRAGAS 평가
충실도(Faithfulness) 평가
답변 관련성(Answer Relevancy) 평가
LangSmith 추적 및 관찰 가능성
노드별 LangGraph 실행 가시성
소스 귀속(Source attribution)
모듈식 Python 아키텍처
3. 아키텍처 개요
flowchart TD
A[User Question] --> B[LangGraph Orchestrator]
B --> C[Retriever Agent]
C --> D[MCP Client]
D --> E[Custom MCP Server]
E --> F[search_enterprise_knowledge]
F --> G[ChromaDB Vector Search]
G --> H[Relevant Document Chunks]
H --> C
C --> I[Response Agent]
I --> J[gpt-oss:120b-cloud]
J --> K[Evaluator Agent]
K --> L[RAGAS]
L --> M[Final Answer + Evaluation]
B -. tracing .-> N[LangSmith]하이레벨 흐름
User Question
|
v
LangGraph
|
v
Retriever Agent
|
v
MCP Client
|
v
MCP Server
|
v
search_enterprise_knowledge
|
v
ChromaDB
|
v
Retrieved Context
|
v
Response Agent
|
v
gpt-oss:120b-cloud
|
v
Evaluator Agent
|
v
RAGAS
|
v
Final Answer4. 기술 스택
기술 용도
Python 핵심 애플리케이션
LangChain LLM 및 RAG 구성 요소
LangGraph 에이전트 워크플로 오케스트레이션
ChromaDB 벡터 데이터베이스
HuggingFace 문서 임베딩
Ollama LLM 추론 인터페이스
gpt-oss:120b-cloud 응답 생성
qwen3:4b 평가 모델
RAGAS RAG 평가
MCP 도구 기반 지식 접근
LangSmith 관찰 가능성 및 추적
PyPDF PDF 문서 로드
python-dotenv 환경 구성
5. 프로젝트 구조
enterprise-knowledge-assistant/
│
├── data/
│ ├── Remote_Work_Policy.pdf
│ └── Employee_Handbook.pdf
│
├── chroma_db/
│
├── mcp_server/
│ └── server.py
│
├── src/
│ ├── agents/
│ │ ├── retriever_agent.py
│ │ ├── response_agent.py
│ │ └── evaluator_agent.py
│ │
│ ├── rag/
│ │ ├── loader.py
│ │ ├── embeddings.py
│ │ ├── vectorstore.py
│ │ └── retriever.py
│ │
│ ├── graph.py
│ ├── state.py
│ └── config.py
│
├── scripts/
│ ├── ingest.py
│ └── run.py
│
├── screenshots/
│ ├── EKA1.png
│ ├── EKA2.png
│ ├── EKA3.png
│ ├── EKA4.png
│ ├── EKA5.png
│ ├── EKA6.png
│ └── EKA7.png
│
├── .env
├── .gitignore
├── requirements.txt
└── README.md
.env파일을 소스 제어에서 제외하세요. API 키와 비밀 정보는 절대 GitHub에 커밋해서는 안 됩니다.
6. RAG 설계
6.1 문서 소스
지식 베이스에는 엔터프라이즈 PDF 문서가 포함됩니다:
Remote_Work_Policy.pdf
Employee_Handbook.pdf
Leave_Policy.pdfPDF는 pypdf를 사용하여 로드됩니다.
각 페이지는 소스 및 페이지 메타데이터와 함께 처리되어, 검색된 정보가 원본 문서와 연결될 수 있도록 합니다.
6.2 문서 로딩
수집 파이프라인은 다음과 같습니다:
PDF Documents
|
v
PyPDF
|
v
Page-level Text Extraction
|
v
Source + Page Metadata로더는 페이지별로 텍스트를 추출하고 다음을 저장합니다:
문서 텍스트
소스 파일 이름
페이지 번호
6.3 청킹 전략
이 프로젝트는 RecursiveCharacterTextSplitter를 사용합니다.
현재 구성:
chunk_size = 800
chunk_overlap = 120오버랩은 인접한 청크 간의 컨텍스트를 보존하는 데 도움이 됩니다.
청킹은 다음에 도움이 됩니다:
검색 정밀도 향상
불필요한 컨텍스트 감소
프롬프트를 관리 가능한 크기로 유지
의미 있는 정책 섹션 보존
6.4 임베딩 모델
이 프로젝트는 다음을 사용합니다:
BAAI/bge-small-en-v1.5HuggingFaceEmbeddings를 통해 사용됩니다.
임베딩은 CPU 구성으로 로컬에서 생성되며, 유사도 검색 전에 정규화됩니다.
6.5 벡터 데이터베이스
이 프로젝트는 다음을 사용합니다:
ChromaDB컬렉션:
enterprise_knowledge영구 저장 벡터 데이터베이스:
./chroma_db6.6 검색
검색기는 ChromaDB에 대해 의미적 유사도 검색을 수행합니다.
현재 기본 검색 수:
TOP_K = 4검색된 청크는 컨텍스트로 응답 에이전트에 전달됩니다.
7. LangGraph 설계
LangGraph는 에이전트 AI 워크플로를 오케스트레이션합니다.
그래프
START
|
v
Retriever Agent
|
v
Response Agent
|
v
Evaluator Agent
|
v
END7.1 노드 1 --- 검색기 에이전트
책임
사용자 질문에 대한 관련 엔터프라이즈 지식을 검색합니다.
처리
Question
|
v
MCP Client
|
v
MCP Server
|
v
search_enterprise_knowledge
|
v
RAG / ChromaDB
|
v
Relevant Context출력
검색된 컨텍스트
소스 정보
검색기 에이전트는 일반 LangGraph 실행 중에 MCP 도구를 적극적으로 호출합니다.
7.2 노드 2 --- 응답 에이전트
책임
사용자 질문과 검색된 엔터프라이즈 컨텍스트를 사용하여 최종 답변을 생성합니다.
모델
gpt-oss:120b-cloud입력
사용자 질문
검색된 컨텍스트
출력
근거 기반 자연어 응답.
7.3 노드 3 --- 평가 에이전트
책임
생성된 답변을 평가합니다.
지표
충실도(Faithfulness)
답변 관련성(Answer Relevancy)
점수와 해석은 최종 애플리케이션 결과에 추가됩니다.
8. MCP 통합
이 프로젝트에는 엔터프라이즈 지식 검색을 위한 커스텀 MCP 서버가 포함되어 있습니다.
MCP 서버
mcp_server/server.pyMCP 서버는 MCP Python SDK를 사용하여 구현됩니다.
MCP 도구
search_enterprise_knowledge
자연어 쿼리를 사용하여 엔터프라이즈 지식 베이스를 검색합니다.
예시:
search_enterprise_knowledge(
query="What are the key requirements for employees working remotely?"
)get_document_sources
사용 가능한 엔터프라이즈 문서 소스를 반환합니다.
8.1 LangGraph의 활성 MCP 사용
이것은 핵심 프로젝트 요구 사항입니다.
MCP 통합은 일반 LangGraph 실행 중에 적극적으로 사용됩니다. 단순히 독립 실행형 서버만이 아닙니다.
실행 흐름은 다음과 같습니다:
LangGraph Retriever Agent
|
v
MCP Client
|
v
MCP Server
|
v
search_enterprise_knowledge
|
v
RAG Search
|
v
Retrieved Context애플리케이션 출력은 호출을 명시적으로 확인합니다:
NODE 1: RETRIEVER AGENT
Calling MCP tool: search_enterprise_knowledge
MCP retrieval completed.이는 LangGraph 노드가 실행 중에 MCP 통합을 적극적으로 사용함을 보여줍니다.
8.2 MCP 도구 확인
프로젝트 루트에서:
python -c "import asyncio; from mcp_server.server import mcp; tools=asyncio.run(mcp.list_tools()); print([t.name for t in tools])"예상 결과:
['search_enterprise_knowledge', 'get_document_sources']9. RAGAS 평가
RAGAS는 생성된 응답의 품질을 평가합니다.
수집된 지표
충실도(Faithfulness)
생성된 답변이 검색된 컨텍스트에 의해 뒷받침되는지 측정합니다.
답변 관련성(Answer Relevancy)
생성된 응답이 사용자 질문을 다루는지 측정합니다.
평가 흐름
Retrieved Context
|
v
Generated Answer
|
+----------------------+
| |
v v
Faithfulness Answer Relevancy
| |
+----------+-----------+
|
v
RAGAS Result평가 예시
최근 성공적인 애플리케이션 실행 결과:
Faithfulness: 0.9500
Answer Relevancy: 0.9500
Interpretation: Excellent점수는 질문, 검색된 컨텍스트, 생성된 응답, 평가 모델 및 평가 조건에 따라 달라질 수 있습니다.
10. LangSmith 관찰 가능성
LangSmith는 에이전트 AI 워크플로에 대한 관찰 가능성을 제공합니다.
다음을 검사할 수 있습니다:
LangGraph 실행
개별 그래프 노드
LLM 호출
입력 및 출력
실행 지연 시간
평가 결과
워크플로 동작
예시 구성:
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=<your-langsmith-api-key>
LANGSMITH_PROJECT=enterprise-knowledge-assistantAPI 키를 GitHub에 커밋하지 마세요.
11. 설정 지침
사전 요구 사항
Python 3.10 이상
Ollama
Git
가상 환경 생성
Windows
python -m venv venv
venv\Scripts\activateLinux/macOS
python3 -m venv venv
source venv/bin/activate의존성 설치
python -m pip install -r requirements.txt환경 구성
프로젝트 루트에 .env를 생성하세요:
OLLAMA_BASE_URL=http://localhost:11434
LLM_MODEL=gpt-oss:120b-cloud
EVALUATOR_MODEL=qwen3:4b
EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
VECTOR_DB_PATH=./chroma_db
COLLECTION_NAME=enterprise_knowledge
TOP_K=4
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=<your-langsmith-api-key>
LANGSMITH_PROJECT=enterprise-knowledge-assistant12. 문서 수집
엔터프라이즈 PDF를 다음 위치에 배치하세요:
data/
├── Remote_Work_Policy.pdf
└── Employee_Handbook.pdf실행:
python -m scripts.ingest수집 파이프라인은 다음과 같습니다:
PDF
|
v
Text Extraction
|
v
Chunking
|
v
Embedding Generation
|
v
ChromaDB13. 애플리케이션 실행
수집 후:
python -m scripts.run다음이 표시됩니다:
============================================================
ENTERPRISE KNOWLEDGE ASSISTANT
============================================================
Ask your question:자연어 질문을 입력하세요.
14. 샘플 질문
What are the key requirements for employees working remotely?What is the remote work policy?What are the rules regarding working from another city or country?What information security requirements apply to remote workers?What should an employee do if internet or power issues prevent them from working remotely?15. 예상 실행
성공적인 실행은 다음 순서를 따릅니다:
============================================================
NODE 1: RETRIEVER AGENT
============================================================
Calling MCP tool: search_enterprise_knowledge
MCP retrieval completed.
============================================================
NODE 2: RESPONSE AGENT
============================================================
Generated answer:
...
============================================================
NODE 3: EVALUATOR AGENT
============================================================
Running local evaluation...
EVALUATION RESULTS
----------------------------------------
Faithfulness: 0.9500
Answer Relevancy: 0.9500
Interpretation: Excellent최종 결과에는 다음이 포함됩니다:
질문
생성된 답변
소스
RAGAS 점수
평가 해석
16. 증거 및 스크린샷
모든 스크린샷을 screenshots/ 디렉토리에 배치하세요.
EKA1 --- LangSmith 관찰 가능성
LangGraph 워크플로의 LangSmith 추적 및 관찰 가능성을 보여줍니다.

EKA2 --- 애플리케이션 시작
애플리케이션 시작과 사용자 질문을 보여줍니다.

EKA3 --- RAGAS 평가 결과
RAGAS 평가 결과를 보여줍니다.

EKA4 --- 최종 애플리케이션 출력
애플리케이션이 생성한 최종 답변을 보여줍니다.

EKA5 --- MCP 도구 호출
검색기 에이전트가 다음을 호출하는 것을 보여줍니다:
Calling MCP tool: search_enterprise_knowledge
MCP retrieval completed.이것은 MCP가 그래프 실행 중에 적극적으로 사용된다는 직접적인 증거입니다.

EKA6 --- RAGAS 평가 및 최종 결과
평가 에이전트, 충실도, 답변 관련성, 해석 및 생성된 결과를 보여줍니다.

EKA7 --- 최종 출력, 소스 및 RAGAS
최종 답변, MCP 소스 정보 및 RAGAS 점수를 보여줍니다.

17. 요구 사항 준수
이 프로젝트는 RAG, LangGraph, MCP, 평가, 관찰 가능성 및 최종 응답 생성 전반에 걸쳐 지정된 엔터프라이즈 지식 어시스턴트 요구 사항을 충족합니다.
요구 사항 | 상태 | 구현 |
엔터프라이즈 지식 소스 | 충족 | 엔터프라이즈 PDF 문서가 PyPDF로 로드되며, |
RAG 구현 | 충족 | 문서는 재귀적 텍스트 분할( |
LangGraph | 충족 |
|
MCP 통합 | 충족 | 커스텀 MCP 서버가 |
RAGAS 평가 | 충족 | 평가 에이전트가 충실도와 답변 관련성을 계산하고 평가 결과와 해석을 표시합니다. 예시 결과: 0.95 충실도, 0.95 답변 관련성 — 우수. |
관찰 가능성 | 충족 | LangSmith 추적은 LangGraph 실행, 개별 노드, LLM 호출, 입력, 출력, 지연 시간, 검색된 컨텍스트 및 평가 결과에 대한 가시성을 제공합니다. |
그래프 실행 추적 | 충족 | 검색기 에이전트, 응답 에이전트 및 평가 에이전트에 대한 노드별 실행이 애플리케이션 출력과 LangSmith 모두에서 캡처됩니다. |
최종 애플리케이션 출력 | 충족 | 애플리케이션은 사용자 질문, 생성된 응답, 소스 정보, RAGAS 점수 및 평가 해석을 포함하는 근거 기반 최종 답변을 생성합니다. |
전체 상태
지정된 모든 프로젝트 요구 사항이 구현되고 충족되었습니다.
전체 워크플로는 다음과 같습니다:
기업 PDFs → RAG 검색 → MCP 도구 → LangGraph 에이전트 → LLM 응답 → RAGAS 평가 → LangSmith 옵저버빌리티 → 최종 출력
This server cannot be installed
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
- FlicenseNot gradedqualityDmaintenanceEnables hybrid search over policies using Reciprocal Rank Fusion and provides grounded, context-aware answers via a LangGraph agent with COSTAR prompting.3
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to search HR policies, create IT support tickets, and send external emails with configurable security levels and human-in-the-loop validation.
- FlicenseNot gradedqualityCmaintenanceEnables querying company knowledge base using RAG, providing accurate answers from internal documents via MCP.
- FlicenseNot gradedqualityBmaintenanceEnables SQL query execution and knowledge base search via RAG agent through two tools.
Related MCP Connectors
Your company's brain for AI agents. Cited, permission-aware knowledge across every system.
Shared, permission-aware company context for AI agents, with provenance, approvals and audit.
Search your knowledge bases from any AI assistant using hybrid RAG.
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/Shruti-Gorhe/enterprise-knowledge-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server