Skip to main content
Glama
Shruti-Gorhe

enterprise-knowledge-mcp

by Shruti-Gorhe

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:

  1. Unternehmens-PDF-Dokumente werden geladen.

  2. Dokumente werden in kleinere Chunks aufgeteilt.

  3. Chunks werden in Embeddings umgewandelt.

  4. Embeddings werden in ChromaDB gespeichert.

  5. Eine Benutzerfrage wird semantisch mit der Wissensbasis abgeglichen.

  6. Der LangGraph-Retriever-Agent erhält den relevanten Kontext über die MCP-Integration.

  7. Der Response-Agent erzeugt eine Antwort, die auf dem abgerufenen Kontext basiert.

  8. Der Evaluator-Agent bewertet die erzeugte Antwort mit RAGAS.

  9. LangSmith bietet End-to-End-Tracing und Beobachtbarkeit.

Wissensquellen

Das Projekt verwendet Unternehmensdokumente wie:

  • Remote_Work_Policy.pdf

  • Employee_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-cloud für die Antwortgenerierung

  • RAGAS-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 Answer

4. 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.md

Halten Sie .env aus 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.pdf

Die 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 Metadata

Der 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 = 120

Der Ü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:

ChromaDB

Collection:

enterprise_knowledge

Persistierte Vektordatenbank:

./chroma_db

6.6 Abruf

Der Retriever führt eine semantische Ähnlichkeitssuche gegen ChromaDB durch.

Die aktuelle Standardanzahl für den Abruf ist:

TOP_K = 4

Die 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
END

7.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 Context

Ausgabe

  • 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-cloud

Eingabe

  • 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.py

Der 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 Context

Die 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 Result

Beispielbewertung

Eine kürzlich erfolgreiche Anwendungsausführung ergab:

Faithfulness: 0.9500
Answer Relevancy: 0.9500
Interpretation: Excellent

Die 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-assistant

Committen 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\activate

Linux/macOS

python3 -m venv venv
source venv/bin/activate

Abhängigkeiten installieren

python -m pip install -r requirements.txt

Umgebung 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-assistant

12. Dokumenten-Ingestion

Legen Sie die Unternehmens-PDFs in:

data/
├── Remote_Work_Policy.pdf
└── Employee_Handbook.pdf

Ausführen:

python -m scripts.ingest

Die Ingestions-Pipeline ist:

PDF
 |
 v
Text Extraction
 |
 v
Chunking
 |
 v
Embedding Generation
 |
 v
ChromaDB

13. Anwendung ausführen

Nach der Ingestion:

python -m scripts.run

Sie 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: Excellent

Das 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.

EKA1 - LangSmith Observability

EKA2 --- Anwendungsstart

Zeigt den Anwendungsstart und die Benutzerfrage.

EKA2 - Application Startup

EKA3 --- RAGAS-Bewertungsergebnisse

Zeigt RAGAS-Bewertungsergebnisse.

EKA3 - RAGAS Evaluation

EKA4 --- Endgültige Anwendungsausgabe

Zeigt die von der Anwendung erzeugte endgültige Antwort.

EKA4 - Final Output

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.

EKA5 - MCP Tool Invocation

EKA6 --- RAGAS-Bewertung und Endergebnis

Zeigt den Evaluator-Agenten, Faithfulness, Answer Relevancy, Interpretation und das erzeugte Ergebnis.

EKA6 - RAGAS Evaluation

EKA7 --- Endgültige Ausgabe, Quellen und RAGAS

Zeigt die endgültige Antwort, MCP-Quelleninformationen und RAGAS-Bewertungen.

EKA7 - Final Output and RAGAS


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 Remote_Work_Policy.pdf und Employee_Handbook.pdf, wobei Quellen- und Seitenmetadaten beibehalten werden.

RAG-Implementierung

Erfüllt

Dokumente werden mithilfe rekursiver Textaufteilung (chunk_size=800, chunk_overlap=120) in Chunks aufgeteilt, mit BAAI/bge-small-en-v1.5 eingebettet, in ChromaDB gespeichert, durch semantische Suche abgerufen und an das LLM zur fundierten Antwortgenerierung übergeben.

LangGraph

Erfüllt

Ein StateGraph orchestriert den Workflow Retriever Agent → Response Agent → Evaluator Agent mithilfe eines gemeinsamen Zustands.

MCP-Integration

Erfüllt

Ein benutzerdefinierter MCP-Server stellt search_enterprise_knowledge und get_document_sources bereit. Der LangGraph-Retriever-Agent ruft das MCP-Tool während der Ausführung aktiv auf, um Unternehmenswissen abzurufen.

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

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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