Enterprise MCP Server
Enterprise-grade Model Context Protocol (MCP) server with ServiceNow integration and health monitoring capabilities.
Features
- Health Monitoring: Built-in health checks and monitoring with system metrics
- ServiceNow Integration: Full ServiceNow MCP service integration for enterprise workflows
- Production Ready: Designed for enterprise environments with proper logging and error handling
- FastAPI Backend: High-performance REST API with Starlette and FastMCP
- Async Support: Full asynchronous operation support
- Modular Architecture: Service-based architecture with base service class
Quick Start
Prerequisites
- Python 3.11+
- uv package manager
Installation
- Clone the repository:
git clone <repository-url>
cd enterprise-mcp
- Install dependencies using uv:
uv sync
- Activate the virtual environment:
source .venv/bin/activate
Running the Server
uv run enterprise-mcp
The server will start on http://localhost:3001
by default.
Health Endpoints
GET /health
- Basic health checkGET /health/ready
- Readiness probeGET /health/live
- Liveness probe
Development
Setup Development Environment
- Install development dependencies:
uv sync --extra dev
- Install pre-commit hooks:
make dev
Running Tests
make test
# or
uv run pytest
Code Formatting
make format
# or
uv run ruff format .
uv run ruff check --fix .
Available Make Commands
make help # Show available commands
make install # Install dependencies
make install-dev # Install dev dependencies
make test # Run tests
make test-cov # Run tests with coverage
make lint # Run linting
make format # Format code
make run # Run the server
make run-dev # Run server in development mode
make clean # Clean up build artifacts
make dev # Set up development environment
Configuration
The server uses environment variables for configuration. Copy .env.example
to .env
and customize:
cp .env.example .env
Available settings:
HOST
- Server host (default: 0.0.0.0)PORT
- Server port (default: 3001)DEBUG
- Debug mode (default: false)MCP_BASE
- MCP base URL (default: http://localhost:3001)SERVICENOW_INSTANCE
- ServiceNow instance URLSERVICENOW_USERNAME
- ServiceNow usernameSERVICENOW_PASSWORD
- ServiceNow passwordHEALTH_CHECK_INTERVAL
- Health check interval in seconds (default: 30)
Services
Health Service
Provides comprehensive health monitoring including:
- System health status
- Uptime information
- Memory usage statistics
- CPU usage statistics
- Platform information
ServiceNow Service
Integrates with ServiceNow instances for enterprise workflow management:
- Get incidents
- Create incidents
- Update incidents
- Get change requests
Architecture
src/enterprise_mcp/
├── main.py # Main entry point
├── server/ # Core server implementation
│ ├── __init__.py
│ ├── base.py # Base server class
│ └── mcp_server.py # MCP server implementation
├── services/ # MCP services
│ ├── __init__.py
│ ├── base_service.py # Base service class
│ ├── health/ # Health monitoring service
│ │ ├── __init__.py
│ │ ├── service.py
│ │ └── settings.py
│ └── servicenow/ # ServiceNow integration service
│ ├── __init__.py
│ ├── service.py
│ └── settings.py
└── settings/ # Configuration settings
└── __init__.py
VS Code Integration
The project includes VS Code configuration for MCP debugging:
.vscode/mcp.json
- MCP server configuration.vscode/tasks.json
- Build and run tasks.devcontainer/
- Development container setup
Docker Support
Build and run with Docker:
docker build -t enterprise-mcp .
docker run -p 3001:3001 enterprise-mcp
License
Enterprise License - See LICENSE file for details.