- Home
- MCP servers
- SpamAssassin
SpamAssassin
- go
1
GitHub Stars
go
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You set up a secure, containerized MCP server that analyzes email content with SpamAssassin. This server provides defensive email security analysis within a controlled environment, enabling you to scan messages, check sender reputations, test rules, and inspect configurations without sending emails or generating malicious content.
How to use
To use the SpamAssassin MCP Server, connect with an MCP client using SSE transport at the server URL. This enables you to scan emails, check sender reputations, and review current configuration. You can also run the local stdio transport to interact directly from the command line.
Key workflows you can perform include analyzing an email for spam probability and rule matches, verifying sender reputation against blacklists, and obtaining a snapshot of the current SpamAssassin configuration. All actions are defensive and do not perform email sending or content generation.
How to install
Prerequisites you need before installing are Docker and Docker Compose, plus access to an MCP client that supports the server.
Option A: Build and start with Docker Compose
# Clone or create the project directory
cd spamassassin-mcp
# Optional: Copy and customize configuration
cp .env.example .env
# Edit .env to customize ports and settings
# Build and start the containers
docker compose up -d
# Check health
docker compose logs spamassassin-mcp
Option B: Use a pre-built Docker image
# Pull the latest image from Docker Hub
docker pull your-dockerhub-username/spamassassin-mcp:latest
# Run the container
docker run -d \
--name spamassassin-mcp \
-p 8081:8080 \
your-dockerhub-username/spamassassin-mcp:latest
Connect to the MCP server using SSE transport via this URL: http://localhost:8081/mcp. For direct interaction from the host, you can also run the local MCP server binary if provided by your setup.
Additional content
Configuration and basic usage details help you tailor the server to your environment. The server is designed for defensive analysis only, with safeguards to prevent email transmission and content generation. Security settings include rate limiting, input validation, and container isolation to reduce risk.
Health monitoring and troubleshooting steps let you verify the container health and SpamAssassin connectivity. Use the provided health check script or the standard Docker logging commands to diagnose issues.
Security and operational notes
Defensive posture ensures the MCP server only analyzes content and metadata. It does not send emails, relay messages, generate malicious content, or perform offensive security operations. All interactions are logged for auditability, and network boundaries keep operations isolated.
The server runs with non-root privileges, uses a read-only filesystem where possible, and enforces resource limits to prevent abuse. It is designed to handle input safely, sanitize content, and apply strict validation on all endpoints.
Troubleshooting
If you encounter a container restart loop, verify that the environment matches the expected transport mode. Port conflicts are resolved by adjusting SA_MCP_HOST_PORT in the .env file. If you see network subnet conflicts, consider modifying the docker-compose networks configuration. For health check failures, run the health-check script manually and review container logs for spamd activity.
Notes and examples
Common workflows include scanning an email, verifying sender reputation, and retrieving the current configuration. Use the provided command patterns to perform these tasks from your MCP client or local endpoint.
Available tools
scan_email
Analyze email content for spam probability and rule matches with optional verbose and Bayesian analysis.
check_reputation
Check sender reputation and domain/IP blacklists.
explain_score
Explain how a spam score was calculated with a detailed breakdown.
get_config
Retrieve current SpamAssassin configuration and status.
update_rules
Update SpamAssassin rule definitions (defensive updates only).
test_rules
Test custom rules against sample emails in a safe environment.