enterprise-knowledge-mcp
Enterprise Knowledge Assistant
Ein Agentic AI Enterprise Knowledge Assistant, der Fragen aus Unternehmensrichtliniendokumenten mithilfe von RAG, LangGraph, MCP, RAGAS, Ollama und LangSmith beantwortet.
Das System ruft relevante Informationen aus Unternehmens-PDFs ab, verwendet einen LangGraph-Workflow zur Erzeugung einer fundierten Antwort, bewertet die Antwort mit RAGAS und bietet Beobachtbarkeit durch LangSmith.
1. Projektübersicht
Der Enterprise Knowledge Assistant ist dafür ausgelegt, natürlichsprachliche Fragen mithilfe von Informationen aus Unternehmensdokumenten zu beantworten.
Anstatt sich nur auf das vortrainierte Wissen des LLM zu verlassen, folgt die Anwendung einem Retrieval-Augmented-Generation-Workflow:
Unternehmens-PDF-Dokumente werden geladen.
Dokumente werden in kleinere Chunks aufgeteilt.
Chunks werden in Embeddings umgewandelt.
Embeddings werden in ChromaDB gespeichert.
Eine Benutzerfrage wird semantisch mit der Wissensbasis abgeglichen.
Der LangGraph-Retriever-Agent erhält den relevanten Kontext über die MCP-Integration.
Der Response-Agent erzeugt eine Antwort, die auf dem abgerufenen Kontext basiert.
Der Evaluator-Agent bewertet die erzeugte Antwort mit RAGAS.
LangSmith bietet End-to-End-Tracing und Beobachtbarkeit.
Wissensquellen
Das Projekt verwendet Unternehmensdokumente wie:
Remote_Work_Policy.pdfEmployee_Handbook.pdf
Related MCP server: Corporate Tools MCP Server
2. Hauptfunktionen
Beantwortung von Fragen zu Unternehmensdokumenten
Retrieval-Augmented Generation (RAG)
Semantische Suche über Unternehmensdokumente
ChromaDB-Vektordatenbank
HuggingFace-Embeddings
LangGraph-Agenten-Orchestrierung
Benutzerdefinierter MCP-Server
MCP-Tool-basierter Abruf von Unternehmenswissen
Aktive MCP-Nutzung durch den LangGraph-Retriever-Agenten
Ollama-LLM-Inferenz
gpt-oss:120b-cloudfür die AntwortgenerierungRAGAS-Bewertung
Faithfulness-Bewertung
Answer-Relevancy-Bewertung
LangSmith-Tracing und Beobachtbarkeit
Sichtbarkeit der LangGraph-Ausführung Knoten für Knoten
Quellenangabe
Modulare Python-Architektur
3. Architekturübersicht
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]Ablauf auf hoher Ebene
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. Technologie-Stack
Technologie Zweck
Python Kernanwendung
LangChain LLM- und RAG-Komponenten
LangGraph Orchestrierung des Agenten-Workflows
ChromaDB Vektordatenbank
HuggingFace Dokumenten-Embeddings
Ollama LLM-Inferenzschnittstelle
gpt-oss:120b-cloud Antwortgenerierung
qwen3:4b Bewertungsmodell
RAGAS RAG-Bewertung
MCP Tool-basierter Wissenszugriff
LangSmith Beobachtbarkeit und Tracing
PyPDF Laden von PDF-Dokumenten
python-dotenv Umgebungskonfiguration
5. Projektstruktur
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.mdHalten Sie
.envaus der Versionskontrolle heraus. API-Schlüssel und Geheimnisse dürfen niemals in GitHub committet werden.
6. RAG-Design
6.1 Dokumentenquelle
Die Wissensbasis enthält Unternehmens-PDF-Dokumente:
Remote_Work_Policy.pdf
Employee_Handbook.pdf
Leave_Policy.pdfDie PDFs werden mit pypdf geladen.
Jede Seite wird mit Quellen- und Seitenmetadaten verarbeitet, damit abgerufene Informationen ihrem Herkunftsdokument zugeordnet werden können.
6.2 Laden der Dokumente
Die Ingestions-Pipeline ist:
PDF Documents
|
v
PyPDF
|
v
Page-level Text Extraction
|
v
Source + Page MetadataDer Lader extrahiert Text Seite für Seite und speichert:
Dokumenttext
Quelldateiname
Seitennummer
6.3 Chunking-Strategie
Das Projekt verwendet RecursiveCharacterTextSplitter.
Aktuelle Konfiguration:
chunk_size = 800
chunk_overlap = 120Der Überlappungsbereich hilft, den Kontext zwischen benachbarten Chunks zu erhalten.
Chunking hilft dabei:
die Abrufpräzision zu verbessern
unnötigen Kontext zu reduzieren
Prompts überschaubar zu halten
bedeutungsvolle Richtlinienabschnitte zu erhalten
6.4 Embedding-Modell
Das Projekt verwendet:
BAAI/bge-small-en-v1.5über HuggingFaceEmbeddings.
Embeddings werden lokal mit CPU-Konfiguration erzeugt und vor der Ähnlichkeitssuche normalisiert.
6.5 Vektordatenbank
Das Projekt verwendet:
ChromaDBCollection:
enterprise_knowledgePersistierte Vektordatenbank:
./chroma_db6.6 Abruf
Der Retriever führt eine semantische Ähnlichkeitssuche gegen ChromaDB durch.
Die aktuelle Standardanzahl für den Abruf ist:
TOP_K = 4Die abgerufenen Chunks werden als Kontext an den Response-Agenten übergeben.
7. LangGraph-Design
LangGraph orchestriert den Agentic-AI-Workflow.
Graph
START
|
v
Retriever Agent
|
v
Response Agent
|
v
Evaluator Agent
|
v
END7.1 Knoten 1 --- Retriever-Agent
Verantwortung
Ruft relevantes Unternehmenswissen für die Benutzerfrage ab.
Verarbeitung
Question
|
v
MCP Client
|
v
MCP Server
|
v
search_enterprise_knowledge
|
v
RAG / ChromaDB
|
v
Relevant ContextAusgabe
Abgerufener Kontext
Quelleninformationen
Der Retriever-Agent ruft das MCP-Tool während der normalen LangGraph-Ausführung aktiv auf.
7.2 Knoten 2 --- Response-Agent
Verantwortung
Erzeugt die endgültige Antwort mithilfe der Benutzerfrage und des abgerufenen Unternehmenskontexts.
Modell
gpt-oss:120b-cloudEingabe
Benutzerfrage
Abgerufener Kontext
Ausgabe
Eine fundierte natürlichsprachliche Antwort.
7.3 Knoten 3 --- Evaluator-Agent
Verantwortung
Bewertet die erzeugte Antwort.
Metriken
Faithfulness
Answer Relevancy
Die Bewertungen und die Interpretation werden zum endgültigen Anwendungsergebnis hinzugefügt.
8. MCP-Integration
Das Projekt enthält einen benutzerdefinierten MCP-Server für den Abruf von Unternehmenswissen.
MCP-Server
mcp_server/server.pyDer MCP-Server ist mit dem MCP-Python-SDK implementiert.
MCP-Tools
search_enterprise_knowledge
Durchsucht die Unternehmenswissensbasis mithilfe einer natürlichsprachlichen Abfrage.
Beispiel:
search_enterprise_knowledge(
query="What are the key requirements for employees working remotely?"
)get_document_sources
Gibt verfügbare Unternehmensdokumentquellen zurück.
8.1 Aktive MCP-Nutzung durch LangGraph
Dies ist eine zentrale Projektanforderung.
Die MCP-Integration wird während der normalen LangGraph-Ausführung aktiv genutzt. Sie ist nicht nur ein eigenständiger Server.
Der Ausführungsablauf ist:
LangGraph Retriever Agent
|
v
MCP Client
|
v
MCP Server
|
v
search_enterprise_knowledge
|
v
RAG Search
|
v
Retrieved ContextDie Anwendungsausgabe bestätigt den Aufruf ausdrücklich:
NODE 1: RETRIEVER AGENT
Calling MCP tool: search_enterprise_knowledge
MCP retrieval completed.Dies zeigt, dass ein LangGraph-Knoten die MCP-Integration während der Ausführung aktiv nutzt.
8.2 MCP-Tools überprüfen
Vom Projektstammverzeichnis aus:
python -c "import asyncio; from mcp_server.server import mcp; tools=asyncio.run(mcp.list_tools()); print([t.name for t in tools])"Erwartet:
['search_enterprise_knowledge', 'get_document_sources']9. RAGAS-Bewertung
RAGAS bewertet die Qualität der erzeugten Antwort.
Erfasste Metriken
Faithfulness
Misst, ob die erzeugte Antwort durch den abgerufenen Kontext gestützt wird.
Answer Relevancy
Misst, ob die erzeugte Antwort die Benutzerfrage beantwortet.
Bewertungsablauf
Retrieved Context
|
v
Generated Answer
|
+----------------------+
| |
v v
Faithfulness Answer Relevancy
| |
+----------+-----------+
|
v
RAGAS ResultBeispielbewertung
Eine kürzlich erfolgreiche Anwendungsausführung ergab:
Faithfulness: 0.9500
Answer Relevancy: 0.9500
Interpretation: ExcellentDie Bewertungen können je nach Frage, abgerufenem Kontext, erzeugter Antwort, Bewertungsmodell und Bewertungsbedingungen variieren.
10. LangSmith-Beobachtbarkeit
LangSmith bietet Beobachtbarkeit in den Agentic-AI-Workflow.
Es ermöglicht die Überprüfung von:
LangGraph-Ausführung
Einzelne Graphknoten
LLM-Aufrufe
Eingaben und Ausgaben
Ausführungslatenz
Bewertungsergebnisse
Workflow-Verhalten
Beispielkonfiguration:
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=<your-langsmith-api-key>
LANGSMITH_PROJECT=enterprise-knowledge-assistantCommitten Sie den API-Schlüssel nicht in GitHub.
11. Einrichtungsanweisungen
Voraussetzungen
Python 3.10+
Ollama
Git
Virtuelle Umgebung erstellen
Windows
python -m venv venv
venv\Scripts\activateLinux/macOS
python3 -m venv venv
source venv/bin/activateAbhängigkeiten installieren
python -m pip install -r requirements.txtUmgebung konfigurieren
Erstellen Sie .env im Projektstammverzeichnis:
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. Dokumenten-Ingestion
Legen Sie die Unternehmens-PDFs in:
data/
├── Remote_Work_Policy.pdf
└── Employee_Handbook.pdfAusführen:
python -m scripts.ingestDie Ingestions-Pipeline ist:
PDF
|
v
Text Extraction
|
v
Chunking
|
v
Embedding Generation
|
v
ChromaDB13. Anwendung ausführen
Nach der Ingestion:
python -m scripts.runSie werden sehen:
============================================================
ENTERPRISE KNOWLEDGE ASSISTANT
============================================================
Ask your question:Geben Sie eine natürlichsprachliche Frage ein.
14. Beispielfragen
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. Erwartete Ausführung
Ein erfolgreicher Lauf folgt dieser Reihenfolge:
============================================================
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: ExcellentDas endgültige Ergebnis enthält:
Frage
Erzeugte Antwort
Quellen
RAGAS-Bewertungen
Bewertungsinterpretation
16. Nachweise und Screenshots
Platzieren Sie alle Screenshots im Verzeichnis screenshots/.
EKA1 --- LangSmith-Beobachtbarkeit
Zeigt LangSmith-Tracing und Beobachtbarkeit des LangGraph-Workflows.

