Skip to main content

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

  1. Go to Quasiris Search Cloud Config section

  2. 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

FieldTypeDescription
mcp_serversArrayList of MCP tool servers
urlStringTool server API endpoint
labelStringFriendly name used by the agent
llm_modelStringDefault LLM model used for inference
llm_modelsArrayOptional list of available models for UI selection
welcome_messageStringDefines the agent's welcome message for client
system_promptStringDefines 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 text
  • prompt (required) - The prompt sent to the agent
  • uiPrompt (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) or prompt in the chat as user message
  • Sends prompt to 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 text
  • prompt (required) - The prompt sent to the agent
  • style (optional) - CSS styles for button customization

Behavior:

  • Sends prompt directly 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 text
  • url (required) - The URL to open
  • style (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.