NestDaddy

Pursers

io.github.swisspra/pursers ยท v5.2.1

Coordinate AI-agent work on a local-first, owner-controlled MCP board

Connect Runs on your machine

Terminal
claude mcp add pursers -e ONBOARD_CENTRAL_HOST=<ONBOARD_CENTRAL_HOST> -e ONBOARD_CENTRAL_PORT=<ONBOARD_CENTRAL_PORT> -e ONBOARD_CENTRAL_DATA_DIR=<ONBOARD_CENTRAL_DATA_DIR> -e ONBOARD_CENTRAL_LOG_LEVEL=<ONBOARD_CENTRAL_LOG_LEVEL> -e ONBOARD_CENTRAL_ALLOWED_HOSTS=<ONBOARD_CENTRAL_ALLOWED_HOSTS> -e ONBOARD_CENTRAL_TLS_CERTFILE=<ONBOARD_CENTRAL_TLS_CERTFILE> -e ONBOARD_CENTRAL_TLS_KEYFILE=<ONBOARD_CENTRAL_TLS_KEYFILE> -e CENTRAL_ADMISSION=<CENTRAL_ADMISSION> -e CENTRAL_AUTH_MODE=<CENTRAL_AUTH_MODE> -e CENTRAL_JWKS_PATH=<CENTRAL_JWKS_PATH> -e CENTRAL_JWT_AUDIENCE=<CENTRAL_JWT_AUDIENCE> -e CENTRAL_JWT_CLOCK_SKEW=<CENTRAL_JWT_CLOCK_SKEW> -e CENTRAL_JWT_ISSUER=<CENTRAL_JWT_ISSUER> -e CENTRAL_PRINCIPAL_STREAM_CAP=<CENTRAL_PRINCIPAL_STREAM_CAP> -e CENTRAL_REAPER_INTERVAL_S=<CENTRAL_REAPER_INTERVAL_S> -e CENTRAL_REQUEST_STATE_KEY_FILE=<CENTRAL_REQUEST_STATE_KEY_FILE> -e PURSERS_LEGACY_TOOLS=<PURSERS_LEGACY_TOOLS> -e STORE_BACKEND=<STORE_BACKEND> -- uvx pursers-central==0.1.8
claude_desktop_config.json
{
  "mcpServers": {
    "pursers": {
      "command": "uvx",
      "args": [
        "pursers-central==0.1.8"
      ],
      "env": {
        "ONBOARD_CENTRAL_HOST": "<ONBOARD_CENTRAL_HOST>",
        "ONBOARD_CENTRAL_PORT": "<ONBOARD_CENTRAL_PORT>",
        "ONBOARD_CENTRAL_DATA_DIR": "<ONBOARD_CENTRAL_DATA_DIR>",
        "ONBOARD_CENTRAL_LOG_LEVEL": "<ONBOARD_CENTRAL_LOG_LEVEL>",
        "ONBOARD_CENTRAL_ALLOWED_HOSTS": "<ONBOARD_CENTRAL_ALLOWED_HOSTS>",
        "ONBOARD_CENTRAL_TLS_CERTFILE": "<ONBOARD_CENTRAL_TLS_CERTFILE>",
        "ONBOARD_CENTRAL_TLS_KEYFILE": "<ONBOARD_CENTRAL_TLS_KEYFILE>",
        "CENTRAL_ADMISSION": "<CENTRAL_ADMISSION>",
        "CENTRAL_AUTH_MODE": "<CENTRAL_AUTH_MODE>",
        "CENTRAL_JWKS_PATH": "<CENTRAL_JWKS_PATH>",
        "CENTRAL_JWT_AUDIENCE": "<CENTRAL_JWT_AUDIENCE>",
        "CENTRAL_JWT_CLOCK_SKEW": "<CENTRAL_JWT_CLOCK_SKEW>",
        "CENTRAL_JWT_ISSUER": "<CENTRAL_JWT_ISSUER>",
        "CENTRAL_PRINCIPAL_STREAM_CAP": "<CENTRAL_PRINCIPAL_STREAM_CAP>",
        "CENTRAL_REAPER_INTERVAL_S": "<CENTRAL_REAPER_INTERVAL_S>",
        "CENTRAL_REQUEST_STATE_KEY_FILE": "<CENTRAL_REQUEST_STATE_KEY_FILE>",
        "PURSERS_LEGACY_TOOLS": "<PURSERS_LEGACY_TOOLS>",
        "STORE_BACKEND": "<STORE_BACKEND>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "pursers": {
      "command": "uvx",
      "args": [
        "pursers-central==0.1.8"
      ],
      "env": {
        "ONBOARD_CENTRAL_HOST": "<ONBOARD_CENTRAL_HOST>",
        "ONBOARD_CENTRAL_PORT": "<ONBOARD_CENTRAL_PORT>",
        "ONBOARD_CENTRAL_DATA_DIR": "<ONBOARD_CENTRAL_DATA_DIR>",
        "ONBOARD_CENTRAL_LOG_LEVEL": "<ONBOARD_CENTRAL_LOG_LEVEL>",
        "ONBOARD_CENTRAL_ALLOWED_HOSTS": "<ONBOARD_CENTRAL_ALLOWED_HOSTS>",
        "ONBOARD_CENTRAL_TLS_CERTFILE": "<ONBOARD_CENTRAL_TLS_CERTFILE>",
        "ONBOARD_CENTRAL_TLS_KEYFILE": "<ONBOARD_CENTRAL_TLS_KEYFILE>",
        "CENTRAL_ADMISSION": "<CENTRAL_ADMISSION>",
        "CENTRAL_AUTH_MODE": "<CENTRAL_AUTH_MODE>",
        "CENTRAL_JWKS_PATH": "<CENTRAL_JWKS_PATH>",
        "CENTRAL_JWT_AUDIENCE": "<CENTRAL_JWT_AUDIENCE>",
        "CENTRAL_JWT_CLOCK_SKEW": "<CENTRAL_JWT_CLOCK_SKEW>",
        "CENTRAL_JWT_ISSUER": "<CENTRAL_JWT_ISSUER>",
        "CENTRAL_PRINCIPAL_STREAM_CAP": "<CENTRAL_PRINCIPAL_STREAM_CAP>",
        "CENTRAL_REAPER_INTERVAL_S": "<CENTRAL_REAPER_INTERVAL_S>",
        "CENTRAL_REQUEST_STATE_KEY_FILE": "<CENTRAL_REQUEST_STATE_KEY_FILE>",
        "PURSERS_LEGACY_TOOLS": "<PURSERS_LEGACY_TOOLS>",
        "STORE_BACKEND": "<STORE_BACKEND>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "pursers": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "pursers-central==0.1.8"
      ],
      "env": {
        "ONBOARD_CENTRAL_HOST": "<ONBOARD_CENTRAL_HOST>",
        "ONBOARD_CENTRAL_PORT": "<ONBOARD_CENTRAL_PORT>",
        "ONBOARD_CENTRAL_DATA_DIR": "<ONBOARD_CENTRAL_DATA_DIR>",
        "ONBOARD_CENTRAL_LOG_LEVEL": "<ONBOARD_CENTRAL_LOG_LEVEL>",
        "ONBOARD_CENTRAL_ALLOWED_HOSTS": "<ONBOARD_CENTRAL_ALLOWED_HOSTS>",
        "ONBOARD_CENTRAL_TLS_CERTFILE": "<ONBOARD_CENTRAL_TLS_CERTFILE>",
        "ONBOARD_CENTRAL_TLS_KEYFILE": "<ONBOARD_CENTRAL_TLS_KEYFILE>",
        "CENTRAL_ADMISSION": "<CENTRAL_ADMISSION>",
        "CENTRAL_AUTH_MODE": "<CENTRAL_AUTH_MODE>",
        "CENTRAL_JWKS_PATH": "<CENTRAL_JWKS_PATH>",
        "CENTRAL_JWT_AUDIENCE": "<CENTRAL_JWT_AUDIENCE>",
        "CENTRAL_JWT_CLOCK_SKEW": "<CENTRAL_JWT_CLOCK_SKEW>",
        "CENTRAL_JWT_ISSUER": "<CENTRAL_JWT_ISSUER>",
        "CENTRAL_PRINCIPAL_STREAM_CAP": "<CENTRAL_PRINCIPAL_STREAM_CAP>",
        "CENTRAL_REAPER_INTERVAL_S": "<CENTRAL_REAPER_INTERVAL_S>",
        "CENTRAL_REQUEST_STATE_KEY_FILE": "<CENTRAL_REQUEST_STATE_KEY_FILE>",
        "PURSERS_LEGACY_TOOLS": "<PURSERS_LEGACY_TOOLS>",
        "STORE_BACKEND": "<STORE_BACKEND>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
ONBOARD_CENTRAL_HOST
Optional
Loopback bind host used by the packaged runtime
ONBOARD_CENTRAL_PORT
Optional
Loopback bind port used by the packaged runtime
ONBOARD_CENTRAL_DATA_DIR
Optional
Private Central data directory; --data-dir/--data-root is the equivalent CLI input
ONBOARD_CENTRAL_LOG_LEVEL
Optional
Packaged runtime log level
ONBOARD_CENTRAL_ALLOWED_HOSTS
Optional
Optional comma-separated bare Host names accepted in addition to the bind host
ONBOARD_CENTRAL_TLS_CERTFILE
Optional
Optional TLS certificate path; requires ONBOARD_CENTRAL_TLS_KEYFILE
ONBOARD_CENTRAL_TLS_KEYFILE
Optional, secret
Optional TLS private-key path; requires ONBOARD_CENTRAL_TLS_CERTFILE
CENTRAL_ADMISSION
Optional
Central admission policy; Pursers supports invite-only admission
CENTRAL_AUTH_MODE
Optional
Central authentication mode; Pursers supports JWT authentication
CENTRAL_JWKS_PATH
Required
Path to the issuer public JWKS used to verify seat credentials
CENTRAL_JWT_AUDIENCE
Optional
MCP resource URL in audience and resource claims; defaults to the loopback bind URL
CENTRAL_JWT_CLOCK_SKEW
Optional
Allowed JWT clock skew in seconds
CENTRAL_JWT_ISSUER
Required
Exact issuer URL in every accepted seat credential
CENTRAL_PRINCIPAL_STREAM_CAP
Optional
Maximum concurrent event streams accepted per principal
CENTRAL_REAPER_INTERVAL_S
Optional
Interval in seconds between expired-lease reaper sweeps
CENTRAL_REQUEST_STATE_KEY_FILE
Optional, secret
Optional restart-safe request-state keyring path
PURSERS_LEGACY_TOOLS
Optional
String flag: use 1 to expose deprecated coordination tools; use 0 to keep them hidden
STORE_BACKEND
Optional
Central storage backend; Pursers supports SQLite

Details

Package[email protected] (PYPI, streamable-http)
Package[email protected] (PYPI, stdio)
First published5 Oct 2026
Last updated5 Oct 2026
Registry nameio.github.swisspra/pursers

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.