claude-safe-mcp
Keap MCP Server
Высокопроизводительный сервер протокола контекста модели (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:
Операции с контактами
list_contacts- список контактов с фильтрацией и пагинацией (теперь оптимизировано)search_contacts_by_email- поиск контактов по адресу электронной почтыsearch_contacts_by_name- поиск контактов по имениget_contact_details- получение подробной информации о конкретном контактеquery_contacts_by_custom_field- запрос контактов по значению пользовательского поля
Операции с тегами
get_tags- получение тегов с дополнительной фильтрациейget_tag_details- получение подробной информации о конкретном тегеget_contacts_with_tag- получение контактов, имеющих определенный тегcreate_tag- создание нового тега
Управление тегами (пакетные операции)
modify_tags- добавление или удаление тегов у контактовapply_tags_to_contacts- применение нескольких тегов к нескольким контактам с использованием пакетных операцийremove_tags_from_contacts- удаление нескольких тегов у нескольких контактов
Управление пользовательскими полями
set_custom_field_values- массовое обновление значений пользовательских полей для нескольких контактов
Расширенные запросы и операции производительности
query_contacts_optimized- расширенный запрос контактов с оптимизацией и аналитикой производительностиanalyze_query_performance- анализ производительности запроса и потенциала оптимизации
Системные операции
get_api_diagnostics- комплексная диагностика API и метрики производительности
Вспомогательные операции
intersect_id_lists- поиск пересечения нескольких списков ID
Начало работы
Предварительные требования
Python 3.9 или выше
Учетные данные API Keap
Установка
Клонируйте репозиторий:
git clone https://github.com/yourusername/keapmcp.git cd keapmcpУстановите зависимости:
pip install -r requirements.txtНастройте учетные данные 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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.-
- AlicenseAqualityDmaintenanceWraps Anthropic Claude Code CLI as tools, allowing MCP clients to invoke headless Claude Code sessions.2522 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables 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
- FlicenseAqualityDmaintenanceProvides a secure interface to run Anthropic's Claude Code CLI as an MCP server, enabling task execution, persistent memory, and integration with MCP-enabled IDEs.12-