EKA2 --- Anwendungsstart
Zeigt den Anwendungsstart und die Benutzerfrage.

EKA3 --- RAGAS-Bewertungsergebnisse
Zeigt RAGAS-Bewertungsergebnisse.

EKA4 --- Endgültige Anwendungsausgabe
Zeigt die von der Anwendung erzeugte endgültige Antwort.

EKA5 --- MCP-Tool-Aufruf
Zeigt den Retriever-Agenten beim Aufruf von:
Calling MCP tool: search_enterprise_knowledge
MCP retrieval completed.Dies ist ein direkter Nachweis, dass MCP während der Graphausführung aktiv genutzt wird.

EKA6 --- RAGAS-Bewertung und Endergebnis
Zeigt den Evaluator-Agenten, Faithfulness, Answer Relevancy, Interpretation und das erzeugte Ergebnis.

EKA7 --- Endgültige Ausgabe, Quellen und RAGAS
Zeigt die endgültige Antwort, MCP-Quelleninformationen und RAGAS-Bewertungen.

17. Anforderungserfüllung
Das Projekt erfüllt die festgelegten Anforderungen an den Enterprise Knowledge Assistant in den Bereichen RAG, LangGraph, MCP, Bewertung, Beobachtbarkeit und endgültige Antwortgenerierung.
Anforderung | Status | Umsetzung |
Unternehmenswissensquelle | Erfüllt | Unternehmens-PDF-Dokumente werden mit PyPDF geladen, einschließlich |
RAG-Implementierung | Erfüllt | Dokumente werden mithilfe rekursiver Textaufteilung ( |
LangGraph | Erfüllt | Ein |
MCP-Integration | Erfüllt | Ein benutzerdefinierter MCP-Server stellt |
RAGAS-Bewertung | Erfüllt | Der Evaluator-Agent berechnet Faithfulness und Answer Relevancy und zeigt die Bewertungsergebnisse und Interpretation an. Beispielergebnis: 0.95 Faithfulness, 0.95 Answer Relevancy — Ausgezeichnet. |
Beobachtbarkeit | Erfüllt | LangSmith-Tracing bietet Einblick in die LangGraph-Ausführung, einzelne Knoten, LLM-Aufrufe, Eingaben, Ausgaben, Latenz, abgerufenen Kontext und Bewertungsergebnisse. |
Graph-Ausführungs-Trace | Erfüllt | Die Ausführung Knoten für Knoten wird für den Retriever-Agenten, Response-Agenten und Evaluator-Agenten sowohl in der Anwendungsausgabe als auch in LangSmith erfasst. |
Endgültige Anwendungsausgabe | Erfüllt | Die Anwendung erzeugt eine fundierte endgültige Antwort, die die Benutzerfrage, die erzeugte Antwort, Quelleninformationen, RAGAS-Bewertungen und die Bewertungsinterpretation enthält. |
Gesamtstatus
Alle festgelegten Projektanforderungen sind implementiert und erfüllt.
Der vollständige Workflow ist:
Unternehmens-PDFs → RAG-Retrieval → MCP-Tool → LangGraph-Agenten → LLM-Antwort → RAGAS-Evaluation → LangSmith-Observability → Endausgabe
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