Connectors
A connector is everything Akmatori connects to for one system: the tools the agent can call, the webhook that sends its alerts, the messaging channels where results go, or a remote MCP server. Open Connectors in the sidebar to see yours, or the Discover tab to add one.
What a connector can do
Tools
The agent can query and act on the system: metrics, logs, hosts, tickets, databases.
Alerts
The system sends alerts to an Akmatori webhook; each alert can open or join an incident.
Messaging
Channels where alerts and results are posted, and (Slack) where the agent listens.
One connector can do more than one of these. The Zabbix connector holds the Zabbix API access the agent queries and the Zabbix webhook that opens incidents. Each connector has tabs for what it can do: Tools (or Server for MCP), Channels, Alerts, Formatting and Settings.
Built-in connectors
SSH
Execute commands on remote servers via SSH. Supports password and key-based authentication.
Zabbix
Query Zabbix API for hosts, items, triggers, and historical data.
VictoriaMetrics
Query VictoriaMetrics for time-series metrics using PromQL and MetricsQL.
Grafana
Search dashboards, inspect panels, query Prometheus or Loki data sources, and read alert rules.
PagerDuty
Investigate incidents, services, on-call state, notes, and Event Orchestration data from PagerDuty.
Kubernetes
Inspect namespaces, pods, logs, events, deployments, nodes, and node details through the gateway.
PostgreSQL
Run read-only SQL diagnostics, inspect tables, indexes, locks, active queries, and database stats.
ClickHouse
Query ClickHouse, inspect databases and tables, review query logs, running queries, merges, and parts.
NetBox
Look up devices, interfaces, IP addresses, prefixes, circuits, virtual machines, and custom NetBox API paths.
Catchpoint
Read Catchpoint alerts, tests, performance metrics, errors, monitoring nodes, and Internet Weather data.
Jira
Search issues, read comments and transitions, inspect projects and users, add comments, and create or transition issues.
Prometheus Alertmanager
Receive Alertmanager alerts through a webhook. Resolved alerts close the loop on their incident.
Datadog
Receive Datadog monitor alerts through a webhook.
Slack
Post alerts and results, listen to channels for alerts, and answer mentions in threads.
Telegram
Post alerts and results to Telegram chats and forum topics through a bot.
Discord
Post alerts and results to Discord channels through a bot, without pinging anyone.
The incidents, proposals and events tools are part of Akmatori itself and need no connector. Declarative HTTP connectors that you define through the API also appear in Discover.
Adding a connector
Open Discover
Go to Connectors → Discover (or + Add → Browse connectors) and pick the system.
Configure the first part
Enter the API URL and credentials for a tool, create the alert webhook for an alert-only system such as Alertmanager, or enter the bot token for Slack, Telegram or Discord. Saving it creates the connector and opens its page.
// Zabbix connector → Tools → settings
{
"zabbix_url": "https://zabbix.example.com/api_jsonrpc.php",
"zabbix_token": "••••••••"
}Add the rest on the connector page
Add the webhook on the Alerts tab and copy its URL into the source system, or add channels on the Channels tab. To run a second environment (for example a staging Zabbix), add the same connector again: each environment is its own connector.
Assign the tools to skills
The agent can call a connector's tools only in the skills and cron jobs you assign them to (Skills → edit → Tools, or the tool list of a cron job). Every run gets an allowlist built from these assignments, and the MCP Gateway refuses every other tool.
Messaging connectors
Slack posts alerts and results, listens to channels for alerts, and answers mentions (see Slack). Telegram and Discord post alerts and results through a bot; they do not listen yet. The channels of a messaging connector live on its Channels tab, together with its credentials and a Test connection button.
- Telegram: create a bot with @BotFather, add it to the chat, and use the chat ID (for example
-1001234567890or@channel; add:topic_idfor a forum topic). - Discord: the bot needs Send Messages and Read Message History; use the channel ID. Messages never ping anyone.
- To send an alert source's notifications to Telegram or Discord, choose that channel as its notification channel. The alert is posted there and the investigation result follows as a reply.
Custom connectors (remote MCP servers)
Connect any remote MCP server by URL. Choose + Add → Add custom connector (MCP), enter a name and the MCP server URL (Streamable HTTP, for example https://mcp.example.com/mcp), choose the authentication, and press Test connection to see the server's tools before you save.
OAuth (sign in)
Akmatori finds the server's authorization server, registers itself when the server allows it, and sends you to sign in. Tokens refresh automatically. Needs the external URL in Settings → General.
Bearer token
Sent as Authorization: Bearer … on every request.
API key header
Any header name with a secret value, for example X-API-Key.
- The agent calls the server's tools as
ext.<name>.<tool>(for exampleext.github.search_issues). Tool names with dots become underscores. - Assign the connector to skills or cron jobs like any tool. Without an assignment the agent cannot call it.
- On the Server tab you can change the URL and authentication, sign in again, and turn single tools off.
- Only remote servers are supported. Local (stdio) MCP servers are not: they would run commands inside the gateway container.
# Add a remote MCP server through the API (same as the dialog)
curl -X POST https://akmatori.example.com/api/mcp-servers \
-H "Authorization: Bearer $AKMATORI_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"GitHub","url":"https://mcp.example.com/mcp",
"auth_config":{"type":"bearer","token":"..."},
"disabled_tools":["delete_repo"]}'
# Test it through the gateway (same network policy as real calls)
curl -X POST https://akmatori.example.com/api/mcp-servers/1/test \
-H "Authorization: Bearer $AKMATORI_TOKEN"Response formatting
The Formatting tab of a messaging or alert connector shows which formatting rules can reshape the answers for each of its channels and webhooks, and Rule for this opens a new rule already scoped to that channel or source. Answers are stored as Markdown, and each platform renders them automatically: Slack mrkdwn within Slack's size limit, Telegram HTML split at 4096 characters, Discord Markdown split at 2000 characters.