Server types
Local MCP servers
A local MCP server is a process CyberStrike launches on your machine. You specify the command to run; CyberStrike manages the process lifecycle. Config fields:type
type
Value:
"local" — requiredIdentifies this as a locally-executed MCP server.command
command
Type:
string[] — requiredThe command and arguments to run. CyberStrike splits the array into the executable and its arguments.environment
environment
Type:
Record<string, string> — optionalEnvironment variables to inject when starting the process. Use this to pass API keys and configuration without hard-coding them in the command string.enabled
enabled
Type:
boolean — optionalWhether to start this server on launch. Set to false to keep the config without activating the server.timeout
timeout
Type:
number (integer, positive) — optionalRequest timeout in milliseconds. Defaults to 5000 (5 seconds). Increase this for tools with slow startup or long-running operations.Remote MCP servers
A remote MCP server is an HTTPS endpoint that speaks the MCP protocol. CyberStrike connects over HTTP and optionally authenticates with OAuth or static headers. Config fields:type
type
Value:
"remote" — requiredIdentifies this as a remote MCP server.url
url
Type:
string — requiredThe full URL of the remote MCP server.enabled
enabled
Type:
boolean — optionalWhether to connect to this server on launch.headers
headers
Type:
Record<string, string> — optionalStatic HTTP headers to include with every request. Use this for Bearer token authentication or custom API keys that don’t change between sessions.oauth
oauth
Type:
McpOAuth | false — optionalOAuth authentication configuration. When present and not false, CyberStrike will attempt OAuth authentication with the server.Set to false to explicitly disable OAuth auto-detection for a server that returns WWW-Authenticate headers but doesn’t require OAuth.The McpOAuth object accepts:clientId(string, optional) — OAuth client ID. If omitted, CyberStrike attempts dynamic client registration (RFC 7591).clientSecret(string, optional) — OAuth client secret, if required by the authorization server.scope(string, optional) — OAuth scopes to request during authorization.
timeout
timeout
Type:
number (integer, positive) — optionalRequest timeout in milliseconds. Defaults to 5000 (5 seconds).Configuration
Add MCP servers tocyberstrike.json under the "mcp" key. Each entry is a named server.
cyberstrike.json
CLI commands
Adding a server
The interactiveadd command walks you through configuring a new MCP server and writes the result to your config file.
Listing servers
✓ connected— server is reachable and responding○ disabled— server is present in config but disabled⚠ needs authentication— server requires OAuth and no credentials are stored✗ failed— server is unreachable or returned an error
OAuth authentication
clientId to the config:
cyberstrike.json
Logging out
cyberstrike mcp auth again before using it.
Debugging OAuth
WWW-Authenticate headers, stored token expiry, and client registration status. Useful when a server shows needs authentication but auth fails.
Project vs. global scope
When you runcyberstrike mcp add inside a Git repository, you can choose to save the server to your project config (cyberstrike.json in the repo root) or your global config (~/.config/cyberstrike/cyberstrike.json).
- Project scope — The server is available when you run CyberStrike from that repository. Commit
cyberstrike.jsonto share the config with your team. - Global scope — The server is available in every CyberStrike session on your machine.