Enrichment MCP server performs third-party observable lookups using various services for development and testing purposes
The Enrichment MCP Server is a specialized implementation of the Model Context Protocol (MCP) designed to facilitate third-party enrichment services for observables such as IP addresses, domains, URLs, and email addresses. By leveraging common security tools and protocols, this server provides a flexible framework to enhance AI applications like Claude Desktop with rich contextual data.
The Enrichment MCP Server exposes several key endpoints for different types of observables:
These features allow AI applications to seamlessly integrate third-party services, enriching threat intelligence and enhancing overall security posture. The server supports multiple popular tools and allows for extensibility through configuration updates.
This implementation of the enrichment-mcp
MCP Server adheres closely to the Model Context Protocol's specification, ensuring compatibility with various MCP clients such as Claude Desktop. It uses an internal custom configuration file (config.yaml) for mapping third-party services and their API keys.
The server is built using UV, a robust Python web framework which supports asynchronous operations. The architecture includes components such as:
The MCP protocol flow and data architecture are visually represented using Mermaid diagrams.
To set up a local environment for testing the Enrichment MCP Server:
Clone the Repository:
git clone [repository-url]
cd enrichment-mcp
Configure Environment Variables: Create and populate .env
using provided example template.
Start the Server:
uv run --env-file .env server.py
By following these steps, developers can quickly integrate this server into local testing environments.
Imagine an organization needing to enhance its threat intelligence capabilities. By integrating the Enrichment MCP Server with various security tools (e.g., VirusTotal, Hybrid Analysis), they can gather comprehensive reports on suspicious IP addresses and domains, improving their detection rates.
In an e-commerce setting, analyzing URLs dynamically is crucial to identifying potential phishing attempts. Integrating this server with the Enrichment MCP allows for real-time URL analysis, ensuring user safety and compliance with security policies.
The Enrichment MCP Server seamlessly integrates with popular AI applications:
MCP Client | Resources | Tools | Prompts | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ✅ | Full Support |
Cursor | ❌ | ✅ | ❌ | Tools Only |
Configuration of the Enrichment MCP Server involves editing the config.yaml
file, where each service can be mapped to a specific enrichment action. Additional security measures such as API key management and rate limiting are enforced.
Here is an example of how configuration might look:
{
"mcpServers": {
"enrichment-mcp": {
"command": "./uv",
"args": [
"--directory", "/path/to/clone/repo/enrichment-mcp",
"run", "server.py"
],
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key",
"HYBRID_ANALYSIS_API_KEY": "your-hybrid-analysis-api-key"
}
}
}
}
A1: Currently, only pre-defined observable types are supported. Custom observables require manual service integration.
A2: Rate limits are configured within each client's environment variables to prevent excessive usage and ensure services remain available.
A3: Yes, additional services can be integrated via custom configurations in config.yaml
.
A4: The update frequency depends on each service provider; however, some APIs can be polled periodically to ensure up-to-date information.
A5: Contributions are welcome! Please refer to the contribution guidelines for more details.
Contributors are encouraged to improve and expand this server. For detailed instructions on contributing, please visit our repository's main page.
Explore other resources in the broader MCP ecosystem:
By integrating the Enrichment MCP Server into AI workflows, organizations can significantly enhance their threat detection capabilities and improve overall security posture. The server’s flexible architecture ensures compatibility with various MCP clients and provides a robust foundation for expanding integration options in future releases.
Learn to connect to MCP servers over HTTP with Python SDK using SSE for efficient protocol communication
Python MCP client for testing servers avoid message limits and customize with API key
Next-generation MCP server enhances documentation analysis with AI-powered neural processing and multi-language support
Discover easy deployment and management of MCP servers with Glutamate platform for Windows Linux Mac
Explore community contributions to MCP including clients, servers, and projects for seamless integration
Learn how to use MCProto Ruby gem to create and chain MCP servers for custom solutions