
MCP Server
wybaeb
public
edu_mcp_telegram
一个用于学习和演示的MCP服务器,支持与AI模型集成。
Repository Info
0
Stars
0
Forks
0
Watchers
0
Issues
Python
Language
-
License
About This Server
一个用于学习和演示的MCP服务器,支持与AI模型集成。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
# 🎓 Образовательный MCP сервер для студентов
Демонстрационный MCP (Model Context Protocol) сервер для изучения протокола и интеграции с AI моделями.
## 🎯 Что это?
Этот проект - **образовательный пример** MCP сервера, который показывает:
- Как создать MCP сервер с нуля
- Как реализовать различные типы инструментов (tools)
- Как интегрировать MCP с локальными LLM (Ollama)
- Как использовать **стандартное tool calling** в Ollama
- Как работать с mock данными без записи на диск
## ✨ Возможности
### 🔧 MCP Инструменты
- **list_tools** - показать доступные инструменты
- **get_available_slots** - просмотр свободных временных слотов
- **schedule_meeting** - планирование встреч с проверкой доступности
- **get_development_plan** - получение плана карьерного развития
- **search_regulations** - поиск по корпоративным регламентам
### 🤖 AI Интеграция
- Локальная работа с **Ollama** (mistral:latest)
- **Стандартное tool calling** через Ollama API
- Интерактивный чат с режимом отладки
- Поддержка conversation history
### 📚 Обучающие материалы
- Подробная документация кода
- Множественные примеры тестирования
- Демонстрация различных режимов работы
## 🚀 Быстрый старт
### 1. Установка зависимостей
```bash
# Клонируем репозиторий
git clone <repo-url>
cd edu_mcp_telegram
# Создаем виртуальное окружение
python3 -m venv venv
source venv/bin/activate
# Устанавливаем зависимости
pip install -r requirements.txt
```
### 2. Настройка Ollama
```bash
# Запускаем Ollama сервер
ollama serve
# В другом терминале загружаем модель
ollama pull mistral:latest
```
### 3. Запуск проектов
#### Интерактивный чат (рекомендуется)
```bash
python3 interactive_chat.py
```
#### Тестирование стандартного tool calling
```bash
python3 test_standard_tool_calling.py
```
#### Простая демонстрация
```bash
./demo.sh
```
## 🔍 Tool Calling в Ollama
### Стандартный подход (правильный)
Проект использует **официальный Ollama API** для tool calling:
1. **Отправляем инструменты** в массиве `tools`:
```python
payload = {
"model": "mistral:latest",
"messages": [{"role": "user", "content": "Покажи слоты"}],
"tools": [
{
"type": "function",
"function": {
"name": "get_available_slots",
"description": "Get available time slots",
"parameters": {...}
}
}
]
}
```
2. **Модель возвращает tool_calls**:
```json
{
"message": {
"tool_calls": [
{
"function": {
"name": "get_available_slots",
"arguments": {}
}
}
]
}
}
```
3. **Выполняем инструменты и отправляем результаты**:
```python
messages.append({
"role": "tool",
"content": tool_result
})
# Отправляем второй запрос с результатами
final_response = ollama.chat_with_tools(messages, tools)
```
### Режим отладки
В интерактивном чате доступен режим отладки (команда `/debug`), который показывает:
- Какие MCP инструменты доступны модели
- Какие tool calls делает модель
- Результаты выполнения инструментов
- Процесс обработки ответов
## 📁 Структура проекта
```
edu_mcp_telegram/
├── mcp_server.py # Основной MCP сервер
├── mcp_types.py # Типы данных для MCP
├── mock_data.py # Mock корпоративные данные
├── test_client.py # MCP клиент для тестирования
├── interactive_chat.py # Интерактивный чат с Ollama
├── test_standard_tool_calling.py # Тест стандартного tool calling
├── simple_test.py # Простой синхронный тест
├── demo.sh # Быстрый запуск демо
├── README.md # Документация
├── requirements.txt # Python зависимости
└── claude_desktop_config.json # Конфиг для Claude Desktop
```
## 🎮 Режимы работы
### 1. Интерактивный чат
- Полноценный разговор с AI
- Использование MCP инструментов
- Отладка tool calling
- История разговора
### 2. Программное API
- Прямые вызовы MCP инструментов
- Интеграция в существующие системы
- Автоматизированное тестирование
### 3. Claude Desktop
- Интеграция с Claude Desktop
- Готовый конфиг файл
- Простая настройка
## 🧪 Тестирование
### Полная демонстрация
```bash
python3 test_client.py
```
### Тест tool calling
```bash
python3 test_standard_tool_calling.py
```
### Простой тест
```bash
python3 simple_test.py
```
### Отладка ответов модели
```bash
python3 debug_llm_response.py
```
## 📋 Доступные команды в чате
- `/help` - справка по командам
- `/tools` - список MCP инструментов
- `/slots` - показать временные слоты
- `/plan` - план развития
- `/meet <дата> <время> <название>` - запланировать встречу
- `/search <запрос>` - поиск регламентов
- `/history` - история разговора
- `/clear` - очистить историю
- `/debug` - переключить режим отладки
- `/exit` - выход
## 🔧 Особенности реализации
### MCP Протокол
- JSON-RPC 2.0 транспорт
- Стандартные типы сообщений
- Правильная обработка ошибок
- Поддержка инициализации и capabilities
### Tool Calling
- Стандартный Ollama API
- Проверка доступности временных слотов
- Валидация входных параметров
- Обработка ошибок выполнения
### Mock Данные
- Реалистичные корпоративные сценарии
- Бронирование с проверкой доступности
- Поиск по ключевым словам
- Без записи на диск
## 🎓 Образовательная ценность
Проект демонстрирует:
1. **MCP архитектуру** - protocol, transport, tools
2. **Tool calling паттерны** - стандартные подходы
3. **Error handling** - правильная обработка ошибок
4. **Mock данные** - тестирование без внешних зависимостей
5. **AI интеграцию** - практическое использование LLM
6. **Отладку** - визуализация процесса работы
## 🤝 Интеграция с другими системами
### Claude Desktop
```json
{
"mcpServers": {
"edu-mcp": {
"command": "python3",
"args": ["mcp_server.py"],
"cwd": "/path/to/edu_mcp_telegram"
}
}
}
```
### Continue.dev
```json
{
"mcp": {
"servers": {
"edu-mcp": {
"command": ["python3", "mcp_server.py"]
}
}
}
}
```
## 📝 Требования
- Python 3.8+
- Ollama с моделью mistral:latest
- 1GB свободной памяти для модели
- Доступ к localhost:11434 (Ollama)
## 🐛 Отладка
### Ollama не запускается
```bash
# Проверяем процесс
ps aux | grep ollama
# Запускаем вручную
ollama serve
# Проверяем доступность
curl http://localhost:11434/api/tags
```
### Модель не найдена
```bash
# Загружаем модель
ollama pull mistral:latest
# Проверяем список моделей
ollama list
```
### MCP ошибки
```bash
# Отладка с подробными логами
python3 test_client.py
# Проверка в интерактивном режиме
python3 interactive_chat.py
```
## 🎯 Дальнейшее развитие
Возможные улучшения:
- Поддержка других моделей (GPT-4, Claude)
- Персистентное хранение данных
- Веб интерфейс
- Расширенные корпоративные сценарии
- Интеграция с реальными системами
---
**💡 Совет:** Начните с `interactive_chat.py` для понимания основных возможностей, затем изучите код `mcp_server.py` для понимания архитектуры MCP. Quick Start
1
Clone the repository
git clone https://github.com/wybaeb/edu_mcp_telegram2
Install dependencies
cd edu_mcp_telegram
npm install3
Follow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Ownerwybaeb
Repoedu_mcp_telegram
Language
Python
License-
Last fetched8/8/2025
Recommended MCP Servers
💬
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
integrationsdiscordchat
🔗
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
integrationsautomationsaas
🕷️
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
apifycrawlerdata
🌐
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
testingqabrowsers
⚡
Zapier MCP
A Zapier server that provides automation capabilities for various apps.
zapierautomation