Skip to main content
Glama
saxyguy81

claude-safe-mcp

by saxyguy81

Keap MCP Server

Coverage Python License

Высокопроизводительный сервер протокола контекста модели (MCP) для взаимодействия с данными Keap CRM с расширенными функциями, включая поддержку HTTP/2, комплексную диагностику и пакетные операции.

Функции

Основное управление контактами и тегами

  • Комплексное управление контактами - список, поиск, фильтрация и получение подробной информации о контактах

  • Расширенные операции с тегами - полное управление жизненным циклом тегов, включая создание, запросы и пакетные операции

  • Пакетные операции с тегами - эффективное применение или удаление нескольких тегов для нескольких контактов

  • Операции с пользовательскими полями - поиск контактов по значениям пользовательских полей и массовое обновление пользовательских полей

  • Сложная логическая фильтрация - поддержка операторов AND, OR, NOT с вложенными условиями

Производительность и оптимизация

  • Поддержка HTTP/2 - повышенная производительность соединения с использованием пула соединений

  • Интеллектуальное ограничение частоты запросов - суточные лимиты запросов с адаптивными стратегиями экспоненциальной задержки

  • Оптимизация запросов - интеллектуальная фильтрация на стороне сервера или клиента с аналитикой производительности

  • Мониторинг производительности - анализ запросов в реальном времени и рекомендации по оптимизации

  • Постоянное кэширование - кэширование на основе SQLite для сокращения количества вызовов API и повышения производительности

Расширенные функции

  • Комплексная диагностика - метрики производительности API, мониторинг системы и проверки работоспособности

  • Улучшенная обработка ошибок - надежная логика повторных попыток с экспоненциальной задержкой для различных типов ошибок

  • Массовое обновление пользовательских полей - эффективная установка значений пользовательских полей для нескольких контактов

  • Расширенные операторы фильтрации - более 15 операторов, включая BETWEEN, IN, SINCE, STARTS_WITH и т. д.

  • Операции со списками ID - вспомогательные функции для работы с наборами ID контактов и тегов

Related MCP server: claude-cli-mcp

Архитектура

Keap MCP Server использует оптимизированную высокопроизводительную архитектуру:

  • API Client (src/api/client.py) - улучшенное взаимодействие с API Keap с использованием HTTP/2, ограничением частоты запросов и диагностикой

  • MCP Tools (src/mcp/) - комплексная реализация протокола MCP с оптимизацией

  • Cache Manager (src/cache/) - постоянное кэширование на основе SQLite с интеллектуальной инвалидацией

  • Optimization Engine (src/mcp/optimization/) - оптимизация запросов и аналитика производительности

  • Schemas (src/schemas/) - проверка данных и модели

  • Utils (src/utils/) - общие утилиты для обработки и фильтрации контактов

Инструменты MCP

Сервер предоставляет 17 комплексных инструментов MCP:

Операции с контактами

  1. list_contacts - список контактов с фильтрацией и пагинацией (теперь оптимизировано)

  2. search_contacts_by_email - поиск контактов по адресу электронной почты

  3. search_contacts_by_name - поиск контактов по имени

  4. get_contact_details - получение подробной информации о конкретном контакте

  5. query_contacts_by_custom_field - запрос контактов по значению пользовательского поля

Операции с тегами

  1. get_tags - получение тегов с дополнительной фильтрацией

  2. get_tag_details - получение подробной информации о конкретном теге

  3. get_contacts_with_tag - получение контактов, имеющих определенный тег

  4. create_tag - создание нового тега

Управление тегами (пакетные операции)

  1. modify_tags - добавление или удаление тегов у контактов

  2. apply_tags_to_contacts - применение нескольких тегов к нескольким контактам с использованием пакетных операций

  3. remove_tags_from_contacts - удаление нескольких тегов у нескольких контактов

Управление пользовательскими полями

  1. set_custom_field_values - массовое обновление значений пользовательских полей для нескольких контактов

Расширенные запросы и операции производительности

  1. query_contacts_optimized - расширенный запрос контактов с оптимизацией и аналитикой производительности

  2. analyze_query_performance - анализ производительности запроса и потенциала оптимизации

Системные операции

  1. get_api_diagnostics - комплексная диагностика API и метрики производительности

Вспомогательные операции

  1. intersect_id_lists - поиск пересечения нескольких списков ID

Начало работы

Предварительные требования

  • Python 3.9 или выше

  • Учетные данные API Keap

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/keapmcp.git
    cd keapmcp
  2. Установите зависимости:

    pip install -r requirements.txt
  3. Настройте учетные данные API Keap:

    • Приложение использует файл .env для конфигурации

    • Ключ API был скопирован из keapsync, но вы можете изменить его при необходимости

    • Конфигурация включает:

      KEAP_API_KEY=your_api_key_here
      KEAP_API_BASE_URL=https://api.infusionsoft.com/crm/rest/v1
      KEAP_MCP_HOST=127.0.0.1
      KEAP_MCP_PORT=5000
      KEAP_MCP_LOG_LEVEL=INFO
      KEAP_MCP_LOG_FILE=keap_mcp_server.log
      KEAP_MCP_CACHE_ENABLED=true
      KEAP_MCP_CACHE_TTL=3600

Запуск сервера

python run.py --host 127.0.0.1 --port 5000

Параметры командной строки:

  • --host - хост для привязки (по умолчанию: 127.0.0.1)

  • --port - порт для прослушивания (по умолчанию: 5000)

  • --log-level - уровень логирования (по умолчанию: INFO)

  • --log-file - путь к файлу логов (по умолчанию: keap_mcp_server.log)

  • --no-console-log - отключить логирование в консоль

Тестирование и покрытие

