claude-safe-mcp
Keap MCP Server
Ein leistungsstarker Model Context Protocol (MCP) Server für die Interaktion mit Keap CRM-Daten, mit erweiterten Funktionen wie HTTP/2-Unterstützung, umfassender Diagnose und Massenoperationen.
Funktionen
Kernverwaltung von Kontakten & Tags
Umfassende Kontaktverwaltung - Auflisten, Suchen, Filtern und Abrufen detaillierter Kontaktinformationen
Erweiterte Tag-Operationen - Vollständiges Lifecycle-Management von Tags, einschließlich Erstellung, Abfrage und Batch-Operationen
Batch-Tag-Operationen - Effizientes Anwenden oder Entfernen mehrerer Tags bei mehreren Kontakten
Benutzerdefinierte Feldoperationen - Suche nach Kontakten anhand benutzerdefinierter Feldwerte und Massenaktualisierung dieser Felder
Komplexe logische Filterung - Unterstützung für AND-, OR-, NOT-Operatoren mit verschachtelten Bedingungen
Leistung & Optimierung
HTTP/2-Unterstützung - Verbesserte Verbindungsleistung durch Connection Pooling
Intelligentes Rate Limiting - Tägliche Anfragelimits mit adaptiven Backoff-Strategien
Abfrageoptimierung - Intelligente serverseitige vs. clientseitige Filterung mit Leistungsanalysen
Leistungsüberwachung - Echtzeit-Abfrageanalyse und Optimierungsvorschläge
Persistentes Caching - SQLite-basiertes Caching zur Reduzierung von API-Aufrufen und Verbesserung der Leistung
Erweiterte Funktionen
Umfassende Diagnose - API-Leistungskennzahlen, Systemüberwachung und Gesundheitsprüfungen
Erweiterte Fehlerbehandlung - Robuste Wiederholungslogik mit exponentiellem Backoff für verschiedene Fehlertypen
Massenaktualisierung benutzerdefinierter Felder - Effizientes Setzen von Werten für benutzerdefinierte Felder über mehrere Kontakte hinweg
Erweiterte Filteroperatoren - Über 15 Operatoren, einschließlich BETWEEN, IN, SINCE, STARTS_WITH usw.
ID-Listen-Operationen - Hilfsfunktionen für die Arbeit mit Mengen von Kontakt- und Tag-IDs
Related MCP server: claude-cli-mcp
Architektur
Der Keap MCP Server verwendet eine optimierte, hochleistungsfähige Architektur:
API Client (
src/api/client.py) - Verbesserte Keap API-Kommunikation mit HTTP/2, Rate Limiting und DiagnoseMCP Tools (
src/mcp/) - Umfassende MCP-Protokollimplementierung mit OptimierungCache Manager (
src/cache/) - SQLite-basiertes persistentes Caching mit intelligenter InvalidierungOptimization Engine (
src/mcp/optimization/) - Abfrageoptimierung und LeistungsanalysenSchemas (
src/schemas/) - Datenvalidierung und ModelleUtils (
src/utils/) - Gemeinsame Hilfsprogramme für die Kontaktverarbeitung und Filterung
MCP Tools
Der Server stellt 17 umfassende MCP-Tools bereit:
Kontaktoperationen
list_contacts- Kontakte mit Filterung und Paginierung auflisten (jetzt optimiert)search_contacts_by_email- Kontakte nach E-Mail-Adresse findensearch_contacts_by_name- Kontakte nach Namen findenget_contact_details- Detaillierte Informationen zu einem bestimmten Kontakt abrufenquery_contacts_by_custom_field- Kontakte nach benutzerdefiniertem Feldwert abfragen
Tag-Operationen
get_tags- Tags mit optionaler Filterung abrufenget_tag_details- Detaillierte Informationen zu einem bestimmten Tag abrufenget_contacts_with_tag- Kontakte abrufen, die ein bestimmtes Tag habencreate_tag- Ein neues Tag erstellen
Tag-Verwaltung (Batch-Operationen)
modify_tags- Tags bei Kontakten hinzufügen oder entfernenapply_tags_to_contacts- Mehrere Tags auf mehrere Kontakte mittels Batch-Operationen anwendenremove_tags_from_contacts- Mehrere Tags von mehreren Kontakten entfernen
Verwaltung benutzerdefinierter Felder
set_custom_field_values- Werte benutzerdefinierter Felder über mehrere Kontakte hinweg massenhaft aktualisieren
Erweiterte Abfrage- & Leistungsoperationen
query_contacts_optimized- Erweiterte Kontaktabfrage mit Optimierung und Leistungsanalyseanalyze_query_performance- Abfrageleistung und Optimierungspotenzial analysieren
Systemoperationen
get_api_diagnostics- Umfassende API-Diagnose und Leistungskennzahlen
Hilfsoperationen
intersect_id_lists- Schnittmenge mehrerer ID-Listen finden
Erste Schritte
Voraussetzungen
Python 3.9 oder höher
Keap API-Zugangsdaten
Installation
Repository klonen:
git clone https://github.com/yourusername/keapmcp.git cd keapmcpAbhängigkeiten installieren:
pip install -r requirements.txtKeap API-Zugangsdaten konfigurieren:
Die Anwendung verwendet eine
.env-Datei zur KonfigurationDer API-Schlüssel wurde von keapsync kopiert, kann aber bei Bedarf geändert werden
Die Konfiguration umfasst:
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
Server ausführen
python run.py --host 127.0.0.1 --port 5000Befehlszeilenoptionen:
--host- Zu bindender Host (Standard: 127.0.0.1)--port- Zu verwendender Port (Standard: 5000)--log-level- Protokollierungsebene (Standard: INFO)--log-file- Pfad zur Protokolldatei (Standard: keap_mcp_server.log)--no-console-log- Konsolenprotokollierung deaktivieren
Testen & Abdeckung
Der Keap MCP Server enthält eine umfassende Testsuite, um Zuverlässigkeit und korrekten Betrieb mit vollständiger CI/CD-Pipeline-Integration sicherzustellen.
Schnelles Testen
Verwenden Sie das Makefile für eine einfache Testausführung:
# 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-testCI/CD-Integration
Das Projekt umfasst automatisierte Tests und Berichterstattung zur Testabdeckung:
Continuous Integration: Tests laufen auf Python 3.9, 3.10 und 3.11
Coverage Tracking: Mindestens 60 % Abdeckung erzwungen
Pre-commit Checks: Code-Formatierung, Linting und Sicherheitsprüfungen
Coverage Badges: Automatische Aktualisierung im Haupt-Branch
Testkategorien
Unit Tests (
tests/unit/) - Einzelkomponententests mit umfassendem MockingIntegration Tests (
tests/integration/) - End-to-End-FunktionsüberprüfungPerformance Tests (
tests/performance/) - Last- und OptimierungsvalidierungAPI Validation - Überprüfung des Keap API-Antwortformats
Abdeckungsanforderungen
Aktuelle Abdeckung: 55 % Integrationsabdeckung, variiert je nach Komponente
API Client: Kernfunktionalität mit umfassendem Mocking getestet
MCP Tools: Integrationstests mit Mock-Abhängigkeiten
Cache System: Umfassende Persistenz- und Leistungstests
Utilities: Funktionalität der Kontaktverarbeitung und Filterung getestet
Optimierung: Leistungsanalysen und Abfrageoptimierung abgedeckt
Spezifische Tests ausführen
# 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/ -vVerwendung des MCP Servers
Beispiel: Kontakte auflisten (jetzt optimiert)
{
"function": "list_contacts",
"params": {
"filters": [
{ "field": "email", "operator": "contains", "value": "@company.com" }
],
"limit": 50,
"include": ["id", "given_name", "family_name", "email"]
}
}Hinweis: list_contacts verwendet jetzt intern die Optimierungs-Engine für eine bessere Leistung. Für detaillierte Leistungskennzahlen verwenden Sie direkt query_contacts_optimized.
Beispiel: Suche nach E-Mail
{
"function": "search_contacts_by_email",
"params": {
"email": "john.doe@company.com",
"include": ["id", "given_name", "family_name", "email", "tags"]
}
}Beispiel: Tags abrufen
{
"function": "get_tags",
"params": {
"include_categories": true,
"limit": 100
}
}Beispiel: Batch-Tag-Operationen
{
"function": "apply_tags_to_contacts",
"params": {
"tag_ids": ["123", "456"],
"contact_ids": ["1001", "1002", "1003"]
}
}Beispiel: Abfrage benutzerdefinierter Felder
{
"function": "query_contacts_by_custom_field",
"params": {
"field_id": "7",
"field_value": "Engineering",
"operator": "contains",
"include": ["id", "given_name", "family_name", "email"]
}
}Beispiel: Neues Tag erstellen
{
"function": "create_tag",
"params": {
"name": "VIP Customer",
"description": "High-value customer segment",
"category_id": "2"
}
}Beispiel: Massenaktualisierung benutzerdefinierter Felder
{
"function": "set_custom_field_values",
"params": {
"field_id": "7",
"contact_ids": ["1001", "1002", "1003"],
"common_value": "VIP Customer"
}
}Oder mit individuellen Werten pro Kontakt:
{
"function": "set_custom_field_values",
"params": {
"field_id": "7",
"contact_values": {
"1001": "Gold Tier",
"1002": "Silver Tier",
"1003": "Bronze Tier"
}
}
}Beispiel: API-Diagnose
{
"function": "get_api_diagnostics",
"params": {}
}Beispiel: Schnittmenge von ID-Listen
{
"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"
}
}Leistungsmerkmale
HTTP/2-Unterstützung
Der Server verwendet HTTP/2 für verbesserte Leistung mit Connection Pooling und Keepalive-Verbindungen.
Rate Limiting
Tägliche Anfragelimits (standardmäßig 25.000 Anfragen/Tag)
Intelligente Backoff-Strategien
Überwachung und Diagnose von Ratenbegrenzungen
Caching-Strategie
SQLite-basiertes persistentes Caching
Intelligente Cache-Invalidierung
TTL-basierte Ablaufsteuerung
Nachverfolgung von Cache-Treffern/Fehlern
Fehlerbehandlung
Exponentielles Backoff für Wiederholungsversuche
Unterschiedliche Strategien für Timeout-, Netzwerk- und HTTP-Fehler
Umfassende Fehlerverfolgung und Diagnose
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die Datei LICENSE für Details.
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 Connectors
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
No-data MCP handoff for local Claude Code to Codex harness moves. $49 lifetime.
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.2147MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityBmaintenanceProvides 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.
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/saxyguy81/claude-proxy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server