blackpoint-mcp
blackpoint-mcp
Model Context Protocol (MCP) server for Blackpoint Cyber CompassOne - Managed Detection and Response (MDR) platform.
Features
This MCP server provides access to CompassOne's security capabilities through a decision-tree navigation interface:
Available Domains
🏢 Tenants: Customer tenant management
💻 Assets: Endpoint and server inventory (endpoint, server, network, cloud, mobile, iot)
🔍 Detections: Security detections and telemetry
🛡️ Vulnerabilities: Vulnerability management, dark web monitoring, external exposure scanning
Domain Structure
The server uses decision-tree navigation to organize tools:
Initial State: Navigation tools only (
blackpoint_navigate,blackpoint_status)Domain Entry: Navigate to a domain to see its specific tools
Domain Tools: Use domain-specific operations
Return: Use
blackpoint_backto return to navigation
Tool Naming Convention
All tools follow the pattern: blackpoint_{domain}_{action}
Examples:
blackpoint_assets_list- List assets by classblackpoint_detections_list- List security detectionsblackpoint_vulnerabilities_scans_list- List vulnerability scans
Related MCP server: datto-bcdr-mcp
Installation
npm install blackpoint-mcpConfiguration
Environment Variables
Variable | Description | Required |
| CompassOne API token | Yes |
| API base URL (may vary by region/partner) | No |
| Transport mode: | No (default: stdio) |
| HTTP port for gateway mode | No (default: 8080) |
| Set to | No |
| Logging level: debug, info, warn, error | No (default: info) |
Gateway Mode
When AUTH_MODE=gateway, the server reads credentials from HTTP headers:
X-Blackpoint-API-Token→BLACKPOINT_API_TOKEN
This enables per-request authentication for multi-tenant gateways.
Usage
Standalone Mode (stdio)
# Set credentials
export BLACKPOINT_API_TOKEN="your-api-token"
# Run the server
blackpoint-mcpGateway Mode (HTTP)
export AUTH_MODE=gateway
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8080
blackpoint-mcpExample Tool Calls
// Start by checking available domains
await tools.call("blackpoint_status");
// Navigate to assets domain
await tools.call("blackpoint_navigate", { domain: "assets" });
// List endpoint assets
await tools.call("blackpoint_assets_list", {
class: "endpoint",
pageSize: 10
});
// Get specific asset details
await tools.call("blackpoint_assets_get", {
id: "asset_12345"
});
// Return to navigation
await tools.call("blackpoint_back");API Coverage
✅ Implemented
Domain | Tools | Description |
tenants |
| Customer tenant management |
assets |
| Asset inventory and relationships |
detections |
| Security detections and telemetry |
vulnerabilities |
| Vuln management, dark web, external exposure |
📋 Planned
Domain | Status | Notes |
partners | SDK ready | Account management - ready to implement |
alerts | Models only | API handlers not available in CompassOne wrapper |
tickets | Models only | API handlers not available in CompassOne wrapper |
cloud_security | SDK ready | M365/Google/Cisco onboarding - ready to implement |
notifications | SDK ready | Contact groups and channels - ready to implement |
Partner vs Tenant Scoping
CompassOne uses hierarchical scoping: Partner → Tenants → Assets
Partner tokens can access all associated tenants
Tenant-scoped tokens are limited to specific customers
Always specify
tenantIdparameters to avoid cross-tenant operations
Error Handling
The server provides structured error responses:
{
"content": [{
"type": "text",
"text": "Failed to list assets: Authentication failed"
}],
"isError": true
}Common error scenarios:
Authentication: Invalid or expired API token
Rate Limiting: Automatic retry with exponential backoff
Not Found: Requested resource doesn't exist
Validation: Invalid parameters or missing required fields
Rate Limiting
The underlying SDK implements automatic rate limiting:
Default: 60 requests per minute (1 per second)
429 Handling: Honors
Retry-AfterheadersBackoff: Exponential backoff for subsequent requests
Docker
# Build
docker build -t blackpoint-mcp .
# Run in gateway mode
docker run -p 8080:8080 \
-e AUTH_MODE=gateway \
-e MCP_TRANSPORT=http \
-e MCP_HTTP_PORT=8080 \
blackpoint-mcpDevelopment
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Test
npm test
# Lint
npm run lintSecurity Considerations
API Access Requirements
CompassOne Partner Agreement required for API access
Partner-tier credentials needed for multi-tenant operations
Scoped tokens recommended for tenant-specific access
Destructive Operations
The following operations require confirmation (when implemented):
Asset isolation/response actions
Ticket status changes with actions
Alert acknowledgment/closure
Remediation workflows
These use the elicitConfirmation pattern to prevent accidental execution.
Troubleshooting
Common Issues
No tools showing:
Check
BLACKPOINT_API_TOKENis setVerify token has correct scopes
Check network connectivity to CompassOne API
Gateway mode not working:
Verify
AUTH_MODE=gatewayis setCheck HTTP headers are passed correctly
Confirm container networking allows connections
Rate limiting:
Monitor logs for 429 responses
Consider reducing request frequency
Verify token isn't shared across instances
Debug Logging
export LOG_LEVEL=debug
blackpoint-mcpHealth Check
# Test basic connectivity
curl -X POST http://localhost:8080/ \
-H "Content-Type: application/json" \
-H "X-Blackpoint-API-Token: your-token" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'Contributing
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake your changes and add tests
Follow the domain handler pattern for new capabilities
Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
License
Apache-2.0 - see LICENSE for details.
This server cannot be installed
Maintenance
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/wyre-technology/blackpoint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server