Agent Server
The QSC Agent is a multi-tenant AI agent that dynamically discovers MCP tools, queries them, and returns strictly tool-based answers (text, product lists, or documentation summaries...).
Quick summary
-
Combine product search, documentation lookup, analytics, and custom services into a single assistant.
-
Produce any output format your UI needs (lists, cards, Markdown/JSON, short summaries) by configuring output template via system prompt.
-
Customize labels, priorities, and any metadata in your configuration to guide how the agent behaves.
-
Swap, add, or remove capabilities simply by updating the MCP server list in agent configuration.
-
The system prompt defines how the QSC Agent behaves when processing user requests, interacting with MCP tools, and formatting responses. It acts as a universal rulebook for tool usage, result handling, and output structure — not code. Everything is configurable, and you can adapt it to your tools, products, or documentation services.
Get started
-
Go to Quasiris Search Cloud Config section
-
Create new agent Config
-
Decide what capabilities you need (product search, docs, analytics, etc.).
-
Point one or more MCP servers at those capabilities.
-
Provide example outputs or templates for the shapes you want returned.
-
the agent will use the connected tools and produce the structure you defined.
Example Configuration
{
"mcp_servers": [
{ "url": "https://mcp-products.example/api", "label": "product_search" },
{ "url": "https://mcp-products.purchase/api", "label": "product_purchase" }
{ "url": "https://mcp-docs.example/api", "label": "documentation" }
],
"openai_model": "gpt-5-turbo",
"system_prompt": "<SYSTEM_PROMPT_STRING>",
"openai_models": [
{ "label": "GPT-5 Turbo", "model": "gpt-5-turbo" },
{ "label": "GPT-4o", "model": "gpt-4o" }
]
}
Key Fields
| Field | Type | Description |
|---|---|---|
mcp_servers | Array | List of MCP tool servers |
url | String | Tool server API endpoint |
label | String | Friendly name used by the agent |
llm_model | String | Default LLM model used for inference |
llm_models | Array | Optional list of available models for UI selection |
welcome_message | String | Defines the agent's welcome message for client |
system_prompt | String | Defines the agent's behavior and constraints |
Example Config System Prompt
At startup, load and remember all available MCP tools and their input parameters.
For each user message:
1) Extract up to 5 short keywords.
2) Choose the tool that best fits the user’s intent:
• Use product-related tools for shopping or item requests.
• Use documentation-related tools for setup or configuration questions.
3) Run the selected tool with the extracted keywords.
4) Reply using only the tool results — never add outside knowledge.
Formatting:
- Always reply in pure Markdown.
- For product results: display them in a 3-per-row Markdown table grid.
Each product card includes an image, **Title**, metadata, and three actions:
[[QSCACTION type="submit" label="Buy Now" prompt="buy {{$product.sku}} via purchase tool" uiPrompt="Processing purchase..."]]
[[QSCACTION type="submit-silent" label="Add to Cart" prompt="add {{$product.sku}} to cart silently" uiPrompt="Adding to cart..."]]
[[QSCACTION type="url-open" label="View Details" url="{{$product.url}}" style="background-color: #2196F3; color: white;"]]
- For documentation results: summarize the key points or show a short example configuration in Markdown.
Behavior:
- Always decide which tool to use based on the user’s original question.
- Never mix results from multiple tools.
- Keep all responses concise, relevant, and formatted in Markdown only.
Action Types Reference
The QSC Agent supports multiple action types that can be embedded in responses using the [[QSCACTION...]] syntax. Each action type serves a different purpose and accepts specific parameters.
-
The Actions system (
[[QSCACTION...]]) allows your Qsc chatbot UI to display clickable buttons that trigger specific prompts back to the agent. This gives users a smooth, interactive shopping or browsing experience directly in chat.⚠️ Important: The action tokens are intended only for Qsc chatbot UI. If you integrate the agent into other environments (e.g., APIs, backend scripts, or command-line tools), you should not use or render these action tokens — instead, handle tool calls and user interactions programmatically.
Basic Syntax
[[QSCACTION type="ActionType" label="ButtonLabel" attribute1="value1" attribute2="value2"]]
Available Action Types
1. Submit Action
Purpose: Send a prompt to the agent and show user feedback in the chat.
Attributes:
type="submit"(required)label(required) - Button display textprompt(required) - The prompt sent to the agentuiPrompt(optional) - User-facing message shown in chat (if different from the actual prompt)style(optional) - CSS styles for button customization
Behavior:
- Shows
uiPrompt(if provided) orpromptin the chat as user message - Sends
promptto the agent for processing - Displays loading indicator and bot response
Examples:
[[QSCACTION type="submit" label="Add to Cart" prompt="add product with sku 3266783 to cart"]]
[[QSCACTION type="submit" label="Ask About Shipping" prompt="check shipping options for product 3266783" uiPrompt="Can you tell me about shipping options?"]]
[[QSCACTION type="submit" label="Styled Button" prompt="custom action" style="background-color: #4CAF50; color: white; padding: 10px;"]]
2. Submit-Silent Action
Purpose: Send a prompt to the agent without showing user feedback in the chat.
Attributes:
type="submit-silent"(required)label(required) - Button display textprompt(required) - The prompt sent to the agentstyle(optional) - CSS styles for button customization
Behavior:
- Sends
promptdirectly to the agent without displaying it in chat - No user message appears, but bot response is still shown
- Ideal for quick actions that don't need user confirmation
Examples:
[[QSCACTION type="submit-silent" label="Quick Add" prompt="add product with sku 3266783 to cart"]]
[[QSCACTION type="submit-silent" label="Save Preferences" prompt="update user preferences: theme=dark"]]
3. URL-Open Action
Purpose: Open a URL in a new browser tab.
Attributes:
type="url-open"(required)label(required) - Button display texturl(required) - The URL to openstyle(optional) - CSS styles for button customization
Behavior:
- Opens the specified URL in a new browser tab/window
- No interaction with the agent occurs
- Useful for external links, documentation, or product pages
Examples:
[[QSCACTION type="url-open" label="View Details" url="https://example.com/products/3266783"]]
[[QSCACTION type="url-open" label="Documentation" url="https://docs.example.com/user-guide" style="background-color: #2196F3; color: white;"]]
Using Template Variables in Actions
You can include template variables inside prompts to be filled dynamically at runtime. Just make sure your agent replaces these variables before returning the response:
[[QSCACTION type="submit" label="Add to Cart" prompt="add product with sku {{sku}} to cart"]]
Summary
The system prompt defines how your agent behaves and what format it returns data in.
You can connect any number of MCP servers and tools to extend capabilities.
You can control every aspect — from product layout to interaction flow — through system prompt configuration alone.
The [[QSCACTION...]] syntax enables your Qsc chatbot to dynamically generate buttons and link back to agent actions, supporting multiple interaction patterns including direct prompts, silent actions, and external URL navigation.