Security JavaScript ★ 242

BurtTheCoder/mcp-maigret

MCP server for maigret, a powerful OSINT tool that collects user account information from various public sources. This server provides tools for searching usernames across social networks and analyzing URLs.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "burtthecoder-mcp-maigret": {
      "command": "node",
      "args": [
        "~/.mcp/mcp-maigret/index.js"
      ]
    }
  }
}

Maigret MCP Server

smithery badge

A Model Context Protocol (MCP) server for maigret, a powerful OSINT tool that collects user account information from various public sources. This server provides tools for searching usernames across social networks and analyzing URLs. It is designed to integrate seamlessly with MCP-compatible applications like Claude Desktop.

⚠️ Warning

This tool is designed for legitimate OSINT research purposes. Please:

  • Only search for information that is publicly available
  • Respect privacy and data protection laws
  • Follow the terms of service of the platforms being searched
  • Use responsibly and ethically
  • Be aware that some sites may rate-limit or block automated searches

Security

This server implements several security measures to prevent command injection attacks:

Input Validation

  • Usernames: Only alphanumeric characters, underscores, hyphens, and periods are allowed (max 100 characters)
  • URLs: Must be valid HTTP/HTTPS URLs without shell metacharacters
  • Tags: Only alphanumeric characters, underscores, and hyphens are allowed

Safe Command Execution

  • Uses execFile() instead of exec() to prevent shell interpolation
  • All command arguments are passed as arrays, not concatenated strings
  • Docker commands are executed without shell interpretation

Reporting Security Issues

If you discover a security vulnerability, please report it by opening an issue or contacting the maintainers directly. We take security seriously and will respond promptly.

Requirements

  • Node.js (v18 or later)
  • Docker
  • macOS, Linux, or Windows with Docker Desktop installed
  • Write access to the reports directory

Quick Start

Installing via Smithery

To install Maigret for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-maigret --client claude

Installing Manually

  1. Install Docker:

  2. Install the server globally via npm:

npm install -g mcp-maigret
  1. Create a reports directory:
mkdir -p /path/to/reports/directory
  1. Add to your Claude Desktop configuration file:
{
  "mcpServers": {
    "maigret": {
      "command": "mcp-maigret",
      "env": {
        "MAIGRET_REPORTS_DIR": "/path/to/reports/directory"
      }
    }
  }
}

Configuration file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Restart Claude Desktop

Alternative Setup (From Source)

If you prefer to run from source or need to modify the code:

  1. Clone and build:
git clone <repository_url>
cd mcp-maigret
npm install
npm run build
  1. Add to your Claude Desktop configuration:
{
  "mcpServers": {
    "maigret": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-maigret/build/index.js"],
      "env": {
        "MAIGRET_REPORTS_DIR": "/path/to/reports/directory"
      }
    }
  }
}

Features

  • Username Search: Search for a username across hundreds of social networks and websites
  • URL Analysis: Parse URLs to extract information and search for associated usernames
  • Multiple Output Formats: Support for txt, html, pdf, json, csv, and xmind formats
  • Site Filtering: Filter searches by site tags (e.g., photo, dating, us)
  • Docker-based: Reliable and consistent execution across environments

Tools

1. Username Search Tool

  • Name: search_username
  • Description: Search for a username across social networks and sites
  • Parameters:
    • username (required): Username to search for (alphanumeric, underscores, hyphens, periods only; max 100 chars)
    • format (optional, default: “pdf”): Output format (txt, html, pdf, json, csv, xmind)
    • use_all_sites (optional, default: false): Use all available sites instead of top 500
    • tags (optional): Array of tags to filter sites (alphanumeric, underscores, hyphens only)

Example:

{
  "username": "test_user123",
  "format": "html",
  "use_all_sites": false,
  "tags": ["photo"]
}

2. URL Analysis Tool

  • Name: parse_url
  • Description: Parse a URL to extract information and search for associated usernames
  • Parameters:
    • url (required): URL to analyze
    • format (optional, default: “pdf”): Output format (txt, html, pdf, json, csv, xmind)

Example:

{
  "url": "https://example.com/profile",
  "format": "txt"
}

Troubleshooting

Docker Issues

  1. Verify Docker is installed and running:
docker --version
docker ps
  1. Check Docker permissions:
    • Ensure your user has permissions to run Docker commands
    • On Linux, add your user to the docker group: sudo usermod -aG docker $USER

Reports Directory Issues

  1. Verify the reports directory:

    • The directory specified in MAIGRET_REPORTS_DIR must exist
    • Your user must have write permissions to this directory
    • Check permissions: ls -la /path/to/reports/directory
  2. Common configuration mistakes:

    • Missing MAIGRET_REPORTS_DIR environment variable
    • Directory doesn’t exist
    • Incorrect permissions
    • Trailing slashes in the path
  3. After fixing any issues:

    • Save the configuration file
    • Restart Claude Desktop

Error Messages

  • “Docker is not installed or not running”: Install Docker and start the Docker daemon
  • “MAIGRET_REPORTS_DIR environment variable must be set”: Add the environment variable to your configuration
  • “Error creating reports directory”: Check directory permissions and path
  • “Error executing maigret”: Check Docker logs and ensure the container has proper permissions
  • “Invalid username”: Username contains invalid characters. Use only alphanumeric, underscores, hyphens, and periods
  • “Invalid URL”: URL is malformed or contains prohibited characters
  • “Invalid tag”: Tag contains invalid characters. Use only alphanumeric, underscores, and hyphens

Contributing

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Benzer MCP sunucuları

LaurieWired/GhidraMCP Security

A Model Context Protocol server for Ghidra that enables LLMs to autonomously reverse engineer applications. Provides tools for decompiling binaries, renaming methods and data, and listing methods, classes, imports, and exports.

LaurieWired/GhidraMCP ★ 9,126
mrexodia/ida-pro-mcp Security

MCP server for IDA Pro, allowing you to perform binary analysis with AI assistants. This plugin implement decompilation, disassembly and allows you to generate malware analysis reports automatically.

mrexodia/ida-pro-mcp ★ 9,115
zinja-coder/jadx-ai-mcp Security

JADX-AI-MCP is a plugin and MCP Server for the JADX decompiler that integrates directly with Model Context Protocol (MCP) to provide live reverse engineering support with LLMs like Claude.

zinja-coder/jadx-ai-mcp ★ 2,251
beelzebub-labs/beelzebub Security

Beelzebub is a honeypot framework that lets you build honeypot tools using MCP. Its purpose is to detect prompt injection or malicious agent behavior. The underlying idea is to provide the agent with tools it would never use in its normal work.

beelzebub-labs/beelzebub ★ 2,033
safedep/vet Security

vet-mcp checks open source packages—like those suggested by AI coding tools—for vulnerabilities and malicious code. It supports npm and PyPI, and runs locally via Docker or as a standalone binary for fast, automated vetting.

safedep/vet ★ 1,066
semgrep/mcp Security

Allow AI agents to scan code for security vulnerabilites using Semgrep.

semgrep/mcp ★ 668
Daha fazla: Security →