Skip to main content
Glama
javierb507

LevelBlue USM Anywhere MCP Server

by javierb507

LevelBlue USM Anywhere MCP Server

โš ๏ธ DISCLAIMER: This is NOT an official LevelBlue or AlienVault product. See DISCLAIMER.md for full terms.

A production-ready Model Context Protocol (MCP) server that connects AI assistants to LevelBlue's USM Anywhere security platform. Execute advanced security queries, manage investigations, and analyze threats through natural language.

Version: 3.0.0 Author: Javier Ballesteros (javier.ballesteros@gmail.com) License: GNU GPL v3.0 Repository: https://github.com/javierb507/anywhere-mcp-server


๐Ÿš€ Quick Start (3 Minutes)

# 1. Clone and install
git clone https://github.com/javierb507/anywhere-mcp-server.git
cd anywhere-mcp-server
npm install && npm run build

# 2. Configure credentials
cp env.example .env
# Edit .env with your USM Anywhere credentials

# 3. Test connection
node test-connection.js

โœ… Ready to integrate with your AI assistant! See integration examples below.


Related MCP server: now-sdk-ext-mcp

What is MCP?

Model Context Protocol (MCP) is an open protocol that allows AI assistants to securely connect to external data sources and tools. This server implements MCP to bridge AI assistants with LevelBlue USM Anywhere, enabling:

  • ๐Ÿค– Natural language queries โ†’ Advanced SQL/PPL security analysis

  • ๐Ÿ” Automated threat hunting โ†’ AI-powered detection and investigation

  • ๐Ÿ“Š Investigation management โ†’ Create, update, and track security incidents

  • ๐ŸŒ Threat intelligence โ†’ AlienVault OTX integration

Supported AI Platforms: Claude Desktop, Claude Code, Cline (VS Code), Cursor IDE, Zed Editor, and any MCP-compatible client.


Features

Core Capabilities

  • โœ… OAuth 2.0 Authentication - Secure client credentials flow

  • โœ… 16 MCP Tools - Complete USM Anywhere API coverage

  • โœ… Advanced Query Engine - Execute SQL and PPL queries

  • โœ… Investigation Management - SANS-aligned incident response workflows

  • โœ… Threat Intelligence - AlienVault OTX API integration

  • โœ… Type-Safe - Built with TypeScript and Zod validation

  • โœ… Production Ready - Comprehensive error handling and rate limiting

Pre-Built Security Queries

  • ๐Ÿ“š 15+ SQL Queries - Threat hunting, compliance, anomaly detection

  • ๐Ÿ“š 12+ PPL Pipelines - Behavioral analytics and log correlation

  • ๐Ÿ“– Complete Documentation - Query guides in QueryLanguage/ directory


Available MCP Tools

Tool

Description

get_alarms

Retrieve security alarms with filtering

get_events

Retrieve security events

get_alarm_details

Get detailed alarm information

get_event_details

Get detailed event information

get_investigations

List investigations with advanced filters

get_investigation_details

Get full investigation details

create_investigation

Create new security investigation

update_investigation

Update investigation status/priority

add_investigation_note

Add notes to investigation

delete_investigation

Delete investigation

execute_advanced_query

Execute SQL/PPL queries

validate_query_syntax

Validate query before execution

get_query_examples

Get pre-built query examples

search_pulses

Search OTX threat intelligence

get_indicator

Get threat indicator info (IP/domain/hash)

get_pulse

Get detailed pulse information


Integration Examples

Claude Desktop (macOS/Windows)

Configuration File Locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "usm-anywhere": {
      "command": "node",
      "args": ["C:\\path\\to\\anywhere-mcp-server\\dist\\index.js"],
      "env": {
        "ALIENVAULT_CLIENT_ID": "your_client_id",
        "ALIENVAULT_CLIENT_SECRET": "your_client_secret",
        "ALIENVAULT_SUBDOMAIN": "your_subdomain",
        "ALIENVAULT_ACCOUNT_NAME": "Default"
      }
    }
  }
}

Restart Claude Desktop โ†’ Look for ๐Ÿ”Œ icon to confirm MCP server is connected.

Claude Code (CLI)

Add to ~/.config/claude-code/config.json:

{
  "mcpServers": {
    "usm-anywhere": {
      "command": "node",
      "args": ["/path/to/anywhere-mcp-server/dist/index.js"],
      "env": {
        "ALIENVAULT_CLIENT_ID": "your_client_id",
        "ALIENVAULT_CLIENT_SECRET": "your_client_secret",
        "ALIENVAULT_SUBDOMAIN": "your_subdomain",
        "ALIENVAULT_ACCOUNT_NAME": "Default"
      }
    }
  }
}

Cline (VS Code Extension)

Add to VS Code Settings (JSON):

{
  "cline.mcpServers": {
    "usm-anywhere": {
      "command": "node",
      "args": ["/path/to/anywhere-mcp-server/dist/index.js"],
      "env": {
        "ALIENVAULT_CLIENT_ID": "your_client_id",
        "ALIENVAULT_CLIENT_SECRET": "your_client_secret",
        "ALIENVAULT_SUBDOMAIN": "your_subdomain",
        "ALIENVAULT_ACCOUNT_NAME": "Default"
      }
    }
  }
}

Cursor IDE

Create .cursor/mcp.json in your project:

