churn-mcp-server
churn-mcp-server
Предоставляет API прогнозирования оттока ml-production-template как инструмент MCP, чтобы MCP-совместимый клиент (Claude Desktop, Claude Code или любой MCP-клиент) мог напрямую вызывать predict_churn.
Дизайн
Это тонкий адаптер, а не переписывание сервера моделей. Сам он модель не загружает — он обращается по HTTP к эндпоинту /predict уже развернутого сервиса churn-api. Это означает:
Слой MCP можно переразвернуть или масштабировать независимо от модели.
Если
churn-apiперезапускается, этот слой перезапускать не нужно.«Настоящая» ML-система (FastAPI + MLflow) остаётся нетронутой; MCP — это дополнительный интерфейс поверх неё, что соответствует тому, как MCP реально интегрируют в существующий production-сервис, а не встраивают в сам сервер моделей.
Доступно два инструмента:
predict_churn— схема клиента из 19 полей из реального API; возвращает churn_probability / churn_prediction / threshold_used.check_model_health— проксирует эндпоинт/healthAPI.
Related MCP server: MCP from API
Примечание о версии
В официальном Python SDK mcp недавно вышла версия 2.0, в которой FastMCP переименован в MCPServer, а пути импортов перенесены. Этот проект закрепляет зависимость mcp<2.0.0 и использует from mcp.server.fastmcp import FastMCP, поскольку по состоянию на момент написания это всё ещё стабильная и хорошо документированная ветка. Если вы читаете это позже и pip install mcp по умолчанию ставит v2, вам нужно будет перенести импорт (mcp.server.fastmcp.FastMCP → mcp.server.MCPServer) — сначала посмотрите руководство по миграции от SDK, прежде чем считать, что код ниже по-прежнему применим без изменений.
Локальный тест (stdio, без Docker)
pip install -r requirements.txt
$env:MCP_TRANSPORT="stdio"
$env:CHURN_API_URL="http://localhost:8000" # your local churn-api
python server.pyВ claude_desktop_config.json Claude Desktop укажите этот сервер:
{
"mcpServers": {
"churn-predictor": {
"command": "python",
"args": ["C:\\path\\to\\churn-mcp-server\\server.py"],
"env": { "CHURN_API_URL": "http://localhost:8000" }
}
}
}Развёртывание в существующем кластере kind
Предполагается, что в вашем кластере kind уже работают Deployment и Service для churn-api из Kubernetes-проекта.
docker build -t churn-mcp-server:local .
kind load docker-image churn-mcp-server:local --name <your-cluster-name>
kubectl apply -f k8s/deployment.yaml
kubectl get pods -l app=churn-mcp-serverПроверьте:
kubectl port-forward svc/churn-mcp-server 8080:80
curl http://localhost:8080/healthzРеальный подводный камень, о котором стоит знать на собеседовании
Простой GET /mcp возвращает 406 Not Acceptable — транспорту MCP streamable-http требуется заголовок Accept: text/event-stream, а обычный Kubernetes-пробник httpGet его не отправляет. Это ломает наивную readiness-проверку, направленную прямо на /mcp. Исправление здесь: FastMCP.streamable_http_app() возвращает лежащее в основе приложение Starlette, которое можно смонтировать вместе с собственноручно написанным маршрутом /healthz, возвращающим обычный статус 200 — см. конец server.py. Это настоящая история «я наткнулся на реальную проблему интеграции и понял, почему», и на собеседовании она звучит сильнее, чем проект, где ничего не пошло не так.
Что это демонстрирует (точная формулировка для резюме)
«Разработал MCP-сервер, который открывает production-эндпоинт FastAPI для обслуживания моделей как вызываемый инструмент, развёрнутый в Kubernetes рядом с существующим сервисом».
Неточно: заявлять «MCP» как просто тег навыка, не умея объяснить, что такое MCP на самом деле (это протокол предоставления инструментов LLM-клиентам, а не механизм развёртывания или хостинга).
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
- -licenseNot gradedqualityNot gradedmaintenanceA unified HTTP/HTTPS service that exposes Model Context Protocol (MCP) functionality over HTTP endpoints, allowing clients to list available tools and call them through a standardized API.11
- FlicenseNot gradedqualityDmaintenanceEnables users to expose arbitrary HTTP APIs as configurable MCP tools by defining tool specifications in a JSON configuration file.2,6793
- AlicenseNot gradedqualityDmaintenanceProvides a standardized MCP interface for interacting with HTTP tools and services, enabling unified API access and management.MIT
- AlicenseAqualityDmaintenanceSelf-healing proxy for MCP servers that wraps tool calls with automatic retry, circuit breaker protection, and observability.535MIT
Related MCP Connectors
34 production API tools over one hosted MCP endpoint.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
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/Eklavya20/churn-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server