hnizdiljan/eWayCRM-MCP-server
If you are the rightful owner of eWayCRM-MCP-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The eWay-CRM MCP Server is a Model Context Protocol server designed for seamless integration with the eWay-CRM system, offering a REST API for managing companies, contacts, and deals with full CRUD functionality.
eWay-CRM MCP Server
Model Context Protocol (MCP) server pro integraci s eWay-CRM systĂ©mem. Poskytuje REST API pro sprĂĄvu spoleÄnostĂ (Companies), kontaktĆŻ (Contacts) a obchodĆŻ (Deals) s plnou CRUD funkcionalitou.
đŻ HlavnĂ funkce
â ImplementovĂĄno a funkÄnĂ:
- â PĆipojenĂ k eWay-CRM - HTTP konektor s session management
- â Companies API - kompletnĂ CRUD operace (GET, POST, PUT, DELETE)
- â Contacts API - vytvĂĄĆenĂ a ÄtenĂ kontaktĆŻ (CREATE, READ)
- â Deals API - kompletnĂ CRUD operace pro obchody/pĆĂleĆŸitosti đ
- â REST API - JSON responses s pagination a error handling
- â Validation - Zod schĂ©mata pro vstupnĂ data
- â Logging - Winston logger s timestamps
- â TypeScript - kompletnĂ type safety
- â Health checks - monitoring stavu aplikace
- â
Swagger UI - kompletnĂ OpenAPI dokumentace na
/api-docs
â ïž ÄĂĄsteÄnÄ implementovĂĄno:
- â ïž Contact UPDATE/DELETE - problĂ©my s eWay-CRM API metodami
- â ïž Contact Search - SearchContacts vracĂ prĂĄzdnĂ© vĂœsledky
đ§ NenĂ implementovĂĄno (mimo scope):
- đ§ Authentication - nynĂ pouĆŸĂvĂĄ API klĂÄ v .env
- đ§ Rate limiting - pro produkci by bylo vhodnĂ©
- đ§ DalĆĄĂ entity - Projekty, Ăkoly, atd. (lze implementovat stejnĂœm zpĆŻsobem)
đ RychlĂ© spuĆĄtÄnĂ
1. Instalace
npm install
2. Konfigurace
VytvoĆte .env
soubor:
# eWay-CRM API konfigurace
EWAY_API_URL=https://trial.eway-crm.com/31994
EWAY_USERNAME=api
EWAY_PASSWORD=your-password-here # đ DoporuÄeno: plaintext heslo (automaticky se hashuje)
# nebo
# EWAY_PASSWORD_HASH=470AE7216203E23E1983EF1851E72947 # MD5 hash hesla
# Server konfigurace
PORT=3000
NODE_ENV=development
LOG_LEVEL=info
# App identifikace
APP_VERSION=MCP-Server-1.0
CLIENT_MACHINE_NAME=MCP-Server
CLIENT_MACHINE_IDENTIFIER=AA:BB:CC:DD:EE:FF
đ AutomatickĂ© hashovĂĄnĂ hesla:
- MĆŻĆŸete pouĆŸĂt
EWAY_PASSWORD
s heslem v plaintextu - aplikace si automaticky vytvoĆĂ MD5 hash - Nebo mĆŻĆŸete pouĆŸĂt
EWAY_PASSWORD_HASH
s jiĆŸ hashovanĂœm heslem - Aplikace automaticky detekuje formĂĄt a zpracuje ho sprĂĄvnÄ
3. Build & SpuĆĄtÄnĂ
npm run build
npm start
4. Test
# AutomatickĂœ test vĆĄech endpointĆŻ
.\test-mcp-server.ps1
# Nebo manuĂĄlnÄ
curl http://localhost:3000/health
curl http://localhost:3000/api/v1/companies?limit=5
đĄ API Endpointy
Health & Info
GET /health
- Stav serveru a eWay-CRM pĆipojenĂGET /api/v1
- PĆehled dostupnĂœch endpointĆŻGET /api/v1/test-connection
- Test eWay-CRM pĆipojenĂGET /api-docs
- Swagger UI dokumentace (novÄ pĆidĂĄno! đ)
Companies
GET /api/v1/companies
- Seznam spoleÄnostĂ s paginationGET /api/v1/companies/:id
- Detail spoleÄnostiPOST /api/v1/companies
- VytvoĆenĂ spoleÄnostiPUT /api/v1/companies/:id
- Aktualizace spoleÄnostiDELETE /api/v1/companies/:id
- SmazĂĄnĂ spoleÄnosti
Contacts
GET /api/v1/contacts
- Seznam kontaktĆŻGET /api/v1/contacts/:id
- Detail kontaktuPOST /api/v1/contacts
- VytvoĆenĂ kontaktu âPUT /api/v1/contacts/:id
- Aktualizace kontaktu â ïžDELETE /api/v1/contacts/:id
- SmazĂĄnĂ kontaktu â ïžGET /api/v1/contacts/by-company/:companyId
- Kontakty spoleÄnosti
Deals đ
GET /api/v1/deals
- Seznam obchodĆŻ s paginationGET /api/v1/deals/:id
- Detail obchoduPOST /api/v1/deals
- VytvoĆenĂ obchodu âPUT /api/v1/deals/:id
- Aktualizace obchodu âDELETE /api/v1/deals/:id
- SmazĂĄnĂ obchodu âGET /api/v1/deals/by-company/:companyId
- Obchody spoleÄnosti
Query parametry
limit
- PoÄet zĂĄznamĆŻ (default: 25, max: 100)offset
- Offset pro pagination (default: 0)q
- VyhledĂĄvacĂ query
đïž Architektura
src/
âââ index.ts # Express server setup
âââ constants/
â âââ api.constants.ts # API konstanty a konfigurace đ
âââ connectors/
â âââ eway-http.connector.ts # HTTP konektor k eWay-CRM (â
funkÄnĂ)
â âââ eway.connector.ts # OficiĂĄlnĂ knihovna (â nefunkÄnĂ)
âââ controllers/
â âââ company.controller.ts # Company REST endpoints (refactored)
â âââ contact.controller.ts # Contact REST endpoints
â âââ deal.controller.ts # Deal REST endpoints đ
âââ services/
â âââ base.service.ts # ZĂĄkladnĂ service tĆĂda đ
â âââ company.service.ts # Business logika pro companies
â âââ contact.service.ts # Business logika pro contacts
â âââ deal.service.ts # Business logika pro deals đ
â âââ config.service.ts # Konfigurace z .env
â âââ logger.service.ts # Winston logging
âââ models/
â âââ company.dto.ts # Company data modely & Zod validace
â âââ company.mapper.ts # eWay-CRM â MCP data mapovĂĄnĂ
â âââ contact.dto.ts # Contact data modely & Zod validace
â âââ contact.mapper.ts # eWay-CRM â Contact mapovĂĄnĂ
â âââ deal.dto.ts # Deal data modely & Zod validace đ
â âââ deal.mapper.ts # eWay-CRM â Deal mapovĂĄnĂ đ
âââ middleware/
â âââ logging.middleware.ts # HTTP request logging
â âââ validation.middleware.ts # Query & body validace
âââ routes/
â âââ company.routes.ts # Company routy s validacĂ
â âââ contact.routes.ts # Contact routy s validacĂ
â âââ deal.routes.ts # Deal routy s validacĂ đ
âââ utils/ # PomocnĂ© utility đ
âââ error.utils.ts # Error handling utility
âââ validation.utils.ts # ValidaÄnĂ utility
âââ cache.utils.ts # Cache management
đ§ TechnickĂœ stack
- Node.js + TypeScript - Backend
- Express.js - Web framework
- Axios - HTTP client pro eWay-CRM API
- Zod - Schema validace a TypeScript typy
- Winston - Structured logging
- eWay-CRM REST API - Data source
đ NovÄ pĆidanĂ© funkce po refactoringu:
- Base Service - AbstraktnĂ tĆĂda pro sdĂlenĂ spoleÄnĂ© logiky
- Konstanty - Centralizované API konstanty a konfigurace
- Error Utils - Jednotné zpracovånà chyb
- Validation Utils - Pomocné funkce pro validaci
- Cache Utils - JednoduchĂĄ in-memory cache
đ ZnĂĄmĂ© problĂ©my a ĆeĆĄenĂ
1. OficiĂĄlnĂ @eway-crm/connector nefunguje
- Problém:
"Value cannot be null. Parameter name: userName"
- ĆeĆĄenĂ: â VytvoĆen custom HTTP konektor
2. SearchContacts vracĂ prĂĄzdnĂ© vĂœsledky
- Problém: Trial eWay-CRM instance nemå kontakty
- ĆeĆĄenĂ: â Contact CREATE funguje, lze testovat
3. Contact UPDATE/DELETE nefunguje
- ProblĂ©m: HTTP 404 pĆi volĂĄnĂ SaveItem pro kontakty
- MoĆŸnĂ© ĆeĆĄenĂ: PouĆŸĂt SaveContact mĂsto SaveItem
4. CompanyName pole jsou prĂĄzdnĂĄ
- ProblĂ©m: Trial data nemajĂ vyplnÄnĂ© nĂĄzvy spoleÄnostĂ
- Stav: â API funguje, jen data jsou prĂĄzdnĂĄ
đ Test vĂœsledky
đ eWay-CRM MCP Server Test Suite
=================================
1ïžâŁ Health Check...
â
Status: OK
â
eWay Connection: connected
2ïžâŁ API Overview...
â
Version: MCP-Server-1.0
â
Available Endpoints:
- /api/v1/companies
- /api/v1/contacts
- /api/v1/deals
3ïžâŁ Companies API...
â
GET Companies: 7 companies found
â
GET Company by ID: (funkÄnĂ)
4ïžâŁ Contacts API...
â
CREATE Contact: User, Test (ID: xxx)
â
GET Contact by ID: User, Test
â ïž UPDATE Contact: HTTP 500 error
5ïžâŁ Deals API... đ
â
CREATE Deal: Test Deal (ID: xxx)
â
GET Deal by ID: Test Deal
â
UPDATE Deal: Updated Test Deal
â
GET All Deals: X deals found
â
DELETE Deal: Successfully deleted
6ïžâŁ eWay-CRM Connection Test...
â
Connection Status: success
â
Message: PĆipojenĂ k eWay-CRM je funkÄnĂ
đ Test Suite Completed!
đŻ ShrnutĂ dosaĆŸenĂœch cĂlĆŻ
â SplnÄno podle zadĂĄnĂ:
- â MCP Server - REST API server bÄĆŸĂcĂ na portu 3000
- â eWay-CRM integrace - funkÄnĂ pĆipojenĂ k trial.eway-crm.com
- â Companies CRUD - kompletnĂ sprĂĄva spoleÄnostĂ
- â Contacts CREATE/READ - vytvĂĄĆenĂ a ÄtenĂ kontaktĆŻ
- â Deals CRUD - kompletnĂ sprĂĄva obchodĆŻ/pĆĂleĆŸitostĂ đ
- â TypeScript - type-safe kĂłd s DTO modely
- â Error handling - structured error responses
- â Logging - comprehensive logging with Winston
- â Validation - Zod schemas pro vĆĄechny endpointy
đ Bonus funkce:
- â Custom HTTP konektor - obeĆĄel problĂ©m s oficiĂĄlnĂ knihovnou
- â Pagination - standardnĂ REST API pagination
- â Health checks - monitoring endpointy
- â Test suite - automatickĂ© testovĂĄnĂ vĆĄech endpointĆŻ
- â Configuration service - centralizovanĂĄ konfigurace
- â Refactoring - zlepĆĄenĂĄ struktura kĂłdu, DRY principy đ
- â Error handling - jednotnĂ© zpracovĂĄnĂ chyb đ
- â Utility funkce - pomocnĂ© funkce pro validaci a cache đ
đ PĆipraveno pro rozĆĄĂĆenĂ:
- đ§ Deals/Opportunities - implementace stejnĂœm zpĆŻsobem
- đ§ Authentication - JWT nebo API key management
- đ§ Rate limiting - ochrana pĆed spam requesty
- đ§ Database caching - pro lepĆĄĂ performance
- đ§ WebSocket support - real-time updates
đĄ ZĂĄvÄr
MCP Server je funkÄnĂ a pĆipravenĂœ k pouĆŸitĂ. HlavnĂ cĂle zadĂĄnĂ byly splnÄny, s nÄkolika technickĂœmi problĂ©my zpĆŻsobenĂœmi omezenĂmi eWay-CRM trial instance a oficiĂĄlnĂ knihovny.
DoporuÄenĂ pro produkci:
- PouĆŸĂt produkÄnĂ eWay-CRM instanci s kompletnÄjĆĄĂmi daty
- Implementovat authentication a authorization
- PĆidat rate limiting a monitoring
- Optimalizovat Contact UPDATE/DELETE functionality