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:
get_accountget_orderget_ticketsearch_knowledgesearch_customer_agreementcalculate_service_creditprepare_escalationexecute_escalationcreate_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 AnswerDokumenten-Priorität:
Aktuell unterzeichnete Kundenvereinbarung
Aktuelle ParcelPilot-Richtlinie/SOP
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 ParcelPilot2. Abhängigkeiten installieren
Dieses Projekt verwendet pyproject.toml.
Mit uv:
uv syncOder 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=8000Setzen Sie für den Streamlit-Client die MCP-URL:
PARCELPILOT_MCP_URL=http://127.0.0.1:8000/mcpCommitten Sie nicht .env oder API-Schlüssel auf GitHub.
▶️ MCP-Server starten
Starten Sie zuerst den MCP-Server:
uv run python mcp_server.pyDer Server läuft unter:
http://127.0.0.1:8000/mcpIm 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
adminDer 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_escalationDas 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:
Authentifizierung und Tenant-Isolation in Produktion
Dauerhaftes Audit-Logging für jeden Tool-Aufruf und jede Aktion
Echte Ticket-/Best/Auftrags-Updates über Produktions-APIs
Bessere Retrieval-Evaluierung und automatisierte RAG-Tests
Beobachtbarkeit für Latenz, Tool-Fehler und Antwortqualität
Genehmigungs-Workflows für hochrisikobehaftete Aktionen
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.
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
The system of record for AI agent authority: playbooks, routed policy questions, reusable rules.
- StackOneOAuthcom.stackone
Give AI agents 30,000+ safe, token-optimized actions across Workday, SAP, Oracle + hundreds more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search HR policies, create IT support tickets, and send external emails with configurable security levels and human-in-the-loop validation.-
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityCmaintenanceEnables 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.-
- AlicenseAqualityBmaintenanceEnables 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.15MIT