Skip to content

Fix: Add missing parsers and cleanup parameters to MCP ability tools#20

Open
KirillM1 wants to merge 1 commit into
mitre:mainfrom
autonet-internal:fix-ability-parsers-cleanup
Open

Fix: Add missing parsers and cleanup parameters to MCP ability tools#20
KirillM1 wants to merge 1 commit into
mitre:mainfrom
autonet-internal:fix-ability-parsers-cleanup

Conversation

@KirillM1

Copy link
Copy Markdown

Description

This PR adds the missing parsers and cleanup parameters to the create_windows_ability and create_linux_ability tools in the MCP server.

Previously, these fields were hardcoded to empty lists in the executor payload. This prevented the MCP client (and the LLM using it) from defining critical cleanup commands (leaving IOCs behind) or adding output parsers (missing facts) when generating Caldera abilities.

This change updates the function signatures, docstrings, and executor payload mappings to accept and pass these lists correctly.

Closes #19

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

  1. Started the Caldera MCP server with the updated mcp_server.py.
  2. Invoked the create_linux_ability and create_windows_ability tools via an MCP client, explicitly passing a mock parser and a cleanup command (e.g., rm -f /tmp/dropped_payload).
  3. Checked the newly created abilities via the Caldera API/UI.
  4. Verified that the parsers and cleanup lists within the executor object correctly contained the passed values, rather than defaulting to empty lists.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation (updated docstrings)
  • I have added tests that prove my fix is effective or that my feature works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing parsers and cleanup parameters in create_linux_ability and create_windows_ability tools

1 participant