Skip to main content
Glama
PraneethGoud04

ParcelPilot MCP Server

📦 ParcelPilot AI

LangGraph, MCP, Agentic RAG, Streamlit 기반의 지능형 고객 지원 운영 에이전트입니다.

ParcelPilot AI는 고객/계정/주문/티켓 정보를 조회하고, 하이브리드 검색으로 정책 질문에 답변하며, 고객별 계약을 적용하고, 상태 변경 작업 전에 확인 절차를 강제할 수 있습니다.

✨ 기능

  • LangGraph 기반 에이전트 오케스트레이션

  • Streamable HTTP 기반 원격 FastMCP 서버

  • 고객 지원 운영을 위한 9가지 MCP 도구

  • Chroma + BM25 기반 하이브리드 에이전틱 RAG

  • 고객별 계약 검색

  • 출처 권위 및 문서 우선순위 처리

  • 계정, 주문, 티켓 데이터의 구조화된 Excel 지원

  • Mock 기반 역할별 접근 제어

  • 에스컬레이션 및 후속 업무를 위한 HITL(Human-in-the-loop) 확인

  • 에이전트와 상호작용을 위한 Streamlit 인터페이스

Related MCP server: Enterprise MCP Gateway

🏗️ 아키텍처

                    ┌─────────────────────┐
                    │   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 도구

MCP 서버는 다음 도구를 제공합니다:

  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

상태 변경 작업은 실행 전에 확인 단계를 거칩니다.

📚 Agentic RAG

검색 파이프라인은 다음 요소를 결합합니다:

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

문서 우선순위:

  1. 현재 서명된 고객 계약

  2. 현재 ParcelPilot 정책/SOP

  3. 기타 유효한 문서

폐기된 문서는 낮은 권위를 가지며 현재 유효한 문서를 덮어써서는 안 됩니다.

📁 프로젝트 구조

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

⚙️ 설정

1. 저장소 복제

git clone <YOUR_GITHUB_REPOSITORY_URL>
cd ParcelPilot

2. 의존성 설치

이 프로젝트는 pyproject.toml을 사용합니다.

uv를 사용하는 경우:

uv sync

또는 선호하는 Python 환경에서 필요한 패키지를 설치합니다.

3. .env 생성

프로젝트 루트에 .env 파일을 생성합니다:

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

Streamlit 클라이언트의 경우 MCP URL을 설정합니다:

PARCELPILOT_MCP_URL=http://127.0.0.1:8000/mcp

.env 파일이나 API 키를 GitHub에 커밋하지 마십시오.

▶️ MCP 서버 실행

먼저 MCP 서버를 시작합니다:

uv run python mcp_server.py

서버는 다음에서 실행됩니다:

http://127.0.0.1:8000/mcp

터미널에서 ParcelPilot MCP 서버 시작 정보를 확인할 수 있습니다.

▶️ Streamlit 실행

두 번째 터미널에서:

uv run streamlit run app.py

터미널에 표시된 Streamlit URL을 엽니다. 일반적으로:

http://localhost:8501

🔐 프로토타입 접근 제어

본 제출물에는 인증 동작을 시연하기 위한 Mock 인증 사용자 컨텍스트가 포함되어 있습니다.

지원되는 프로토타입 사용자는 다음과 같습니다:

support_agent
customer_acct_002
customer_acct_003
admin

서버는 PARCELPILOT_USER를 사용하여 현재 프로토타입 사용자를 선택합니다.

프로덕션 환경에서는 ID 공급자가 발급한 토큰, 테넌트/계정 클레임, 서버 측 권한 검사 등 실제 인증 및 권한 부여로 대체됩니다.

🧑💼 HITL(Human-in-the-Loop)

상태 변경 작업의 경우 에이전트는 먼저 작업을 준비합니다.

예시:

User
  ↓
prepare_escalation
  ↓
Preview
  ↓
Explicit confirmation
  ↓
execute_escalation

프로토타입은 실행 중에 영구 운영 데이터를 수정하지 않습니다.

🧪 예시 쿼리

Streamlit 애플리케이션에서 다음 쿼리를 시도해 보세요:

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.

에스컬레이션 예시의 경우, 에이전트는 에스컬레이션을 준비하고 실행 전에 확인을 요청해야 합니다.

🎯 제품 결정

이 솔루션은 운영 작업을 통제하면서도 지원 담당자의 수고를 줄이는 데 중점을 둡니다.

핵심 결정:

  • MCP를 사용하여 에이전트와 운영 도구를 분리합니다.

  • 검색 기능을 UI에 복제하지 않고 MCP 서버 내에 유지합니다.

  • 구조화된 데이터와 문서 검색을 결합합니다.

  • 고객 계약에 일반 정책보다 높은 권위를 부여합니다.

  • 상태 변경 작업에는 명시적인 확인을 요구합니다.

  • UI에만 의존하지 않고 도구 계층에서 인가 검사를 수행합니다.

🚀 향후 개선 사항

개발을 계속한다면 다음을 우선순위로 두겠습니다:

  1. 프로덕션 인증 및 테넌트 격리

  2. 모든 도구 호출 및 작업에 대한 영구 감사 로그

  3. 프로덕션 API를 통한 실세계 티켓/주문 업데이트

  4. 개선된 검색 평가 및 자동화된 RAG 테스트

  5. 지연 시간, 도구 오류, 답변 품질에 대한 관측 가능성

  6. 영향력이 큰 작업에 대한 승인 워크플로우

  7. 지원 분석 및 고객 위험 감지

📊 성공 지표

대표적인 제품 지표는:

티켓당 지원 해결 시간(Support resolution time per ticket)

목표는 높은 정확도를 유지하고 허가되지 않은 잘못된 운영 작업을 방지하면서 평균 해결 시간을 단축하는 것입니다.

📌 제출

데모 비디오

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


ParcelPilot 평가 프로토타입으로 제작되었습니다.

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