-
Notifications
You must be signed in to change notification settings - Fork 418
LLM Chat Interface with MCP Enabled Tool Orchestration #1202
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
Signed-off-by: Keval Mahajan <[email protected]>
a074cde to
cb2f2de
Compare
- Fix bandit B105 false positive in llmchat_router.py by adding nosec comment for empty string check - Fix CSS linting issues in admin.css: - Rename keyframes to kebab-case (messageSlideIn -> message-slide-in, fadeIn -> fade-in, thinkingStepIn -> thinking-step-in) - Replace deprecated word-break: break-word with overflow-wrap: break-word - Split single-line declaration blocks into multi-line format - Remove duplicate @Keyframes fade-in and .animate-fade-in selectors - Merge duplicate .thinking-step selector with animation property All pytest tests pass (3392 passed, 45 skipped) All quality checks pass (flake8, bandit, interrogate, pylint, verify) All web linting passes (stylelint, htmlhint)
…ncies Wrapped langchain imports in try/except block to handle environments where the optional LLM chat dependencies are not installed. This allows doctest to run successfully without requiring these dependencies. - Added _LLMCHAT_AVAILABLE flag to track availability - Set imports to None with type ignore when unavailable - Prevents ModuleNotFoundError during doctest runs
Signed-off-by: Mihai Criveti <[email protected]>
Signed-off-by: Mihai Criveti <[email protected]>
This was referenced Oct 11, 2025
Merged
p4yl04d3r
pushed a commit
to p4yl04d3r/mcp-context-forge
that referenced
this pull request
Nov 19, 2025
* MCP client implemented as new tab LLM Chat Signed-off-by: Keval Mahajan <[email protected]> * Improvements Signed-off-by: Keval Mahajan <[email protected]> * experience changes Signed-off-by: Keval Mahajan <[email protected]> * Improved MCP client backend Signed-off-by: Keval Mahajan <[email protected]> * Fix scrolling to the latest message Signed-off-by: Keval Mahajan <[email protected]> * Fixed jwt token for servers Signed-off-by: Keval Mahajan <[email protected]> * require auth token for team and private level servers Signed-off-by: Keval Mahajan <[email protected]> * proper error handling Signed-off-by: Keval Mahajan <[email protected]> * Thinking functionality display Signed-off-by: Keval Mahajan <[email protected]> * responsive tabs Signed-off-by: Keval Mahajan <[email protected]> * code standard fixes Signed-off-by: Keval Mahajan <[email protected]> * updated env example Signed-off-by: Keval Mahajan <[email protected]> * added new optional dependencies Signed-off-by: Keval Mahajan <[email protected]> * Fixed web linting Signed-off-by: Keval Mahajan <[email protected]> * Fix linting issues for PR IBM#1202 - Fix bandit B105 false positive in llmchat_router.py by adding nosec comment for empty string check - Fix CSS linting issues in admin.css: - Rename keyframes to kebab-case (messageSlideIn -> message-slide-in, fadeIn -> fade-in, thinkingStepIn -> thinking-step-in) - Replace deprecated word-break: break-word with overflow-wrap: break-word - Split single-line declaration blocks into multi-line format - Remove duplicate @Keyframes fade-in and .animate-fade-in selectors - Merge duplicate .thinking-step selector with animation property All pytest tests pass (3392 passed, 45 skipped) All quality checks pass (flake8, bandit, interrogate, pylint, verify) All web linting passes (stylelint, htmlhint) * Fix doctest failures by adding import guards for optional LLM dependencies Wrapped langchain imports in try/except block to handle environments where the optional LLM chat dependencies are not installed. This allows doctest to run successfully without requiring these dependencies. - Added _LLMCHAT_AVAILABLE flag to track availability - Set imports to None with type ignore when unavailable - Prevents ModuleNotFoundError during doctest runs * Linting and test fixes Signed-off-by: Mihai Criveti <[email protected]> * Web lint Signed-off-by: Mihai Criveti <[email protected]> --------- Signed-off-by: Keval Mahajan <[email protected]> Signed-off-by: Mihai Criveti <[email protected]> Co-authored-by: Mihai Criveti <[email protected]> Signed-off-by: p4yl04d3r <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
✨ Feature / Enhancement PR
🚀 Summary (1-2 sentences)
Closes #1200
This PR introduces a complete LLM Chat interface for virtual MCP servers in Context Forge Gateway with MCP tool orchestration, enabling users to interact with multiple LLM providers (Azure OpenAI, Ollama, OpenAI) through a web-based chat interface.
Key Features
Pre-requisites to Test:
pip install ".[llmchat]"Testing:
Recording.2025-10-10.143050.mp4
🧪 Checks
make lintpassesmake testpasses