mcpField
A
Anywhere MCP Server

Anywhere MCP Server

Local
github.com/javierb507Developer Tools1Updated 39w ago

About Anywhere MCP Server

Anywhere MCP Server connects AI assistants to LevelBlue USM Anywhere for security operations and threat analysis. It provides query, investigation-management, and AlienVault OTX intelligence tools; the project states that it is not an official product.

Key features

  1. 01Authenticate with OAuth 2.0
  2. 02Query security events and alarms
  3. 03Run SQL and PPL queries
  4. 04Create and manage investigations
  5. 05Retrieve AlienVault OTX threat intelligence
  6. 06Use prebuilt security query examples

Use cases

  1. 01Filter alarms and analyze security events
  2. 02Create investigations and update their status
  3. 03Run threat-hunting or compliance queries
  4. 04Look up threat intelligence for IPs, domains, or hashes

MCP support

The MCP server exposes 16 tools to compatible clients for accessing USM Anywhere alarms, events, investigations, and query capabilities, as well as AlienVault OTX intelligence.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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 ([email protected]) 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.


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

ToolDescription
get_alarmsRetrieve security alarms with filtering
get_eventsRetrieve security events
get_alarm_detailsGet detailed alarm information
get_event_detailsGet detailed event information
get_investigationsList investigations with advanced filters
get_investigation_detailsGet full investigation details
create_investigationCreate new security investigation
update_investigationUpdate investigation status/priority
add_investigation_noteAdd notes to investigation
delete_investigationDelete investigation
execute_advanced_queryExecute SQL/PPL queries
validate_query_syntaxValidate query before execution
get_query_examplesGet pre-built query examples
search_pulsesSearch OTX threat intelligence
get_indicatorGet threat indicator info (IP/domain/hash)
get_pulseGet 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.


Official Documentation Links


⚠️ Important Reminder: This is NOT an official LevelBlue product. Read DISCLAIMER.md before using. Always test in non-production environments first.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.