Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phoenix Security MCP Server (Orange)

MCP (Model Context Protocol) server for the Phoenix Security platform. Give Claude, Cursor, and any MCP-capable AI agent full visibility into your security posture — assets, vulnerabilities, applications, risk — with just an API key.

Built on the same client library as the Phoenix Security CLI, covering Phoenix REST API Enterprise v1.27.

What your AI agent can do

Read / analyse (15 tools)

  • phoenix_search_findings — every v1.27 filter: severity, CVE, EPSS, SLA breach, scanner, tags, teams…
  • phoenix_search_assets, phoenix_get_asset, phoenix_get_finding
  • phoenix_list_applications, phoenix_get_application_posture — risk buckets, thresholds
  • phoenix_list_components, phoenix_get_component_posture
  • phoenix_list_teams, phoenix_get_team_members, phoenix_list_users
  • phoenix_api_gaps — tells the agent what the API cannot do, with workarounds AND the required-endpoints wishlist (full spec), so it never guesses
  • phoenix_raw_api — authenticated escape hatch for any /v1 endpoint
  • phoenix_test_connection

Write / automate (19 tools, disable with PHOENIX_MCP_READ_ONLY=true)

  • Asset lifecycle: phoenix_create_asset, phoenix_update_asset (additive edit), phoenix_enrich_asset, phoenix_add_asset_tags
  • Vulnerability lifecycle: phoenix_add_finding (delta), phoenix_close_finding (merge workaround, dry-run support), phoenix_enrich_finding, bulk phoenix_import_assets
  • Structure: phoenix_create_application, phoenix_update_application, phoenix_add_application_tags, phoenix_create_component, phoenix_add_component_rules, phoenix_link_repository
  • People: phoenix_create_team, phoenix_add_team_members, phoenix_set_team_auto_link_tags, phoenix_create_user, phoenix_set_users_active

Example prompts once installed:

"Which of my applications have open critical findings breaching SLA? Summarise by team." "Create a CONTAINER asset for myorg/api:2.1 tagged env:prod and link the org/api repository to the Payments application." "Enrich CVE-2024-3094 findings with a triage note and raise their severity to 9.8."

Quick install

Requires Python 3.10+ and uv (or pipx/pip). Create API credentials in Phoenix under Organisation → API Access.

Claude Code

claude mcp add phoenix-security \
  -e PHOENIX_CLIENT_ID=your-client-id \
  -e PHOENIX_CLIENT_SECRET=your-client-secret \
  -e PHOENIX_API_BASE_URL=https://api.securityphoenix.cloud \
  -- uvx --from git+https://github.com/Security-Phoenix-demo/Pheonix-Security-Orange-MPC phoenix-mcp

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "phoenix-security": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/Security-Phoenix-demo/Pheonix-Security-Orange-MPC", "phoenix-mcp"],
      "env": {
        "PHOENIX_CLIENT_ID": "your-client-id",
        "PHOENIX_CLIENT_SECRET": "your-client-secret",
        "PHOENIX_API_BASE_URL": "https://api.securityphoenix.cloud"
      }
    }
  }
}

Cursor / Windsurf / other MCP clients

Same command/args/env shape in the client's MCP config (e.g. .cursor/mcp.json). Full walkthroughs for every client, plus pipx/pip and from-source installs: docs/INSTALLATION.md.

AI platform skills

Ready-made skills wrapping this server + the CLI for Claude, ChatGPT (Custom GPTs & MCP connectors), OpenAI Codex, and Cursor — with shared playbooks for find-asset, find-vulnerability, find-remediation, exploitable-vulnerabilities, application reports, team risk, and asset/finding enrichment: skills/.

For ChatGPT connectors and other remote clients, the server also runs over HTTP: phoenix-mcp --transport streamable-http --port 8848 (keep it behind TLS + auth; see skills/chatgpt/README.md).

Configuration

Environment variable Required Description
PHOENIX_CLIENT_ID API client ID (Organisation → API Access)
PHOENIX_CLIENT_SECRET API client secret (shown once at creation)
PHOENIX_API_BASE_URL Default https://api.securityphoenix.cloud; demo: https://api.demo.appsecphx.io; PoC: https://api.poc1.appsecphx.io; dedicated: https://api.<tenant>.securityphoenix.cloud
PHOENIX_MCP_READ_ONLY true = disable all write tools (recommended to start)
PHOENIX_MCP_MAX_ITEMS Default cap for list results (default 100)
PHOENIX_MCP_ENV_FILE Explicit path to a .env file to load

Credentials can also live in a .env file (cp .env.example .env, then edit) — the server loads it automatically from the working directory or a parent, without overriding real environment variables. .env is git-ignored; never commit it.

Design notes

  • Clean input/output boundary — tools accept plain JSON arguments and return platform JSON; token handling, retries (Retry-After aware), pagination and Phoenix payload quirks stay internal.
  • Gaps are flagged, not hidden — operations the Phoenix API cannot perform (per-finding status updates, asset deletion, app deletion, …) are exposed through phoenix_api_gaps so agents choose the documented workaround instead of hallucinating endpoints.
  • Least surprise for writes — destructive-ish operations honour read-only mode; asset/finding writes go through the import pipeline exactly like official Phoenix tooling.

Development

git clone https://github.com/Security-Phoenix-demo/Pheonix-Security-Orange-MPC
cd Pheonix-Security-Orange-MPC
uv venv && uv pip install -e ".[dev]"
pytest                        # offline tests (mocked HTTP)
mcp dev phoenix_mcp/server.py # interactive MCP inspector

License

MIT — see LICENSE.

About

Phoenix Security MCP for Phoenix Security Orange

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages