Skip to content

MCP

MCP (Model Context Protocol) is an open protocol that allows LLMs to call external tools through a standardized interface. ASP has a built-in MCP Server that provides Tools for Case, Alert, SIEM, Knowledge, and other capabilities, which can be called by Harness Agents like Claude Code.

Configuration

Environment Variables

VariableDescription
ASP_MCP_URLMCP Server address, e.g., https://asp.example.com/api/mcp
ASP_MCP_API_KEYAPI Key for authentication

Create API Key

Create in Personal Center under API Keys. Keys start with asp_.

Connection Method

ASP MCP Server uses Streamable HTTP protocol with endpoint at /api/mcp.

Authentication:

text
Authorization: Api-Key <your-api-key>

Test Connection

PowerShell:

powershell
$env:ASP_MCP_URL = "https://asp.example.com/api/mcp"
$env:ASP_MCP_API_KEY = "asp_xxx"

Invoke-RestMethod $env:ASP_MCP_URL -Method Post `
  -Headers @{Authorization="Api-Key $env:ASP_MCP_API_KEY"; Accept="application/json, text/event-stream"} `
  -ContentType "application/json" `
  -Body '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

Bash:

bash
export ASP_MCP_URL="https://asp.example.com/api/mcp"
export ASP_MCP_API_KEY="asp_xxx"

curl -sS "$ASP_MCP_URL" \
  -H "Authorization: Api-Key $ASP_MCP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

A returned MCP initialize result indicates a successful connection.

Available Tools

ASP MCP Server provides the following Tools:

Case

ToolDescription
list_casesQuery Case list, supports filtering by status, severity, verdict, etc.
update_caseUpdate Case manual assessment fields (severity, confidence, impact, priority, verdict, summary)
add_commentAdd comments to Case, Alert, Artifact, and other resources

Alert

ToolDescription
list_alertsQuery Alert list, supports filtering by status, severity, correlation ID

Artifact

ToolDescription
list_artifactsQuery Artifact list, supports filtering by type, role, value

Enrichment

ToolDescription
create_enrichmentCreate Enrichment record and attach to Case, Alert, or Artifact

Knowledge

ToolDescription
search_knowledgeSearch knowledge base by keyword
update_knowledgeUpdate knowledge entry title, body, tags, or expiration time

Playbook

ToolDescription
list_playbook_definitionsList runnable Playbook definitions
execute_playbookExecute Playbook from Case
list_playbooksQuery Playbook run records

SIEM

ToolDescription
siem_explore_schemaExplore available SIEM indexes and fields
siem_keyword_searchSearch SIEM logs by keyword
siem_adaptive_queryStructured query for SIEM logs
siem_discover_index_fieldsDiscover index fields and sample data
siem_execute_splExecute Splunk SPL query
siem_execute_esqlExecute ELK ES|QL query

Other

ToolDescription
ti_queryQuery threat intelligence for IOC
cmdb_lookupQuery asset and identity context for Artifact

Troubleshooting

401 / Invalid API key

  • Check if the API Key has expired
  • Check if the user account is disabled
  • Confirm the request header format is Authorization: Api-Key <key>

Connection failed

  • Confirm the MCP Server is running (ASGI service, port 8001)
  • Confirm /api/mcp routes to the ASGI service
  • Development: Check Vite proxy configuration
  • Production: Check Nginx configuration

Tools not available

  • Confirm the ASGI service is running and healthy
  • Check MCP Server logs for errors