Skip to content
Agentmart
Submit a tool

Marzban MCP

Manage Marzban panels through the Model Context Protocol.

Connector by Ilmar7786 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 26
Write a review

Chalk Labs

Need help deploying Marzban MCP?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ilmar7786-marzban-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Manage Marzban panels through the Model Context Protocol.

Use cases: cloud-management, identity-access

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
9 read · 9 write · 3 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
Runs code on install
Runs as
Node.js package

Tools by what they do 21

Read from the source code; the running server may list different tools.

Read 9 · Look things up without changing anything.

  • marzban_config_get
  • marzban_hosts_get
  • marzban_nodes_list
  • marzban_subscription_get
  • marzban_system_get_inbounds
  • marzban_system_get_stats
  • marzban_users_get
  • marzban_users_get_usage
  • marzban_users_list

Write 9 · Create, change, send or run things.

  • marzban_config_update
  • marzban_core_restart
  • marzban_hosts_update
  • marzban_users_activate
  • marzban_users_create
  • marzban_users_deactivate
  • marzban_users_extend
  • marzban_users_hold
  • marzban_users_update

Delete 3 · Delete, drop, revoke or wipe things.

  • marzban_users_delete
  • marzban_users_reset_traffic
  • marzban_users_revoke_subscription

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • MARZBAN_PASSWORD

Other settings (environment variables or headers).

  • MARZBAN_BASE_URL
  • MARZBAN_USERNAME

Network hosts it talks to 8

  • api.github.com · found in code
  • context7.com · found in code
  • esm.sh · found in code
  • github.com · found in code
  • glama.ai · found in code
  • hub.docker.com · found in code
  • ilmar7786.github.io · found in code
  • turbo.build · found in code

Tools (21)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • marzban_config_getGet core config

    Reads the Xray core configuration. Defaults to a structural summary (inbound/outbound tags, ports, protocols, routing rule count) — the full config can be tens of KB and this is usually all that's needed. Pass `section` (e.g. "inbounds") for one key's raw JSON, or `section: "raw"` for the entire config.

  • marzban_config_updateReplace core config

    Overwrites the entire Xray core configuration and restarts the core — this is the single most disruptive operation on the whole panel, dropping every active connection while it restarts. Replaces the config wholesale, not a patch. Set `dryRun: true` first to preview the diff against the current config without writing or restarting anything (no confirmation needed for a dry run). Requires confirmation for a real write.

  • marzban_core_restartRestart core

    Restarts the Xray core and every connected node, dropping all active connections. Use marzban_config_update instead if the goal is to apply a config change — it restarts the core as part of applying, so a separate restart is rarely needed. Requires confirmation.

  • marzban_hosts_getGet proxy hosts

    Lists proxy host settings grouped by inbound tag. Flags host fields (remark/address/host/sni/path) that reference an unknown `{VARIABLE}` template token — almost always a typo, since Marzban leaves unknown tokens un-substituted rather than erroring.

  • marzban_hosts_updateReplace proxy hosts

    Overwrites the entire proxy host configuration (all inbound tags at once) — this replaces the whole map, not a per-tag patch, so include every tag you want to keep. May change subscription links/configs for affected users. Requires confirmation.

  • marzban_nodes_listList nodes

    Lists all connected nodes with their status and Xray version, plus bandwidth usage (uplink/downlink) over the given period. `start`/`end` (ISO datetimes) narrow the usage window; omit both for all-time.

  • marzban_subscription_getGet subscription info

    Reads subscription status/usage/expiry using the token from a subscription URL (the same public, unauthenticated endpoint client apps use) — for diagnosing a broken subscription link without needing the username. For an admin-side lookup by username, use marzban_users_get instead.

  • marzban_system_get_inboundsList inbounds

    Lists configured inbound proxies grouped by protocol, with tag, network, TLS mode, and port for each. For the raw Xray inbound JSON (routing, stream settings, etc.) use marzban_config_get with section: "inbounds" instead.

  • marzban_system_get_statsGet system stats

    Reports panel-wide stats: CPU/memory usage, user counts by status, and bandwidth totals/speeds, plus the Xray core version and whether it is currently running.

  • marzban_users_activateActivate user

    Sets a user's status to active.

  • marzban_users_createCreate user

    Creates a new user. `dataLimit` accepts a human size ("10GB"), `expire` a relative duration ("30d") or absolute date — both default to unlimited when omitted. `templateId` fills dataLimit/inbounds/expire from a user template; any field also given explicitly overrides the template value.

  • marzban_users_deactivateDeactivate user

    Sets a user's status to disabled, immediately blocking their access without deleting them.

  • marzban_users_deleteDelete user

    Permanently deletes a user, along with their subscription link and traffic history. Irreversible — requires confirmation. Prefer marzban_users_deactivate if you only need to block access without losing their data.

  • marzban_users_extendExtend user subscription

    Renews a user: adds addDuration to their current expiration (or to now, if they have none or it already passed) and/or addData on top of their current data limit. If the user was expired or limited, status is moved back to active. Use this instead of marzban_users_update for renewals — it reads the current expire/limit first so the increment is relative, not an absolute overwrite.

  • marzban_users_getGet user

    Fetches one user by username, with a computed summary: data left, days left, usage percent, and whether they are effectively expired (covers the case where status has not caught up with an already-past expire yet).

Show 6 more tools
  • marzban_users_get_usageGet user traffic usage

    Reports how much data a user has used: total, lifetime total, their current limit, and a breakdown by node. `start`/`end` (ISO datetimes) narrow the per-node breakdown to a period; omit both for all-time.

  • marzban_users_holdPut user on hold

    Sets a user's status to on_hold — inactive until their first connection, at which point the on-hold timer starts. Useful for provisioning an account ahead of time without starting its clock.

  • marzban_users_listList users

    Lists users, optionally filtered by status or a search term (matches username/note). Paginated — default 25, max 100 per call; prefer `search` over paging through everyone. For one known username, use marzban_users_get instead.

  • marzban_users_reset_trafficReset user data usage

    Resets used traffic back to zero for one user, or for every user at once when `all: true`. Does not change data_limit or expire. Irreversible — requires confirmation; `all: true` affects every user on the panel in one call.

  • marzban_users_revoke_subscriptionRevoke subscription link

    Issues a new subscription link for a user and invalidates the old one. Use when a link has leaked or needs rotating — not for routine renewals (use marzban_users_extend for those). Requires confirmation.

  • marzban_users_updateUpdate user

    Partially updates a user — only fields you provide are changed, everything else is left as-is. For status changes prefer marzban_users_activate/deactivate/hold (clearer intent, no need to know the raw status enum). For renewing an expiring/expired user prefer marzban_users_extend.

Signals

Stars
26
Forks
3
Open issues
7
Contributors
3
Last commit
Oct 21, 2026 (10 days ago)
Last release
Oct 21, 2026 (10 days ago)
Last package publish
Oct 21, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.Ilmar7786/marzban-mcp
Version
0.4.0
Auth
API key
Packages
npm marzban-mcpoci docker.io/ilmar7786/marzban-mcp:0.4.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Marzban MCP running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Marzban MCP?

CallGet help
Cite this page

Marzban MCP. Agent Mart. https://agentmart.dev/connectors/ilmar7786-marzban-mcp (last updated 2026-10-24)