Keap MCP Server включает комплексный набор тестов для обеспечения надежности и правильной работы с полной интеграцией в конвейер CI/CD.

Быстрое тестирование

Используйте Makefile для простого выполнения тестов:

# Run all unit tests
make test

# Run tests with coverage reporting  
make coverage

# Generate HTML coverage report
make coverage-html

# Run service-specific tests
make test-services
make test-models

# Full development workflow
make dev-test

Интеграция CI/CD

Проект включает автоматизированное тестирование и отчетность о покрытии:

  • Непрерывная интеграция: тесты выполняются на Python 3.9, 3.10 и 3.11

  • Отслеживание покрытия: обеспечивается минимальное покрытие 60%

  • Предварительные проверки (Pre-commit): форматирование кода, линтинг и проверки безопасности

  • Значки покрытия: автоматически обновляются в основной ветке

Категории тестов

  • Модульные тесты (tests/unit/) - тестирование отдельных компонентов с комплексным мокированием

  • Интеграционные тесты (tests/integration/) - проверка функциональности от начала до конца

  • Тесты производительности (tests/performance/) - проверка нагрузки и оптимизации

  • Проверка API - проверка формата ответа API Keap

Требования к покрытию

  • Текущее покрытие: 55% интеграционного покрытия, варьируется в зависимости от компонента

  • API Client: основная функциональность протестирована с комплексным мокированием

  • MCP Tools: интеграционные тесты с фиктивными зависимостями

  • Cache System: комплексное тестирование постоянства и производительности

  • Utilities: протестирована функциональность обработки и фильтрации контактов

  • Optimization: охвачена аналитика производительности и оптимизация запросов

Запуск конкретных тестов

# Run all tests
python -m pytest tests/ -v

# With coverage reporting
python -m pytest tests/ --cov=src --cov-fail-under=90

# Integration tests (requires running server)
python -m pytest tests/integration/ -v

Использование сервера MCP

Пример: Список контактов (теперь оптимизировано)

{
  "function": "list_contacts",
  "params": {
    "filters": [
      { "field": "email", "operator": "contains", "value": "@company.com" }
    ],
    "limit": 50,
    "include": ["id", "given_name", "family_name", "email"]
  }
}

Примечание: list_contacts теперь использует механизм оптимизации внутри для повышения производительности. Для получения подробных метрик производительности используйте query_contacts_optimized напрямую.

Пример: Поиск по электронной почте

{
  "function": "search_contacts_by_email",
  "params": {
    "email": "john.doe@company.com",
    "include": ["id", "given_name", "family_name", "email", "tags"]
  }
}

Пример: Получение тегов

{
  "function": "get_tags",
  "params": {
    "include_categories": true,
    "limit": 100
  }
}

Пример: Пакетные операции с тегами

{
  "function": "apply_tags_to_contacts",
  "params": {
    "tag_ids": ["123", "456"],
    "contact_ids": ["1001", "1002", "1003"]
  }
}

Пример: Запрос пользовательского поля

{
  "function": "query_contacts_by_custom_field",
  "params": {
    "field_id": "7",
    "field_value": "Engineering",
    "operator": "contains",
    "include": ["id", "given_name", "family_name", "email"]
  }
}

Пример: Создание нового тега

{
  "function": "create_tag",
  "params": {
    "name": "VIP Customer",
    "description": "High-value customer segment",
    "category_id": "2"
  }
}

Пример: Массовое обновление пользовательских полей

{
  "function": "set_custom_field_values",
  "params": {
    "field_id": "7",
    "contact_ids": ["1001", "1002", "1003"],
    "common_value": "VIP Customer"
  }
}

Или с индивидуальными значениями для каждого контакта:

{
  "function": "set_custom_field_values",
  "params": {
    "field_id": "7",
    "contact_values": {
      "1001": "Gold Tier",
      "1002": "Silver Tier", 
      "1003": "Bronze Tier"
    }
  }
}

Пример: Диагностика API

{
  "function": "get_api_diagnostics",
  "params": {}
}

Пример: Пересечение списков ID

{
  "function": "intersect_id_lists",
  "params": {
    "lists": [
      {"list_id": "active_contacts", "item_ids": ["1", "2", "3", "4"]},
      {"list_id": "newsletter_subscribers", "item_ids": ["2", "3", "5", "6"]}
    ],
    "id_field": "item_ids"
  }
}

Функции производительности

Поддержка HTTP/2

Сервер использует HTTP/2 для повышения производительности с пулом соединений и постоянными соединениями (keepalive).

Ограничение частоты запросов

  • Суточные лимиты запросов (по умолчанию 25 000 запросов в день)

  • Интеллектуальные стратегии экспоненциальной задержки

  • Мониторинг и диагностика ограничений частоты запросов

Стратегия кэширования

  • Постоянное кэширование на основе SQLite

  • Интеллектуальная инвалидация кэша

  • Истечение срока действия на основе TTL

  • Отслеживание попаданий/промахов кэша

Обработка ошибок

  • Экспоненциальная задержка для повторных попыток

  • Различные стратегии для тайм-аутов, сетевых ошибок и ошибок HTTP

  • Комплексное отслеживание ошибок и диагностика

Лицензия

Этот проект лицензирован по лицензии MIT - подробности см. в файле LICENSE.

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

0Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A security-focused tool that implements least-privilege credential injection for Claude Code by intercepting Bash and MCP tool calls to swap in minimum-privilege tokens. It enables secure execution of CLI commands and MCP operations by matching tool arguments against declarative YAML policies to prevent unauthorized access.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables sandboxed file operations via MCP tools, resources, and prompts, with a Claude CLI client and Groq-powered web UI for file CRUD, search, code review, and documentation generation.
    MIT

View all related MCP servers

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/saxyguy81/claude-proxy'

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