A multi-tenant Model Context Protocol (MCP) server for Service Desk Plus Cloud API integration.
This server enables AI assistants (like Claude) to interact with Service Desk Plus Cloud instances through a secure, multi-tenant architecture. Each tenant uses their own OAuth credentials with complete isolation.
- 🏢 Multi-Tenant Architecture: Complete isolation between tenants
- 🔐 OAuth 2.0 Authentication: Self-client certificates per tenant
- 🛡️ Enterprise Security: AES-256-GCM encryption, per-tenant keys
- 📊 Comprehensive Audit Logging: All operations tracked
- 🚦 Rate Limiting: Per-tenant rate limits with circuit breakers
- 🔄 Automatic Token Refresh: Managed token lifecycle
- 📡 SSE Transport: Server-Sent Events for real-time communication
Currently in active development. See DEVELOPMENT_PLAN.md for progress.
- ✅ Phase 1: Foundation (Database, Security, Configuration)
- ✅ Phase 2.1: Tenant Management
- ✅ Phase 2.2: OAuth Integration
- ⏳ Phase 2.3: Rate Limiting & Circuit Breakers
- Language: TypeScript (Node.js 20+)
- Database: PostgreSQL 15+
- Cache: Redis
- MCP SDK: @modelcontextprotocol/sdk
- Security: AES-256-GCM encryption, bcrypt
- Node.js 20+
- PostgreSQL 15+
- Redis
- Docker & Docker Compose
- Clone the repository:
git clone https://github.com/yourusername/sdp-mcp-server.git
cd sdp-mcp-server- Install dependencies:
npm install- Copy environment configuration:
cp .env.example .env
# Edit .env with your configuration- Start the database and Redis:
docker-compose up -d- Run database migrations:
npm run migrate- Start the development server:
npm run devThe server follows a modular architecture with clear separation of concerns:
src/
├── server/ # MCP server implementation
├── tenants/ # Multi-tenant management
├── auth/ # Authentication & OAuth
├── sdp/ # Service Desk Plus integration
├── database/ # Data access layer
├── monitoring/ # Logging & metrics
└── utils/ # Shared utilities
- Per-tenant encryption keys derived from master key
- OAuth tokens encrypted at rest
- Comprehensive audit logging
- Tenant isolation at all levels
- Rate limiting and circuit breakers
[License Type] - See LICENSE file for details
See CONTRIBUTING.md for contribution guidelines.
For issues and questions, please use the GitHub issue tracker.