{
  "mcpServers": {
    "usm-anywhere": {
      "command": "node",
      "args": ["/path/to/anywhere-mcp-server/dist/index.js"],
      "cwd": "/path/to/anywhere-mcp-server",
      "env": {
        "ALIENVAULT_CLIENT_ID": "your_client_id",
        "ALIENVAULT_CLIENT_SECRET": "your_client_secret",
        "ALIENVAULT_SUBDOMAIN": "your_subdomain",
        "ALIENVAULT_ACCOUNT_NAME": "Default"
      }
    }
  }
}

๐Ÿ“– For more integrations (Zed Editor, ChatGPT, Generic MCP), see INTEGRATION_GUIDE.md


Usage Examples

Once integrated, query your AI assistant using natural language:

Security Analysis

"Show me all critical alarms from the last 24 hours"
"Find failed login attempts from non-US countries"
"Detect potential brute force attacks in the last hour"
"Look for DNS queries longer than 40 characters (tunneling detection)"

Investigation Management

"Create a critical investigation for the SQL injection attempts in alarm abc-123"
"Show me all open investigations assigned to the security team"
"Add a note to investigation xyz-789 about remediation steps taken"
"Update investigation xyz-789 to resolved status"

Advanced Queries

"Execute SQL query to find lateral movement in network traffic"
"Create PPL pipeline to analyze user behavior anomalies"
"Run the port scanning detection query from the security guide"
"Show me off-hours data transfers larger than 10MB"

Threat Intelligence

"Search OTX for threat intelligence about domain malicious.com"
"Get indicator information for IP address 1.2.3.4"
"Show me recent pulses about ransomware"

Configuration

Required Environment Variables

# USM Anywhere API v2.0 (Required)
ALIENVAULT_CLIENT_ID=your_client_id
ALIENVAULT_CLIENT_SECRET=your_client_secret
ALIENVAULT_SUBDOMAIN=your_subdomain

# Account Name (Required for queries)
ALIENVAULT_ACCOUNT_NAME=Default

# Legacy OTX API (Optional)
ALIENVAULT_OTX_API_KEY=your_otx_key

Getting Your Credentials:

  1. USM Anywhere: Log in โ†’ Admin โ†’ Settings โ†’ API Credentials

  2. OTX API Key: Visit https://otx.alienvault.com/api

Important Notes:

  • ALIENVAULT_SUBDOMAIN: Just the subdomain (e.g., yourorg, not yourorg.alienvault.cloud)

  • ALIENVAULT_ACCOUNT_NAME: Ask your USM administrator for the correct account name

  • Never commit .env file to version control (already in .gitignore)


Documentation

Essential Docs

Query Documentation

Additional Resources


Troubleshooting

Connection Issues

Error: Authentication Failed

# Verify credentials
node test-connection.js

# Check .env file format
cat .env | grep ALIENVAULT

Error: No Data Returned

  • Verify ALIENVAULT_ACCOUNT_NAME is correct

  • Check user permissions in USM Anywhere

  • Ensure account has access to data

MCP Server Issues

Error: spawn EACCES (Permission denied)

# Make server executable
chmod +x dist/index.js

# Verify permissions
ls -la dist/index.js
# Should show: -rwxr-xr-x

MCP Server Not Detected

  • Use absolute paths in MCP configuration

  • Rebuild project: npm run build

  • Check MCP client logs for errors

Query Issues

500 Internal Server Error

  • Ensure account name is correct

  • Provide time ranges in queries (defaults to 24h)

  • Validate field names match your data schema

PPL Query Failures

  • Known issue: PPL has JSON encoding problems

  • Recommendation: Use SQL queries for production

  • PPL syntax validation works, but execution may fail


Development

Commands

# Build project
npm run build

# Development mode
npm run dev

# Run tests
npm test

# Clean build files
npm run clean

# Lint/typecheck
npm run lint

Project Structure

anywhere-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.ts              # Main MCP server
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”‚   โ””โ”€โ”€ alienvault.ts     # API service layer
โ”‚   โ”œโ”€โ”€ handlers/
โ”‚   โ”‚   โ””โ”€โ”€ tools.ts          # MCP tool handlers
โ”‚   โ””โ”€โ”€ types/
โ”‚       โ””โ”€โ”€ index.ts          # TypeScript types & Zod schemas
โ”œโ”€โ”€ QueryLanguage/            # Query documentation
โ”œโ”€โ”€ examples/                 # Configuration examples
โ”œโ”€โ”€ dist/                     # Compiled output
โ””โ”€โ”€ test-connection.js        # Connection test script

Support & Contributing

Get Help

Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes

  4. Add tests if applicable

  5. Commit (git commit -m 'Add amazing feature')

  6. Push (git push origin feature/amazing-feature)

  7. Open Pull Request

Note: By contributing, you agree to license your contributions under GNU GPL v3.0.


License & Credits

License

This project is licensed under GNU General Public License v3.0 - see LICENSE file.

Key Points:

  • โœ… Free to use, modify, and distribute

  • โœ… Source code must remain open

  • โœ… Changes must be documented

  • โœ… Derivatives must use same license

  • โŒ No warranty provided

  • โŒ Authors not liable for damages

Author

Javier Ballesteros

Acknowledgments

  • LevelBlue - For providing USM Anywhere API (docs.levelblue.com)

  • AlienVault - For providing OTX API (otx.alienvault.com)

  • Anthropic - For Model Context Protocol specification

  • Open Source Community - For contributions and feedback

Trademarks

LevelBlueยฎ, USM Anywhereยฎ, AlienVaultยฎ, and OTXยฎ are registered trademarks of their respective owners. This project is not affiliated with or endorsed by these companies.



โš ๏ธ Important Reminder: This is NOT an official LevelBlue product. Read DISCLAIMER.md before using. Always test in non-production environments first.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/javierb507/anywhere-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server