Skip to main content
Glama

Admissions MCP Hub

거버넌스가 적용된 Model Context Protocol 서버로, 단일 MCP 계약을 통해 두 개의 독립적인 AI 채팅 앱에 코스, 배치, 수강료, 리드, 콜백 기능을 제공합니다.


이 프로젝트가 증명하는 것

  • MCP 서버 하나, 독립적인 클라이언트 두 개(학습자 + 카운슬러) — 중복 통합 없음

  • DB 자격 증명, 인증, 감사, 검증 — 모두 서버에 중앙 집중화

  • 쓰기 작업에는 확인 게이트(prepare → confirm) 필요 — LLM 단독으로는 리드를 생성할 수 없음

  • 모든 도구 호출은 감사됨 (실행자, 클라이언트, 인자 해시, 결과, 지연 시간)

  • MCP 없는 비교 데모는 MCP가 없을 때 잃게 되는 것을 보여줌

아키텍처


Related MCP server: ComplyOS

빠른 시작

# 1. PostgreSQL
docker compose up -d postgres

# 2. Migrate + seed
uv sync
uv run alembic upgrade head
uv run python scripts/seed_demo.py

# 3. Start services (4 terminals)
uv run uvicorn services.mcp_server.app:asgi_app --port 8010
uv run uvicorn services.learner_host.api:app --port 8020
uv run uvicorn services.counsellor_host.api:app --port 8030
uv run streamlit run ui/app.py --server.port 8501

**http://localhost:8501**을 열면 두 개의 채팅 탭(학습자 + 카운슬러)이 표시됩니다.

MCP 없는 비교: uv run streamlit run ui/no_mcp_demo.py --server.port 8502


사용해 보기

🎓 학습자 어시스턴트

프롬프트

동작

What courses do you have?

4개 코스 목록 표시

Tell me about the agentic AI course

배치 날짜 + 수강료 견적 + 정책

What is the admissions policy?

정책 텍스트 반환

I'd like a callback

리드 생성 전 ✅/❌ 확인 게이트

🎧 카운슬러 콘솔

프롬프트

동작

What courses are available?

4개 코스 목록 표시

Show me upcoming batches for agentic AI

좌석 정보 포함 3개 배치

Generate a fee quote for mlops

견적 ID + 합계(INR)

List my leads

배정된 리드 표시

Update stage for SCAI-XXXXXXXX to enrolled

✅/❌ 확인 게이트

전체 프롬프트와 예상 답변은 RUN_GUIDE.md 참조.


아키텍처

포트

서비스

역할

5433

PostgreSQL

진실의 원천 (courses, batches, leads, audit)

8010

MCP 서버

도구(11) + 리소스(8) + 프롬프트(2), JWT 인증, RBAC, 감사

8020

학습자 호스트

LangGraph 앱 — 학습자 JWT, 쓰기용 확인 게이트

8030

카운슬러 호스트

LangGraph 앱 — 카운슬러 JWT, 리드 관리

8501

Streamlit UI

두 개의 채팅 탭(MCP 기반)

8502

No-MCP 데모

동일한 흐름, 직접 DB 접근 — MCP가 방어하는 것을 보여줌

스택: Python 3.11 · MCP SDK · LangGraph · FastAPI · SQLAlchemy 2 · PostgreSQL 16 · Pydantic v2 · Ollama (qwen3.5:2b) · Streamlit


핵심 개념

개념

위치

중요한 이유

확인 게이트

leads_prepareleads_confirm_create

사람의 ✅ 없이는 LLM이 리드를 생성할 수 없음

멱등성

IdempotencyRepository (payload 해시)

네트워크 재시도가 중복을 만들지 않음

RBAC

_runner.pyROLE_TOOLS

학습자는 다른 사람의 리드를 볼 수 없음

감사

ToolAuditEvent 테이블

모든 호출 기록: 누가, 무엇을, 결과, 지연 시간

무상태성

서버 발급 ID (quote_id, lead_id)

세션 없이 수평 확장 가능


프로젝트 구조

scai-mcp-admissions/
├── services/
│   ├── mcp_server/          # MCP server (tools, resources, prompts, auth, audit)
│   ├── learner_host/        # LangGraph learner app (port 8020)
│   └── counsellor_host/     # LangGraph counsellor app (port 8030)
├── ui/
│   ├── app.py               # Streamlit — 2 chat tabs (MCP)
│   └── no_mcp_demo.py       # Streamlit — no-MCP comparison (direct DB)
├── packages/
│   ├── contracts/           # Pydantic tool inputs/outputs + domain models
│   ├── shared/              # Config, LLM adapter, JWT tokens
│   └── observability/       # Structured logging, tracing
├── scripts/
│   ├── seed_demo.py         # Seed 4 courses, 4 batches, 4 fee plans, 3 policies
│   ├── issue_dev_token.py   # Issue dev JWTs for manual testing
│   └── run_demo_checks.py   # Smoke tests against running server
├── tests/                   # unit, contract, integration, security, e2e
├── migrations/              # Alembic migrations
├── data/demo_seed/          # Seed data + knowledge_base.json
├── mcp_concept.ipynb        # MCP concept notebook (what/why/how/scale/use cases)
├── mcp_flow_diagram.mmd     # Mermaid source for architecture diagram
├── mcp_flow_diagram.png     # Rendered architecture diagram
├── RUN_GUIDE.md             # Step-by-step run guide with test prompts
└── docker-compose.yml        # PostgreSQL 16

테스트

uv run pytest              # all tests
uv run pytest -m unit      # just unit tests
uv run pytest -m contract  # contract tests

참고 자료

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-grade, LLM-agnostic MCP server that integrates AI models with tools for managing subscriptions, organizations, and payments via the Updation API. It features Redis-backed conversation memory, structured logging, and role-based access control for secure, scalable orchestration.
  • A
    license
    Not graded
    quality
    B
    maintenance
    AI-native compliance auditing engine for enterprise LMS, enabling querying compliance status, running audits, and validating assignment rules through natural language with MCP clients like Claude or Cursor.
    Business Source 1.1
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to safely query and act on school data (attendance, fees, student records) with strict role-based access control and a two-step write approval flow.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Single source of truth and control for agent-operated companies, managing business state with deterministic policy enforcement, seat identity, and hash-chained audit trail.

View all related MCP servers

Related MCP Connectors

  • Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.

  • Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.

  • Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.

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/avivek-dwivedi/custom-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server