• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 19371465569

14 Nov 2025 04:49PM UTC coverage: 48.339% (+0.1%) from 48.21%
19371465569

push

github

web-flow
Integrate composite tool workflows with vMCP request pipeline (#2572)

* Integrate composite tool workflows with vMCP request pipeline

Complete the integration of composite tool workflows with the Virtual MCP
Server request-handling pipeline. This enables multi-step workflows defined
in configuration to be exposed as MCP capabilities and invoked by clients.

The composite workflow engine was implemented in prior work but not connected
to the vMCP server pipeline. This change completes the integration by:

- Creating SDK elicitation adapter that wraps mark3labs MCPServer
- Converting configuration composite tools to workflow definitions
- Adding composite tool handler creation via handler factory
- Registering composite tools as MCP capabilities in sessions
- Validating tool name conflicts to prevent routing ambiguity

The implementation follows clean architecture with three adapter layers:
workflow executors adapt composer to handlers, SDK adapter enables elicitation,
and capability adapter converts domain types to SDK format.

Security enhancements include elicitation response depth validation, tool name
conflict detection with sentinel error, thread-safety documentation, and
workflow validation at startup.

All tests passing with race detector. Zero linter issues.

Files changed: 20 files (+458/-16)
New files: 6 (824 lines production + test code)
Test coverage: 38 new table-driven test cases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR feedback: Apply Go best practices and fail-fast validation

Apply Go idioms and security best practices based on PR review feedback.

Changes:
- Remove redundant empty slice checks before loops (idiomatic Go)
- Return nil for empty collections instead of initialized empty maps/slices
- Change server.New() signature to return error for proper error propagation
- Implement fail-fast validation for workflow definitions at startup
- Add time... (continued)

258 of 377 new or added lines in 10 files covered. (68.44%)

16 existing lines in 2 files now uncovered.

23485 of 48584 relevant lines covered (48.34%)

36.33 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.83
/pkg/transport/proxy/httpsse/http_proxy.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc