Skip to main content
Glama
PraneethGoud04

ParcelPilot MCP Server

📦 ParcelPilot AI

Intelligenter Kundensupport-Operations-Agent, entwickelt mit LangGraph, MCP, Agentic RAG und Streamlit.

ParcelPilot AI kann Kunden-/Konto-/Auftrags-/Ticketinformationen abrufen, Richtlinienfragen mithilfe von hybridem Retrieval beantworten, kundenspezifische Vereinbarungen anwenden und vor zustandsändernden Operationen eine Bestätigung erzwingen.

✨ Features

  • Auf LangGraph basierende Agenten-Orchestrierung

  • Remote-FastMCP-Server über Streamable HTTP

  • 9 MCP-Tools für Kundensupport-Operationen

  • Hybrides Agentic RAG mit Chroma + BM25

  • Abruf kundenspezifischer Vereinbarungen

  • Behandlung von Quellenautorität und Dokumenten-Priorität

  • Strukturierte Excel-Daten für Konten, Aufträge und Tickets

  • Mock-Rollenbasierte Zugriffskontrolle

  • Human-in-the-Loop-Bestätigung für Eskalationen und Folgemaßnahmen

  • Streamlit-Oberfläche zur Interaktion mit dem Agenten

Related MCP server: Enterprise MCP Gateway

🏗️ Architektur

                    ┌─────────────────────┐
                    │   Streamlit App     │
                    │      app.py         │
                    └──────────┬──────────┘
                               │
                               │ MCP / HTTP
                               ▼
                    ┌─────────────────────┐
                    │   FastMCP Server     │
                    │   mcp_server.py      │
                    └──────────┬──────────┘
                               │
              ┌────────────────┼────────────────┐
              │                │                │
              ▼                ▼                ▼
       Structured Data    Agentic RAG       Security
       Excel workbook    Chroma + BM25     Access checks
              │                │
              └────────────────┼────────────────┘
                               ▼
                    Grounded Tool Results
                               │
                               ▼
                         LangGraph Agent
                               │
                               ▼
                         Final Response

🔧 MCP-Tools

Der MCP-Server bietet Folgendes an:

  1. get_account

  2. get_order

  3. get_ticket

  4. search_knowledge

  5. search_customer_agreement

  6. calculate_service_credit

  7. prepare_escalation

  8. execute_escalation

  9. create_followup

Zustandsändernde Operationen verwenden vor der Ausführung einen Bestätigungsschritt.

📚 Agentic RAG

Die Retrieval-Pipeline kombiniert:

User Query
    ↓
Chroma Semantic Retrieval
    +
BM25 Keyword Retrieval
    ↓
Source Authority
    ↓
Customer-Aware Ranking
    ↓
Conflict / Precedence Handling
    ↓
Grounded Evidence
    ↓
LLM Answer

Dokumenten-Priorität:

  1. Aktuell unterzeichnete Kundenvereinbarung

  2. Aktuelle ParcelPilot-Richtlinie/SOP

  3. Andere gültige Dokumentation

Veraltete Dokumente erhalten eine niedrigere Autorität und sollten aktuelle Quellen nicht außer Kraft setzen.

📁 Projektstruktur

ParcelPilot/
│
├── app.py
├── mcp_server.py
├── PARCELPILOT.ipynb
├── ParcelPilot_Assessment_Data.xlsx
│
├── 01_Support_Policy_v3_CURRENT.pdf
├── 02_Support_Policy_v2_DEPRECATED.pdf
├── 03_Cancellation_and_Service_Credit_SOP_v4.pdf
├── 04_Product_Operations_Guide_and_Known_Issues.pdf
├── 05_Northstar_Logistics_Enterprise_Agreement.pdf
├── 06_LumenWorks_Service_Agreement.pdf
│
├── pyproject.toml
└── README.md

⚙️ Einrichtung

1. Repository klonen

git clone <YOUR_GITHUB_REPOSITORY_URL>
cd ParcelPilot

2. Abhängigkeiten installieren

Dieses Projekt verwendet pyproject.toml.

Mit uv:

uv sync

Oder installieren Sie die erforderlichen Pakete mithilfe Ihrer bevorzugten Python-Umgebung.

3. .env-Datei erstellen

Erstellen Sie eine .env-Datei im Projektstammverzeichnis:

OPENAI_API_KEY=your_openai_api_key
PARCELPILOT_USER=support_agent
MCP_HOST=0.0.0.0
MCP_PORT=8000

Setzen Sie für den Streamlit-Client die MCP-URL:

PARCELPILOT_MCP_URL=http://127.0.0.1:8000/mcp

Committen Sie nicht .env oder API-Schlüssel auf GitHub.

