Chat with Tool Calling
Overview
The Chat feature brings together AI language models and MCP tools for intelligent, interactive conversations. The LLM automatically discovers and calls MCP tools to answer questions, perform actions, and solve problems.
Key Capabilities
🤖 Streaming Responses
Real-time token-by-token output from AI models
🔧 Automatic Tool Calling
AI decides when and how to use MCP tools
📊 Token Usage Tracking
Monitor input/output/total tokens per message
🏷️ Per-Message Model Labels
Track which LLM model was used for each turn
📋 Copy Messages
One-click clipboard copy for any message
⌨️ Message History Navigation
Use Up/Down arrows to recall previous messages
💬 Prompt Picker
Type /prompt to select from MCP server prompts
🔒 Sensitive Data Protection
Automatic encryption and redaction of secrets
📄 MCP Tool Parameters Viewer
Inspect JSON parameters passed to tools
📤 Export Chat History
Save conversations as formatted markdown reports
Getting Started
Step 1: Configure an AI Model
Before chatting, configure at least one LLM model.
- Navigate to ⚙️ AI Models tab
- Click Add Model
- Fill in model details (see AI Models Guide)
- Click Save
📸 Screenshot needed: chat-prerequisite-ai-model.png
Description: Show the AI Models configuration page with at least one model configured
Step 2: Select MCP Connections
Choose which MCP servers the AI can access.
- Navigate to 🤖 Chat tab
- Find the Connections section
- Check the boxes for connections you want to enable
- Connections connect automatically when checked
📸 Screenshot needed: chat-connections-selection.png
Description: Show the Chat page connections section with multiple connections listed and some checkboxes checked
info: Lazy Connections: Connections are only opened when you check their checkbox, keeping unused servers disconnected.
Step 3: Select AI Model
Choose which LLM to use for the conversation.
- Find the Model dropdown at the top
- Select your configured AI model
- The model is now ready for chat
📸 Screenshot needed: chat-model-selection.png
Description: Show the model dropdown with multiple AI models available (OpenAI, Azure, etc.)
Basic Chat
Send a Message
- Type your message in the input box at the bottom
- Press Enter or click Send
- Watch the “Thinking…” timer while waiting
- See the streamed response appear token-by-token
Message flow:
User sends → AI thinks → AI responds (or calls tools) → User sees answer📸 Screenshot needed: chat-basic-conversation.png
Description: Show a simple chat conversation with 2-3 exchanges between user and assistant
Thinking Timer
While waiting for the AI’s first tokens, a timer displays:
Thinking... 00:03Format: mm:ss (minutes:seconds)
This helps you understand when complex requests or tool calls are taking longer.
📸 Screenshot needed: chat-thinking-timer.png
Description: Show the chat interface with the “Thinking…” timer visible
Token Usage Badges
Each assistant message displays token counts:
Example badge:
📊 Input: 150 | Output: 320 | Total: 470 tokensUse cases:
- Monitor API costs
- Optimize prompt efficiency
- Track context window usage
- Debug large conversations
📸 Screenshot needed: chat-token-usage-badge.png
Description: Show an assistant message with the token usage badge displayed next to it
Tool Calling
Automatic Tool Discovery
When you enable MCP connections, the AI automatically:
- Receives the list of available tools
- Understands tool descriptions and parameters
- Decides when tools are needed
- Calls tools with appropriate arguments
- Reads tool responses
- Synthesizes the final answer
You don’t need to do anything—the AI handles it all!
Viewing Tool Calls
When the AI calls a tool, you’ll see:
- Tool call message showing which tool was invoked
- Model badge indicating which LLM made the call
- JSON icon button to view parameters (when available)
📸 Screenshot needed: chat-tool-call-message.png
Description: Show a tool call message in the chat, highlighting the tool name and the JSON icon button
MCP Tool Parameters Viewer
Click the JSON icon on a tool call to view the parameters passed to the MCP tool.
Features:
- Color-coded JSON (keys, strings, numbers, booleans, null)
- Sensitive data protection (masked by default)
- Per-field show/hide toggles (👁️ icons)
- Syntax highlighting
- Collapsible nested structures
Sensitive fields (containing key, password, token, secret) are:
- Encrypted at rest
- Masked in the UI by default
- Revealable per-field with eye icon toggles
📸 Screenshot needed: chat-tool-parameters-viewer.png
Description: Show the expanded JSON parameters viewer with color-coded JSON, including at least one sensitive field with the eye icon toggle
warning: Privacy Note: Sensitive fields remain encrypted. Click the eye icon (👁️) to temporarily reveal values. Refresh the page to reset all reveals.
Tool Call Example
User asks:
“What’s the weather in San Francisco?”
AI flow:
- AI receives message
- AI identifies it needs weather data
- AI calls
get_weathertool withlocation: "San Francisco" - Tool returns weather data
- AI reads the response
- AI answers: “The weather in San Francisco is 65°F and sunny.”
You see:
- Your message
- Tool call:
get_weather - AI’s final answer with weather info
Advanced Features
Message History Navigation
Quickly recall previous messages without retyping.
How to use:
- Click in the chat input box
- Press Up Arrow (↑) to cycle backward through sent messages
- Press Down Arrow (↓) to cycle forward
- Press Enter to send the recalled message (or edit first)
Benefits:
- Retry failed requests
- Test variations of prompts
- Quickly reuse complex queries
Prompt Picker (Slash Command)
Access MCP server prompts directly from chat with /prompt.
How to use:
Basic usage:
- Type
/promptin the chat input - A modal opens showing all prompts from selected connections
- Select a prompt
- Fill in any required arguments
- Prompt text replaces
/promptin the input - Press Enter to send
Filtered usage:
- Type
/prompt weatherin the chat input - Modal opens with search pre-filtered to “weather”
- Select matching prompt
- Continue as above
📸 Screenshot needed: chat-prompt-picker-modal.png
Description: Show the prompt picker modal with multiple prompts listed, search box at top, and parameter fields for the selected prompt
Per-Message Copy
Copy any message to clipboard for use elsewhere.
How to copy:
- Hover over a user or assistant message
- Click the 📋 icon in the message header
- Icon briefly changes to ✅ to confirm
- Message text is in your clipboard
Use cases:
- Save important responses
- Share AI answers with team members
- Document conversations
- Copy for further analysis
📸 Screenshot needed: chat-copy-message-icon.png
Description: Show a message with the copy icon (📋) visible in the header
Per-Message Model Labels
Each message shows which AI model was used.
Display:
- Model badge next to user/assistant role
- Example:
gpt-4o,claude-3-5-sonnet-20241022,GPT-5
Benefits:
- Track multi-model conversations
- Identify which model produced which response
- Debug model-specific behavior
- Maintain clarity when switching models mid-session
📸 Screenshot needed: chat-model-badges.png
Description: Show a chat conversation with different model badges visible on various messages
Sensitive Data Protection
Chat messages are automatically scanned for sensitive information.
Detection methods:
- Regex pattern matching (default): Keyword-based detection
- Heuristic scanning: Token composition analysis
- AI detection (optional): Context-aware identification (must be enabled)
Protected keywords:
password,secret,token,key,apikey,api_key- Custom keywords from your configuration
Visual treatment:
- Inline badge:
[●●●●●●●● 👁️] - Per-value show/hide toggles
- AES-256 encrypted storage
Example:
User types:
“Set the api_key to abc123xyz456”
Displayed as:
“Set the api_key to [●●●●●●●● 👁️]”
📸 Screenshot needed: chat-sensitive-data-redaction.png
Description: Show a user message with sensitive data redacted as badges, including the eye icon for toggling visibility
info: Learn More: See the Sensitive Data Protection Guide for detailed configuration options.
Export Chat History
Save conversations as formatted markdown reports.
How to export:
- Complete your chat conversation
- Click the Export button (or similar control)
- Markdown file is generated and downloaded
Report includes:
- All user messages
- All assistant responses
- Tool calls with timestamps
- Token usage summaries
- Model information
Use cases:
- Document testing sessions
- Share results with team
- Archive important conversations
- Generate reports for stakeholders
Chat Input Features
Always at Bottom
The chat input box stays fixed at the bottom of the screen for easy access, even as messages scroll.
Multi-line Input
Press Shift + Enter to add new lines without sending.
Auto-focus
Input box is automatically focused when you:
- Open the Chat tab
- Send a message
- Dismiss a modal
Common Workflows
Quick Question Answering
- Type a simple question
- AI answers directly (no tool calls needed)
- Continue with follow-up questions
Example:
User: “What is MCP?”
AI: “Model Context Protocol (MCP) is a standardized protocol for…”
Tool-Assisted Research
- Ask a question requiring external data
- AI calls appropriate tool(s)
- AI synthesizes tool results
- You get a comprehensive answer
Example:
User: “Get the latest stock price for AAPL”
AI: [calls get_stock_price tool]
AI: “Apple (AAPL) is currently trading at $185.32…”
Multi-Step Problem Solving
- Ask a complex question
- AI breaks it into steps
- AI calls multiple tools sequentially
- AI combines results
- You get a complete solution
Example:
User: “Find recent GitHub issues for my repo and summarize the top 3”
AI: [calls list_issues tool]
AI: [reads issue details]
AI: “Here are the top 3 issues: 1. Bug in authentication…”
Using Prompts in Chat
- Type
/promptto browse prompts - Select a pre-configured prompt
- Fill in any arguments
- Send to AI for immediate execution
Example:
User:
/prompt code_review
Modal: Select “code_review” prompt, enter code
Input: [prompt text inserted]
AI: “Here’s my code review…”
Troubleshooting
AI Not Calling Tools
Problem: AI responds without using available tools
Solutions:
- Ensure connections are checked and connected
- Verify tools are actually available (check Tools tab)
- Be more explicit: “Use the get_weather tool to…”
- Check model supports function calling (older models may not)
Streaming Stops Mid-Response
Problem: Response appears to freeze or cut off
Solutions:
- Check network connection
- Verify API key is valid and has credits
- Check for rate limiting errors in console
- Try a different model
- Reduce conversation length (context window limits)
Sensitive Data Not Detected
Problem: Passwords/keys shown in plain text
Solutions:
- Use recognized keywords (
password,key,token,secret) - Enable AI detection in Sensitive Fields settings
- Add custom keywords to Additional Sensitive Fields
- Use quotes around sensitive values for better detection
Tool Parameters Not Showing
Problem: JSON icon click doesn’t show parameters
Solutions:
- Ensure tool call actually completed
- Check browser console for errors
- Verify the tool call returned parameter data
- Refresh page and retry
Tips & Best Practices
🎯 Be Specific
The more specific your request, the better the AI can select and use tools.
🔗 Enable Relevant Connections
Only check connections with tools you need for the conversation to reduce noise.
💰 Monitor Token Usage
Watch the token counts to manage API costs, especially with long conversations.
🔄 Use Message History
Press Up Arrow to quickly retry or adjust previous prompts.
📋 Export Important Chats
Save conversations that contain valuable insights or test results.
🔒 Review Sensitive Data
Check what’s being redacted to ensure proper protection.
🛠️ Test Tools First
Execute tools manually in the Tools tab before relying on AI to use them.