MCP Server Documentation

Model Context Protocol integration for AI-powered SSL certificate management

Business Plan Feature • Server URL: 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:

Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "sslexpired": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-fetch",
        "https://sslexpired.com/mcp"
      ],
      "env": {
        "API_KEY": "your-api-key-here"
      }
    }
  }
}
Alternative: Direct URL Configuration
{
  "mcpServers": {
    "sslexpired": {
      "url": "https://sslexpired.com/mcp",
      "apiKey": "your-api-key-here"
    }
  }
}

Available Tools

Tool list_domains

List all monitored domains with their SSL certificate status and expiry information.

Parameters:
  • status (string, optional) - Filter by status: valid, expiring_soon, expired, error
Request
{
  "name": "list_domains",
  "arguments": {
    "status": "expiring_soon"
  }
}
Response
{
  "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
}
Natural Language Examples:
  • "Show me all my SSL certificates"
  • "List domains that are expiring soon"
  • "Which certificates have expired?"
Tool add_domain

Add a new domain to your SSL certificate monitoring.

Parameters:
  • domain_name (string, required) - Domain name to monitor
  • port (integer, optional) - Port number (default: 443)
  • ip_address (string, optional) - Specific IP address for connection
Request
{
  "name": "add_domain",
  "arguments": {
    "domain_name": "example.com",
    "port": 443,
    "ip_address": "192.168.1.1"
  }
}
Response
{
  "id": 2,
  "domain_name": "example.com",
  "port": 443,
  "ip_address": "192.168.1.1",
  "status": "pending",
  "message": "Domain added successfully and SSL check scheduled"
}
Natural Language Examples:
  • "Add example.com to monitoring"
  • "Monitor SSL certificate for mysite.org"
  • "Start tracking api.example.com on port 8443"
Tool get_domain

Get detailed information about a specific domain's SSL certificate.

Parameters:
  • domain_id (integer, required) - Domain ID
Request
{
  "name": "get_domain",
  "arguments": {
    "domain_id": 1
  }
}
Response
{
  "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
}
Natural Language Examples:
  • "Show me details for domain ID 1"
  • "What's the status of example.com?"
  • "Get certificate info for domain 42"
Tool check_domain

Trigger an immediate SSL certificate check for a specific domain.

Parameters:
  • domain_id (integer, required) - Domain ID to check
Request
{
  "name": "check_domain",
  "arguments": {
    "domain_id": 1
  }
}
Response
{
  "message": "Certificate check completed",
  "status": "valid",
  "days_until_expiry": 145,
  "certificate_expiry": "2025-06-15T23:59:59Z",
  "last_checked": "2025-01-30T14:45:00Z"
}
Natural Language Examples:
  • "Check the SSL certificate for domain 1"
  • "Refresh certificate status for example.com"
  • "Run a manual check on domain ID 5"
Tool delete_domain

Remove a domain from SSL certificate monitoring.

Parameters:
  • domain_id (integer, required) - Domain ID to delete
Request
{
  "name": "delete_domain",
  "arguments": {
    "domain_id": 1
  }
}
Response
{
  "message": "Domain deleted successfully",
  "domain_id": 1
}
Natural Language Examples:
  • "Remove domain ID 1 from monitoring"
  • "Delete example.com from my tracked domains"
  • "Stop monitoring domain 3"
Tool get_account_info

Retrieve your account information and subscription details.

Parameters:
  • None
Request
{
  "name": "get_account_info",
  "arguments": {}
}
Response
{
  "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"
}
Natural Language Examples:
  • "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:

Authentication Header
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 Requests error

Common Use Cases

Certificate Monitoring

"Show me all certificates expiring in the next 30 days"

Bulk Management

"Add these five domains to monitoring: example.com, test.org..."

Status Reports

"Give me a summary of all expired certificates"

Quick Checks

"Check the SSL status for example.com right now"

Troubleshooting

MCP Server Not Appearing
  • 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
Authentication Errors
  • Regenerate your API key in dashboard settings
  • Ensure no extra spaces in the API key configuration
  • Verify the X-API-Key header format is correct
Rate Limit Issues
  • 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: