Skip to main content

Bobby AI assistant

Bobby is Peresvet's virtual assistant. It answers questions about Peresvet ST, the Portal and the documentation, analyzes errors, screenshots and logs, and writes automation scripts. Bobby works on docs.peresvet.it, on portal.peresvet.it and in Telegram.

How to open it​

  1. Click AI assistant in the top bar of the documentation site or the Portal.
  2. Sign in with your Portal account. If you are already signed in to the Portal, the chat opens right away.
  3. Type your question.

The chat opens on the right; drag its left edge to change the width. The conversation is shared between the documentation and the Portal: a conversation started on one site continues on the other.

What Bobby can do​

  • Answers from the documentation and links to the right sections.
  • Helps with the Portal: where to download a distribution or an update, how to get and bind a license, why a button is unavailable.
  • Explains how to build and run a task: which plugins and parameters fit the goal of the test.
  • Explains metrics, charts and counters and helps find the cause of a problem.
  • Reviews attachments: screenshots of the interface and charts, logs, configurations, PDFs.
  • Writes scripts for Peresvet ST: automation through the REST API, exports from ClickHouse and PostgreSQL, server and agent maintenance. Copy a ready script or download it as a file.
  • Remembers your group's test bed: addresses, diagrams, agreements. Say "remember…", and Bobby will remind you and your colleagues from your group. You can ask it to correct or delete a record.

Example questions:

How do I run an HTTP task on two agents?
Why is Flows Failed growing in Dynamic Applications?
Write a script that exports the tasks of the last 24 hours to CSV.
Remember: our test bed is agents 10.0.0.11 and 10.0.0.12, controller 10.0.0.10.

Working with the chat​

  • Attachments. Click +, drag files into the chat or paste them with Ctrl+V (Cmd+V on a Mac). You can attach up to 10 files to a question.
  • The answer is typed as it is written. To interrupt it, click the stop button.
  • Under an answer: Copy copies the answer with its formatting; 👍 and 👎 rate the answer. With 👎 you can say what went wrong: it helps improve the assistant.
  • New conversation: menu ≡ → New chat. Bobby keeps what was useful from the previous conversation in your group's knowledge base.
  • If Bobby is offline, a message appears above the input. In that case, write to support: support@peresvet.it.

Telegram bot​

Bobby is available in Telegram: @peresvet_bobby_bot. Message it directly or add it to your work group. The bot answers the same way as the chat on the site, using your group's knowledge base.

Private chat​

  1. Open @peresvet_bobby_bot and tap Start.
  2. Send /auth and tap Подключить через портал (connect through the Portal).
  3. Sign in to the Portal and click Connect. The bot confirms that the chat is connected.
  4. Ask questions as regular messages. You can attach photos and files up to 20 MB.

Group chat​

  1. Add @peresvet_bobby_bot to the group.
  2. A group administrator sends /auth and connects the group through the Portal. After that, the bot answers every member of the group on behalf of your Portal group.
  3. Ask a question in one of these ways:
    • with the command /ask <question>;
    • by replying to a bot message;
    • by mentioning @peresvet_bobby_bot in a message.

The bot only sees messages addressed to it; it does not read the rest of the group conversation.

Commands​

CommandWhat it does
/authConnect the chat to the Portal
/ask <question>Ask a question in a group
/newStart a new conversation
/helpShow help

The connection link works for 15 minutes and only once. If the connection was revoked, send /auth again.

MCP server (beta)​

The Peresvet ST MCP server connects an AI client to the system—for example, Codex, Claude, a local LLM shell, or another tool that supports MCP Streamable HTTP. Once connected, a user can describe a task in natural language. The AI client retrieves the current Peresvet ST schema, reads the library, selects recipes, builds and validates task drafts, and runs actions through a controlled workflow.

Public beta server endpoint:

https://portal.peresvet.it/mcp

Access is protected by a Peresvet portal account. Use the same email address and password that you use to sign in at portal.peresvet.it.

Beta

The MCP interface is currently in beta. The set of tools, recipe names, and diagnostic response format may change.

Why Use It​

The MCP server lets an AI client work from the system's actual schema instead of relying on memory or a verbal description of the interface.

It can:

  • identify which agents, networks, certificates, dictionaries, PCAPs, CVEs, and user files are available in the library;
  • select a suitable scenario for your test objective: NGFW, WAF, Anti-DDoS, TLS/IPsec, PCAP Replay, Dynamic Applications, Control Plane, or Access Plane;
  • build a task draft with the correct fields and references to library objects;
  • validate the task before saving it and provide clear guidance when a network, file, certificate, or parameter is missing;
  • create, start, or stop a task, or run an action within a task, only after explicit confirmation;
  • retrieve a report, metric summary, Control Plane events, and an execution analysis.

MCP Server Capabilities​

The available capabilities follow a safe workflow.

GroupPurpose
Schema and pluginsShows current fields, available plugins, the task structure, and Control/Access Plane rules
RecipesSuggests ready-to-use workflows for common tasks and explains which questions must be clarified
LibraryShows object metadata for networks, agents, certificates, dictionaries, files, PCAPs, CVEs, and other collections
DraftsBuilds and validates a task draft and explains errors before creation
TasksCreates, starts, and stops tasks through two-step confirmation
ActionsRuns in-task actions, such as an Access Plane flap or a Control Plane protocol flap/schedule
AnalysisReturns a task report, metric summary, convergence report, and Control Plane events

Operations that change system state have two steps:

  1. prepare_* validates the action and returns a short-lived approval token.
  2. confirm_* executes the action only when supplied with that token.

This sequence lets the AI client first show the user exactly what will happen and then execute the action after confirmation.

Note

Stopping a task does not delete it. The task remains in history, where its results and reports can be viewed and analyzed again.

Connecting​

An AI Agent Can Configure the Connection

You can give this page and your portal credentials to your AI agent. If the agent can modify its own MCP client configuration, it can add the https://portal.peresvet.it/mcp endpoint, configure authentication, and test the connection for you. You do not have to configure MCP manually from scratch.

Add the MCP server as an HTTP MCP endpoint:

https://portal.peresvet.it/mcp

The way you configure authentication depends on the client.

Clients That Support Basic Auth​

Specify:

Username: <your portal email address>
Password: <your portal password>

Clients That Support Only HTTP Headers​

Generate a Basic Auth header value:

printf '%s' '<email>:<password>' | base64

Then add the header:

Authorization: Basic <base64(email:password)>

Codex Example​

In ~/.codex/config.toml:

[mcp_servers.peresvet-st]
url = "https://portal.peresvet.it/mcp"
http_headers = { Authorization = "Basic <base64(email:password)>" }

After changing the configuration, restart Codex so that the native MCP tools appear in a new session.

Testing Access​

You can test access with the JSON-RPC initialize method:

curl -u '<email>:<password>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "peresvet-smoke",
"version": "1.0.0"
}
}
}' \
https://portal.peresvet.it/mcp

A successful response contains serverInfo.name with the value controller-agent-gateway.

If the username or password is incorrect, the server returns:

HTTP/2 401
Unauthorized

Typical Workflow​

Recommended sequence:

  1. Describe your testing objective in natural language.
  2. Ask the AI client to inspect the schema, recipes, and library.
  3. Provide any missing parameters: agents, networks, duration, intensity, files, certificates, and TLS/IPsec profiles.
  4. Build a task draft.
  5. Validate the draft.
  6. Create the task with prepare_task_create and confirm_task_create.
  7. Start the task with prepare_task_start and confirm_task_start.
  8. Request a report or results analysis after the task completes.

Example user prompt:

I want to test an NGFW. Select an HTTP/TLS scenario using two agents,
check the available networks and certificates, create a five-minute task draft,
and show me what I need to confirm before it starts.

The AI client should first ask for missing parameters or suggest safe defaults. It should then display the draft and create and start the task only after confirmation.

Example Prompts​

List Available Objects​

Show me which agents, networks, certificates, and PCAP files are available in the library.

Create a Task from a Description​

I need to test a WAF: HTTP/1.1, 1,000 RPS, 10 minutes, with the client and server
on different agents. Select a suitable recipe, create a draft, and validate it.

Check PCAP Replay Options​

Find the PCAP files in the library and suggest either a stateful or stateless scenario.
Before creating the task, explain which networks and agents will be used.

Analyze Results​

Analyze task 1234: status, errors, key metrics, Control Plane events,
and a link to the result in the interface.

Test Convergence​

For the running task, prepare a BGP flap, run it after confirmation,
and then show the convergence report.

Security and Limitations​

  • Use individual portal accounts. Do not place an administrator password in shared configuration files or public demonstration environments.
  • If the AI client runs in the cloud, consider your organization's policy: prompts and tool responses may be processed by an external service.
  • The MCP server returns library metadata but must not expose certificate private keys.
  • MCP file upload is intended for small files and is limited to 8 MiB of decoded content.
  • Before starting high-intensity tasks, check the networks, port ranges, session counts, and available agent resources.
Air-Gapped Environments

For on-premises installations without Internet access, the MCP server is deployed within the customer's infrastructure. While this capability remains in beta, the engineer responsible for your integration will determine the deployment architecture. Contact that engineer if you need a dedicated MCP server in an air-gapped environment.

Troubleshooting​

SymptomWhat to check
401 UnauthorizedPortal username/password, the Authorization header, and extra whitespace in the base64 value
MCP tools do not appear in the clientRestart the MCP client after changing its configuration
The client does not support Basic AuthUse Authorization: Basic <base64(email:password)> if the client supports HTTP headers
The client can see the endpoint but cannot call toolsConfirm that the client supports Streamable HTTP MCP, not only stdio MCP
The task cannot be createdAsk the AI client to validate the draft and explain the missing fields
An air-gapped deployment is requiredContact the engineer responsible for your integration; during beta, local MCP server deployment is configured individually