▶️ MCP-Server starten

Starten Sie zuerst den MCP-Server:

uv run python mcp_server.py

Der Server läuft unter:

http://127.0.0.1:8000/mcp

Im Terminal sollten die Startinformationen des ParcelPilot-MCP-Servers angezeigt werden.

▶️ Streamlit starten

In einem zweiten Terminal:

uv run streamlit run app.py

Öffnen Sie die im Terminal angezeigte Streamlit-URL, normalerweise:

http://localhost:8501

🔐 Prototyp-Zugriffskontrolle

Diese Einreichung enthält einen simulierten authentifizierten Benutzerkontext, um das Autorisierungsverhalten zu demonstrieren.

Zu den unterstützten Prototyp-Benutzern gehören:

support_agent
customer_acct_002
customer_acct_003
admin

Der Server verwendet PARCELPILOT_USER, um den aktuellen Prototyp-Benutzer auszuwählen.

In einem Produktionssystem würde dies durch echte Authentifizierung und Autorisierung ersetzt werden, beispielsweise durch vom Identitätsanbieter ausgestellte Tokens, Mandanten-/Konto-Claims und serverseitige Berechtigungsprüfungen.

🧑💼 Human-in-the-Loop

Für zustandsändernde Aktionen bereitet der Agent den Vorgang zunächst vor.

Beispiel:

User
  ↓
prepare_escalation
  ↓
Preview
  ↓
Explicit confirmation
  ↓
execute_escalation

Das Prototype verändert während der Ausführung keine persistenten Betriebsdaten.

🧪 Beispielabfragen

Probieren Sie diese Abfragen in der Streamlit-Anwendung aus:

What is the current status of ORD-1001?

Show me the account details for ACCT-001.

What is the cancellation fee for a BOOKED shipment?

Can Northstar Logistics cancel a BOOKED shipment without a fee?

What is Northstar Logistics' P1 response target?

What are the failed-pickup service-credit rules for LumenWorks?

What is the current Enterprise P1 response target?

Escalate ticket TKT-501 because the customer needs urgent assistance.

Beim Eskalationsbeispiel soll der Agent die Eskalation vorbereiten und vor der Ausführung eine Bestätigung anfordern.

🎯 Produktentscheidungen

Die Lösung zielt darauf ab, den Aufwand für Support-Agenten zu reduzieren, während operative Abläufe kontrolliert bleiben.

Zentrale Entscheidungen:

  • Verwendung von MCP, um den Agenten von den operativen Tools zu trennen.

  • Retrieval im MCP-Server bereitßen, statt es in die UI zu duplizieren.

  • Kombination von strukturierten Daten- und Dokument-Retrieval.

  • Kundenspezifische Vereinbarungen höher priorieren als allgemeine Richtlinien.

  • Explizite Bestätigung für zustandsändernde Aktionen verlangen.

  • Autorisierungsprüfungen auf der Tool-Ebene integrieren, nicht nur in der UI.

🚀 Zukünftige Verbesserungen

Bei einer Weiterentwicklung würde ich Folgendes priorisele:

  1. Authentifizierung und Tenant-Isolation in Produktion

  2. Dauerhaftes Audit-Logging für jeden Tool-Aufruf und jede Aktion

  3. Echte Ticket-/Best/Auftrags-Updates über Produktions-APIs

  4. Bessere Retrieval-Evaluierung und automatisierte RAG-Tests

  5. Beobachtbarkeit für Latenz, Tool-Fehler und Antwortqualität

  6. Genehmigungs-Workflows für hochrisikobehaftete Aktionen

  7. Support-Analytics und Erkundung von Kundenrisiken

📊 Erfolgskennzahl

Eine primäre Produktkennzahl wäre:

Support-Bearbeitungszeit pro Ticket

Ziel wäre it, und durchschnittliche Bearbeitungszeit zu senken, dabei hohe Genauigkeit beizubehalten und unbefugte oder falsche operative Aktionen zu verhindern.

📌 Einreichung

Demo-Video

https://drive.google.com/file/d/1gTZlZl4bx4oS4D68SWqcN6-uHPtcaT8l/view?usp=sharing


Erstellt als ParcelPilot-Assessment-Prototyp.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely access and act on CRM, order, support, and automation systems through the Model Context Protocol, with authentication, authorization, audit logging, and guardrails.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely call enterprise MCP tools with tenant-scoped RBAC, human approvals, audit logging, and multi-tool workflows across customer, order, document, and ticket data.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to securely query, search, and modify Salesforce data through standard Salesforce APIs, including record CRUD, SOQL/SOSL search, Bulk API 2.0 operations, composite calls, object discovery, and custom Apex REST endpoints.
    15
    MIT