Delete directory 'solutions/69f8e929da860fb4533faa2a_MCP_сервер_для_управления_памятью_агента'
This commit is contained in:
-110
@@ -1,110 +0,0 @@
|
||||
# MCP‑сервер для управления памятью агента
|
||||
|
||||
## Описание проекта
|
||||
|
||||
MCP (Memory Control Protocol) – это протокол, позволяющий удалённо управлять памятью агентов в распределённых системах.
|
||||
Данный репозиторий содержит реализацию **MCP‑сервера**, который:
|
||||
|
||||
- принимает команды от клиентов по TCP/IP;
|
||||
- обрабатывает запросы на чтение/запись памяти агента;
|
||||
- поддерживает простую аутентификацию и логирование.
|
||||
|
||||
Сервер написан на Python 3.8+ и использует асинхронную библиотеку `asyncio` для одновременной обработки множества соединений.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
mcp_server/
|
||||
├── mcp_server.py # Основной серверный скрипт
|
||||
├── client_example.py # Пример клиента, демонстрирующий работу с сервером
|
||||
├── requirements.txt # Список зависимостей
|
||||
└── README.md # Это файл
|
||||
```
|
||||
|
||||
## Установка зависимостей
|
||||
|
||||
```bash
|
||||
# Создайте виртуальное окружение (рекомендуется)
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
|
||||
# Установите зависимости
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
`requirements.txt` содержит только стандартные библиотеки, но в случае необходимости можно добавить сторонние пакеты.
|
||||
|
||||
## Запуск сервера
|
||||
|
||||
```bash
|
||||
python mcp_server.py --host 0.0.0.0 --port 9000
|
||||
```
|
||||
|
||||
Параметры:
|
||||
|
||||
| Параметр | Описание | По умолчанию |
|
||||
|----------|----------|--------------|
|
||||
| `--host` | IP‑адрес, на котором сервер будет слушать подключения | `127.0.0.1` |
|
||||
| `--port` | TCP‑порт для входящих соединений | `9000` |
|
||||
|
||||
Сервер выводит в консоль информацию о подключениях и выполненных командах.
|
||||
|
||||
## Запуск примера клиента
|
||||
|
||||
```bash
|
||||
python client_example.py --host 127.0.0.1 --port 9000
|
||||
```
|
||||
|
||||
Клиент демонстрирует:
|
||||
|
||||
1. Подключение к серверу;
|
||||
2. Отправку команды `SET key value`;
|
||||
3. Чтение значения через команду `GET key`;
|
||||
4. Вывод результата в консоль.
|
||||
|
||||
## Пример использования
|
||||
|
||||
```python
|
||||
# client_example.py
|
||||
import asyncio
|
||||
import argparse
|
||||
|
||||
async def main(host, port):
|
||||
reader, writer = await asyncio.open_connection(host, port)
|
||||
|
||||
# Установим значение
|
||||
writer.write(b"SET counter 42\n")
|
||||
await writer.drain()
|
||||
print(await reader.readline()) # OK
|
||||
|
||||
# Получим значение
|
||||
writer.write(b"GET counter\n")
|
||||
await writer.drain()
|
||||
print(await reader.readline()) # 42
|
||||
|
||||
writer.close()
|
||||
await writer.wait_closed()
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="MCP client example")
|
||||
parser.add_argument("--host", default="127.0.0.1")
|
||||
parser.add_argument("--port", type=int, default=9000)
|
||||
args = parser.parse_args()
|
||||
asyncio.run(main(args.host, args.port))
|
||||
```
|
||||
|
||||
## Тесты
|
||||
|
||||
Для запуска тестов (если они добавлены) используйте:
|
||||
|
||||
```bash
|
||||
pytest tests/
|
||||
```
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT License – см. файл `LICENSE`.
|
||||
|
||||
---
|
||||
|
||||
Если возникнут вопросы или предложения по улучшению – открывайте issue!
|
||||
Reference in New Issue
Block a user