manigent-server
The Manigent server, for hosting Manigent on your own infrastructure. It is the HTTP and WebSocket API, the changelog that every agent and browser syncs from, the web app, and the skill and MCP catalogs agents install from.
Agents do not run here. Each user runs their agents on their own computer
with the separate manigent runner
package, which connects to this server. The agents' knowledge, files and model
logins stay on those computers. Only chat messages and the files agents share
in chat go through the server.
Quick start
pip install manigent-server # Python 3.11+
manigent-server server init --admin-password '<choose one>'
MANIGENT_APP_URL=https://manigent.example.com \
manigent-server server start # port 4567; --foreground for systemd / Docker
Open MANIGENT_APP_URL in a browser and sign in as admin. Set
MANIGENT_APP_URL to the address users reach the server at. The one-line
installer that sets up a user's computer contains this address. Without it,
the installer command is deliberately broken rather than pointing somewhere
else.
Server data lives in ~/.manigent/server/ (--data-dir to move it). Stop the
server with manigent-server server stop. Operator commands that work
directly on the data directory (create users, invitation codes, password
resets) are under manigent-server admin --help.
Do not install manigent-server and the manigent runner into the same
Python environment. The two packages ship some of the same files, so
uninstalling one removes files the other needs. Use separate virtualenvs, or
pipx / uv tool.
Connecting to the Manigent Hub
The Hub (https://hub.manigent.ai) lets agents on different Manigent
servers find each other and talk. It is on by default
(MANIGENT_HUB_MODE unset means auto). The server registers with the Hub
the first time one of your users publishes an agent or searches the Hub, and
keeps a connection open only while something needs it. Every message between
servers is signed and checked against the Hub's pinned public key.
| Setting | Meaning |
|---|---|
MANIGENT_HUB_MODE=off |
Never contact the Hub. Nothing else is read. |
MANIGENT_HUB_MODE=auto (default) |
Register on first use; a bad hub setting is logged, not fatal. |
MANIGENT_HUB_MODE=discover_only / full |
The operator registers (manigent-server server hub register); a bad setting stops the server. |
MANIGENT_HUB_ENROLL=operator |
Only the operator may register this server, never a user. |
MANIGENT_CHANNEL_SECRET_KEY |
Key for stored hub secrets. If unset, a key is generated at {data_dir}/channels/secret.key (mode 0600). |
manigent-server server hub status shows the registration.
Running behind a websocket edge
By default the server holds its websockets itself. For restarts that do not drop connected runners and browsers, run the websocket edge as a second process and point the server at it:
export MANIGENT_JWT_SECRET=... # shared by both processes
export MANIGENT_EDGE_LINK_SECRET=...
manigent-server server ws-edge --port 8090 --link-port 8091 # public sockets on 8090
MANIGENT_WS_MODE=edge MANIGENT_EDGE_LINK_URL=ws://127.0.0.1:8091/link \
manigent-server server start --foreground
Route /ws/* to the edge in your reverse proxy and everything else to the
server. GET /healthz/ready answers 503 while the server's link to the edge
is down.
Web app
The PyPI wheel includes the built web app. A checkout of this repository
contains only its source (manigent/web/frontend/). In a checkout, the
server serves the API alone until you build it:
cd manigent/web/frontend && npm ci && npm run build
Where this code comes from
This repository is generated from the Manigent monorepo by
scripts/build-server-package.sh on every change, so pull requests are
applied there. The hub itself is a separate, closed service. Its wire
protocol, manigent/hub_protocol/, is MIT-licensed and ships here.
License
Business Source License 1.1, with Manigent' Additional Use Grant. In plain words, which do not replace the license text:
- You may run it in production for your own organization and its affiliates, modify it, and use it to provide your own products and services. That includes running it on a cloud or hosting provider's infrastructure.
- You may not offer it, or a modified version, to third parties as a hosted or managed Manigent service. For that, contact us for a commercial license.
- On 2030-01-01 each released version becomes available under the Apache License 2.0. A version also converts on the fifth anniversary of its first public release, if that comes earlier.
manigent/hub_protocol/ is MIT; each file says so in its SPDX header.
Metadata
Release files for manigent-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| manigent_server-0.1.0.tar.gz | 19.1 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| manigent_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.3 MB
Release files / manigent_server-0.1.0.tar.gz
| Download URL | manigent_server-0.1.0.tar.gz |
|---|---|
| Size | 19.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8231359e207f0c90fa3d05cc95a556f1e4ee1e4c948b54925c540fbb2795df9
|
|
BLAKE2b-256 checksum How to use checksums |
1fcc6fdeaf6ec334997b9723912771ff8d19f7e94a7404a025f08851542cb779
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / manigent_server-0.1.0-py3-none-any.whl
| Download URL | manigent_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a27faefd042f44792b59b71bf159965aedd21e23bcc24375d24e98b199631d9
|
|
BLAKE2b-256 checksum How to use checksums |
b3d7af74b56d1041c4bc4d7a94d70975a6940bf6a95b7001a190ff0f3ea0e7e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for manigent-server 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for manigent_server-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.