feat: add MCP tool contract drift monitoring blueprint - #287
ayush-singh-0601 wants to merge 3 commits into
Conversation
aj-emerich
left a comment
There was a problem hiding this comment.
This is a cool idea and a good showcase of the MCPToolTrigger! Would it be possible to add some downstream ingestion or logic that needs this information? Or some type of alerting/reporting to showcase some additional Kestra plugins?
|
@aj-emerich Thanks for the suggestion. I added a downstream Slack alert for unaccepted contract drift. It uses the analyzer output to report the change and severity counts, the first five affected tool paths, and the execution ID so the team can open the full Markdown and JSON reports. The alert is optional ( Could you take another look when you have a chance? |
What
Adds a production-oriented Blueprint that snapshots the agent-facing contracts of Kestra flows exposed through
McpToolTriggerand detects future drift.Why
MCP tool inputs, outputs, descriptions, server assignment, and safety annotations form an interface consumed by AI agents. Changes to that interface can be breaking even when the underlying flow remains valid.
How
The Blueprint:
Slack alerts are disabled by default. Enabling them requires the Slack Notifications plugin and a
SLACK_WEBHOOK_URLsecret. The baseline and reporting path does not require an external API, LLM, database, or SaaS service.Compatibility adjustment
The current
flows.Listtyped output omits plugin-specificMcpToolTriggerfields. The Blueprint keepsflows.Listas the namespace inventory and addsflows.Exportto obtain the authoritative saved YAML. The Python analyzer cross-checks both inventories and parses the exported definitions withPyYAML.Validation