MCP Server Documentation
Model Context Protocol integration for AI-powered SSL certificate management
https://sslexpired.com/mcp
What is MCP?
MCP (Model Context Protocol) is an open protocol that standardizes how AI applications interact with external data sources and tools. The SSL Expired MCP server enables AI assistants to manage your SSL certificates through natural language commands.
Supported Clients: Claude Desktop, Cline, Zed, and other MCP-compatible applications.
Getting Started
Prerequisites
- Active Business plan subscription
- API key from your dashboard settings
- MCP-compatible client installed
Configuration
Add SSL Expired to your MCP client configuration:
{
"mcpServers": {
"sslexpired": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-fetch",
"https://sslexpired.com/mcp"
],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}
{
"mcpServers": {
"sslexpired": {
"url": "https://sslexpired.com/mcp",
"apiKey": "your-api-key-here"
}
}
}
Available Tools
List all monitored domains with their SSL certificate status and expiry information.
status(string, optional) - Filter by status:valid,expiring_soon,expired,error
{
"name": "list_domains",
"arguments": {
"status": "expiring_soon"
}
}
{
"domains": [
{
"id": 1,
"domain_name": "example.com",
"port": 443,
"status": "expiring_soon",
"days_until_expiry": 25,
"certificate_expiry": "2025-02-24T23:59:59Z",
"last_checked": "2025-01-30T10:00:00Z"
}
],
"total": 1
}
- "Show me all my SSL certificates"
- "List domains that are expiring soon"
- "Which certificates have expired?"
Add a new domain to your SSL certificate monitoring.
domain_name(string, required) - Domain name to monitorport(integer, optional) - Port number (default: 443)ip_address(string, optional) - Specific IP address for connection
{
"name": "add_domain",
"arguments": {
"domain_name": "example.com",
"port": 443,
"ip_address": "192.168.1.1"
}
}
{
"id": 2,
"domain_name": "example.com",
"port": 443,
"ip_address": "192.168.1.1",
"status": "pending",
"message": "Domain added successfully and SSL check scheduled"
}
- "Add example.com to monitoring"
- "Monitor SSL certificate for mysite.org"
- "Start tracking api.example.com on port 8443"
Get detailed information about a specific domain's SSL certificate.
domain_id(integer, required) - Domain ID
{
"name": "get_domain",
"arguments": {
"domain_id": 1
}
}
{
"id": 1,
"domain_name": "example.com",
"port": 443,
"ip_address": null,
"status": "valid",
"certificate_expiry": "2025-06-15T23:59:59Z",
"certificate_issuer": "Let's Encrypt",
"certificate_subject": "example.com",
"days_until_expiry": 145,
"last_checked": "2025-01-30T10:00:00Z",
"error_message": null
}
- "Show me details for domain ID 1"
- "What's the status of example.com?"
- "Get certificate info for domain 42"
Trigger an immediate SSL certificate check for a specific domain.
domain_id(integer, required) - Domain ID to check
{
"name": "check_domain",
"arguments": {
"domain_id": 1
}
}
{
"message": "Certificate check completed",
"status": "valid",
"days_until_expiry": 145,
"certificate_expiry": "2025-06-15T23:59:59Z",
"last_checked": "2025-01-30T14:45:00Z"
}
- "Check the SSL certificate for domain 1"
- "Refresh certificate status for example.com"
- "Run a manual check on domain ID 5"
Remove a domain from SSL certificate monitoring.
domain_id(integer, required) - Domain ID to delete
{
"name": "delete_domain",
"arguments": {
"domain_id": 1
}
}
{
"message": "Domain deleted successfully",
"domain_id": 1
}
- "Remove domain ID 1 from monitoring"
- "Delete example.com from my tracked domains"
- "Stop monitoring domain 3"
Retrieve your account information and subscription details.
- None
{
"name": "get_account_info",
"arguments": {}
}
{
"id": 123,
"email": "user@example.com",
"name": "John Doe",
"plan": "business",
"domain_count": 15,
"domain_limit": 100,
"api_enabled": true,
"mcp_enabled": true,
"created_at": "2024-01-15T10:30:00Z"
}
- "Show my account details"
- "How many domains am I monitoring?"
- "What's my subscription plan?"
MCP Protocol Endpoints
The following HTTP endpoints implement the MCP specification:
| Method | Endpoint | Description |
|---|---|---|
POST |
/mcp/tools/list |
List all available tools |
POST |
/mcp/tools/call |
Execute a specific tool |
POST |
/mcp/resources/list |
List available resources |
POST |
/mcp/resources/read |
Read a specific resource |
POST |
/mcp/prompts/list |
List available prompts |
POST |
/mcp/prompts/get |
Retrieve a specific prompt |
Authentication
All MCP requests require authentication via your API key in the request headers:
X-API-Key: your-api-key-here
Note: Your MCP client configuration handles authentication automatically. Manual header configuration is only needed for direct API calls.
Rate Limits
MCP requests share the same rate limits as REST API requests:
- 1,000 requests per hour per API key
- Rate limits apply across both MCP and REST API endpoints
- Exceeding limits returns a
429 Too Many Requestserror
Common Use Cases
"Show me all certificates expiring in the next 30 days"
"Add these five domains to monitoring: example.com, test.org..."
"Give me a summary of all expired certificates"
"Check the SSL status for example.com right now"
Troubleshooting
- Verify your API key is correct and has API access enabled
- Restart your MCP client after configuration changes
- Check that your Business plan is active
- Regenerate your API key in dashboard settings
- Ensure no extra spaces in the API key configuration
- Verify the
X-API-Keyheader format is correct
- Monitor your usage in the dashboard
- Implement exponential backoff for retries
- Contact support for higher limits if needed
Need Help?
For MCP-specific support, configuration help, or technical questions:
- Email: info@sslexpired.com
- REST API: API Documentation
- MCP Spec: modelcontextprotocol.io