Skip to main content
Connectors

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.

Parallel executionTimeout controlOutput capture

Zabbix

Query Zabbix API for hosts, items, triggers, and historical data.

Host lookupMetrics queryProblem history

VictoriaMetrics

Query VictoriaMetrics for time-series metrics using PromQL and MetricsQL.

PromQL/MetricsQLRange queriesLabel discovery

Grafana

Search dashboards, inspect panels, query Prometheus or Loki data sources, and read alert rules.

Dashboard lookupPrometheus/Loki queriesAlert rules

PagerDuty

Investigate incidents, services, on-call state, notes, and Event Orchestration data from PagerDuty.

Incident lookupOn-call contextNotes and events

Kubernetes

Inspect namespaces, pods, logs, events, deployments, nodes, and node details through the gateway.

Pod inspectionLog retrievalEvent analysis

PostgreSQL

Run read-only SQL diagnostics, inspect tables, indexes, locks, active queries, and database stats.

Read-only SQLSchema inspectionLock analysis

ClickHouse

Query ClickHouse, inspect databases and tables, review query logs, running queries, merges, and parts.

Query executionQuery logsCluster metadata

NetBox

Look up devices, interfaces, IP addresses, prefixes, circuits, virtual machines, and custom NetBox API paths.

Device inventoryIPAM lookupCircuit context

Catchpoint

Read Catchpoint alerts, tests, performance metrics, errors, monitoring nodes, and Internet Weather data.

Synthetic testsInternet outagesAlert actions

Jira

Search issues, read comments and transitions, inspect projects and users, add comments, and create or transition issues.

JQL searchIssue workflowComment updates

Prometheus Alertmanager

Receive Alertmanager alerts through a webhook. Resolved alerts close the loop on their incident.

Alerts onlyWebhookResolve handling

Datadog

Receive Datadog monitor alerts through a webhook.

Alerts onlyWebhook

Slack

Post alerts and results, listen to channels for alerts, and answer mentions in threads.

PostListenMentions

Telegram

Post alerts and results to Telegram chats and forum topics through a bot.

Post onlyHTML renderingTopics

Discord

Post alerts and results to Discord channels through a bot, without pinging anyone.

Post onlyMarkdown

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

1

Open Discover

Go to Connectors → Discover (or + Add → Browse connectors) and pick the system.

2

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.

json
// Zabbix connector → Tools → settings
{
  "zabbix_url": "https://zabbix.example.com/api_jsonrpc.php",
  "zabbix_token": "••••••••"
}
3

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.

4

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.

After an upgrade, every existing tool, alert source and messaging integration is its own connector. Use Settings → Merge another … connector into this one on a connector page to put a Zabbix webhook next to its Zabbix API access. Webhook URLs, tool names and skill assignments do not change when you merge or move parts.

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 -1001234567890 or @channel; add :topic_id for 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 example ext.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.
Only use connectors from developers you trust. Akmatori does not control which tools a server offers and cannot verify that they work as intended or that they won't change. The agent can call every tool you leave on.
bash
# 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.

Security

The AI agent never sees credentials. The MCP Gateway reads them at the moment it runs a tool, and only for the tools the run is allowed to use.
Secrets are never returned by the API: responses show masked values, and an empty field on update keeps the stored secret.
Each run can call only the tools of the skills (or cron job) it runs under; the gateway enforces the allowlist for built-in and MCP tools alike.
Remote MCP and OAuth requests refuse loopback, link-local and cloud-metadata addresses and never follow redirects. Set MCP_BLOCK_PRIVATE_NETWORKS=true to also refuse private networks.
Only the tool schema list of the gateway is reachable through the public proxy; tool calls and gateway admin endpoints stay on the internal network.
Every tool call is recorded in the run log of its incident or request.