MalloryAI MCP Server logo

MalloryAI MCP Server

by malloryai

The MalloryAI Intelligence MCP Server provides a robust backend for managing cybersecurity intelligence operations through the MCP (Model Context Protocol) framework. It's designed to facilitate and streamline cybersecurity intelligence workflows.

View on GitHub

Last updated: N/A

MalloryAI MCP Server

License: MIT

License: MIT

The MalloryAI Intelligence MCP Server provides a robust backend for managing cybersecurity intelligence operations through the MCP (Model Context Protocol) framework.

๐Ÿ“‹ Prerequisites

  • Python 3.13 or higher
  • uv for dependency management (recommended)

๐Ÿš€ Quick Start

Installation

Clone the repository:

git clone https://github.com/malloryai/mallory-mcp-server.git
cd mallory-mcp-server

Set up a virtual environment and install dependencies:

# Using uv (recommended)
uv venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

# Or using pip
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .

Install Development Dependencies

For development work, install the optional dependencies:

# Using uv
uv pip install -e ".[lint,tools]"

# Or using pip
pip install -e ".[lint,tools]"

Set Up Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality. Install them with:

pre-commit install
./scripts/install-commit-hook.sh

โš™๏ธ Configuration

Create a .env file in the project root with the following variables:

APP_ENV=local
MALLORY_API_KEY=your_api_key_here

๐Ÿƒโ€โ™‚๏ธ Running the Server

Direct Execution

python -m malloryai.mcp.app

or

uv run malloryai/mcp/app.py

Via the Claude Desktop Configuration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "MalloryAI": {
      "command": "/path/to/uv",
      "args": [
        "run",
        "--python",
        "/path/to/mcp-server/.venv/bin/python",
        "/path/to/mcp-server/malloryai/mcp/app.py"
      ],
      "env": {
        "MALLORY_API_KEY": "your_api_key_here"
      }
    }
  }
}

๐Ÿ“ฆ Project Structure

.
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ app.py                  # Main application entry point
โ”œโ”€โ”€ malloryai/              # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ mcp/                # MCP subpackage
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ config/         # Configuration modules
โ”‚       โ”œโ”€โ”€ server/         # Server implementation
โ”‚       โ”œโ”€โ”€ tools/          # Tool implementations
โ”‚       โ””โ”€โ”€ utils/          # Utility functions
โ”œโ”€โ”€ pyproject.toml          # Project metadata and dependencies
โ”œโ”€โ”€ scripts/                # Utility scripts
โ”‚   โ””โ”€โ”€ install-commit-hook.sh

๐Ÿงช Development

Code Style

This project uses:

Format your code with:

black .
isort .
flake8

Commit Message Format

This project follows the conventional commit format. Each commit message should follow this pattern:

<type>[(scope)]: <description>

Where type is one of:

  • feat or feature: New feature
  • fix, bugfix, or hotfix: Bug fixes
  • chore: Regular maintenance tasks
  • refactor: Code changes that neither fix bugs nor add features
  • docs: Documentation only changes
  • style: Changes that don't affect the meaning of the code
  • test: Adding or correcting tests
  • perf: Performance improvements
  • ci: Changes to CI configuration
  • build: Changes to build system or dependencies
  • revert: Reverting previous commits

Example: feat(server): add new authentication method

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request