Admissions MCP Hub
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
사용해 보기
🎓 학습자 어시스턴트
프롬프트 | 동작 |
| 4개 코스 목록 표시 |
| 배치 날짜 + 수강료 견적 + 정책 |
| 정책 텍스트 반환 |
| 리드 생성 전 ✅/❌ 확인 게이트 |
🎧 카운슬러 콘솔
프롬프트 | 동작 |
| 4개 코스 목록 표시 |
| 좌석 정보 포함 3개 배치 |
| 견적 ID + 합계(INR) |
| 배정된 리드 표시 |
| ✅/❌ 확인 게이트 |
전체 프롬프트와 예상 답변은 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
핵심 개념
개념 | 위치 | 중요한 이유 |
확인 게이트 |
| 사람의 ✅ 없이는 LLM이 리드를 생성할 수 없음 |
멱등성 |
| 네트워크 재시도가 중복을 만들지 않음 |
RBAC |
| 학습자는 다른 사람의 리드를 볼 수 없음 |
감사 |
| 모든 호출 기록: 누가, 무엇을, 결과, 지연 시간 |
무상태성 | 서버 발급 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참고 자료
mcp_concept.ipynb — MCP 개념 전체 워크스루
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceA 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.
- AlicenseNot gradedqualityBmaintenanceAI-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
- FlicenseNot gradedqualityCmaintenanceAn 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.
- FlicenseNot gradedqualityBmaintenanceSingle source of truth and control for agent-operated companies, managing business state with deterministic policy enforcement, seat identity, and hash-chained audit trail.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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