-
Notifications
You must be signed in to change notification settings - Fork 9
Response API + Agent Plan + Artifact Strucutre + Support AIO MCP #416
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for AIO (All-in-One) MCP sandbox integration to Jan Server, providing a comprehensive set of tools for browser automation, file operations, shell/terminal access, code execution (Python/Node.js), and document conversion capabilities.
Key changes:
- Integration of AIO Sandbox SDK with new client wrapper and MCP handler for 7 tool types
- CLI support for AIO configuration with
--with-aioand--skip-aioflags - Docker Compose configuration for AIO sandbox container with resource limits
- Enhanced MCP client to handle both SSE and JSON response formats
- Comprehensive Postman test collection with 10 test categories covering all AIO capabilities
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/jan-cli/cmd_setup.go | Adds CLI flags and prompts for AIO configuration; includes new applyAIODefaults function |
| services/response-api/internal/infrastructure/mcp/client.go | Implements SSE/JSON response parsing for MCP protocol compatibility |
| services/response-api/internal/infrastructure/llmprovider/model_info.go | Fixes duplicate "Bearer " prefix in authorization headers |
| services/mcp-tools/main.go | Initializes AIO client and integrates with MCP route |
| services/mcp-tools/internal/infrastructure/aio/client.go | SDK wrapper providing clean interface to AIO sandbox operations |
| services/mcp-tools/internal/interfaces/httpserver/routes/mcp/aio_mcp.go | Implements 7 MCP tools: shell, file (read/write/list), browser, code execution, markitdown |
| services/mcp-tools/internal/infrastructure/config/config.go | Adds AIO configuration fields |
| services/mcp-tools/internal/interfaces/httpserver/routes/routes_provider.go | Wire dependency injection for AIO MCP handler |
| services/mcp-tools/internal/interfaces/httpserver/routes/mcp/mcp_route.go | Registers AIO tools with MCP server |
| infra/docker/services-mcp.yml | AIO sandbox container with 4GB memory limit, 2 CPU limit, health checks |
| config/production.env.example | Production environment template with AIO configuration |
| .env.template | Development environment template with detailed AIO settings |
| Makefile | Adds up-aio, down-aio, restart-aio, logs-aio, and aio-verify targets |
| tests/e2e/automation/collections/response-aio.postman.json | Comprehensive test suite with 899 lines covering all AIO tools |
| services/mcp-tools/go.mod, go.sum | Adds AIO SDK dependency v0.0.2 |
| services/mcp-tools/cmd/server/wire_gen.go | Generated wire code for dependency injection |
| services/llm-api/internal/interfaces/httpserver/handlers/imagehandler/image_handler.go | Trims whitespace from URLs |
| services/mcp-tools/configs/mcp-providers.yml | Documents optional MCP bridge configuration for AIO |
Comments suppressed due to low confidence (1)
tools/jan-cli/cmd_setup.go:107
- The --skip-aio flag is defined and passed to promptForEnvVars, but unlike --skip-realtime (which has a disableRealtime function called at line 103-107), there's no corresponding handling for skipAIO when used outside of prompts. Consider adding a disableAIO function and calling it after line 107 to ensure consistent behavior with other skip flags.
if skipRealtime {
if err := disableRealtime(envPath); err != nil {
return fmt.Errorf("failed to disable realtime API: %w", err)
}
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…erver into feat/aio-mcp-tools-setup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 88 out of 94 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Response API + Agent Plan + Artifact Strucutre + Support AIO MCP