Skip to main content

CLI and MCP client for hosted dataz.md Discord and Telegram accounts

Project description

dataz-client

dataz-client is the read-only CLI and local MCP stdio bridge for hosted dataz.md Discord and Telegram accounts.

Install and connect

Install the isolated command-line package:

pipx install dataz-client
# alternative: uv tool install dataz-client

In the dataz.md portal, open an active account and choose Connect CLI/MCP, or copy its HTTPS endpoint. Then add a protected local profile:

dataz account add work-discord \
  --url https://YOUR_ACCOUNT_ENDPOINT

The command infers the provider, securely prompts for the one-time-visible DATAZ_API_KEY, calls the provider's status operation, and saves only after verification succeeds. For a noncanonical endpoint, add --provider discord or --provider telegram.

Verify and use the account:

dataz --profile work-discord status
dataz account test work-discord
dataz --profile work-discord doctor --json

Install into an MCP client

One command creates a user-level entry. The MCP client receives the absolute dataz-mcp path and profile name, never the endpoint or API key:

dataz mcp install codex --profile work-discord

Supported clients:

dataz mcp install claude-code --profile work-discord
dataz mcp install claude-desktop --profile work-discord
dataz mcp install cursor --profile work-discord
dataz mcp install vscode --profile work-discord

The default server name is dataz-PROFILE. Use --name NAME to choose another name. Repeating an identical installation is a no-op; a conflicting existing entry requires --replace. Codex uses ~/.codex/config.toml, Claude Code uses user scope in ~/.claude.json, Cursor uses ~/.cursor/mcp.json, and the desktop installers always target user-level configuration.

Multiple accounts

Create one profile per account. Two Telegram and two Discord accounts become four isolated profiles and four independently named MCP servers:

dataz account add telegram-personal --url https://.../telegram
dataz account add telegram-team --url https://.../telegram-2
dataz account add discord-primary --url https://.../discord
dataz account add discord-community --url https://.../discord-2

dataz mcp install codex --profile telegram-personal
dataz mcp install codex --profile telegram-team
dataz mcp install codex --profile discord-primary
dataz mcp install codex --profile discord-community

Each MCP process resolves exactly one profile and exposes only that provider's tools. Keys and endpoints cannot cross between accounts.

Profile security

Profiles are stored in a platform-native profiles.json:

  • macOS: ~/Library/Application Support/Dataz/profiles.json
  • Linux: ${XDG_CONFIG_HOME:-~/.config}/dataz/profiles.json
  • Windows: %APPDATA%\Dataz\profiles.json

The client writes atomically. POSIX files must be owned by the current user and have mode 0600; insecure files are refused. On Windows, inherited access is removed and the ACL is restricted to the current user. The profile store is plaintext protected by filesystem permissions, not an OS keychain.

If permissions were changed outside the CLI, repair them before retrying:

chmod 600 "/path/to/profiles.json"
icacls "%APPDATA%\Dataz\profiles.json" /inheritance:r /grant:r "%USERNAME%:(F)"

Never commit this file, paste a key into a command argument, or place a plaintext key in shell history, logs, screenshots, issues, or MCP client configuration. Rotate exposed keys under Portal → API keys.

Servers, containers, and CI

Environment configuration remains supported where a profile file is not appropriate:

DATAZ_API_URL=https://YOUR_ACCOUNT_ENDPOINT
DATAZ_API_KEY=dz_live_...

DATAZ_PROVIDER is optional for canonical endpoints ending in discord, discord-N, telegram, or telegram-N; otherwise set it explicitly. Do not mix DATAZ_PROFILE or --profile with direct hosted variables.

Safe diagnostics:

dataz doctor --json
dataz-mcp --check --json

Exit 0 means healthy, 1 means a network/auth/remote failure, and 2 means local configuration is invalid. Reports use stable codes and never include the key or remote account payload.

Local contributor compatibility

When no profile or hosted variables are present, the commands preserve the legacy contributor defaults:

  • DATAZ_DISCORD_URL defaults to http://localhost:8000.
  • DATAZ_TELEGRAM_URL defaults to http://localhost:8001.
  • provider-specific legacy keys remain supported.

Local mode prints a warning so a hosted user can immediately recognize missing configuration.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataz_client-0.2.0.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataz_client-0.2.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file dataz_client-0.2.0.tar.gz.

File metadata

  • Download URL: dataz_client-0.2.0.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for dataz_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 61968b79e145ce21c0c0b0819de8c0d58c01642a928f5a871ca40a6accfaf558
MD5 8b8969c7c60afea3dc5e5145a338eb28
BLAKE2b-256 569aa004b7e946edb2813e861b2619ee5aea842dc922ed6d14e6db69d3e3cedf

See more details on using hashes here.

Provenance

The following attestation bundles were made for dataz_client-0.2.0.tar.gz:

Publisher: publish-client.yml on jsindy/dataz.md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dataz_client-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dataz_client-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for dataz_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a04d276b24bf4c1e0ed5bed33182adfcb054aff85a9ebccd205ee95361763da
MD5 a4bafbd4b30d0a33c433cd5759df245a
BLAKE2b-256 9ffe58b6fe17c4b028bde146f64dd38a9e3c575db20052c967ec6bba4b70e3bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for dataz_client-0.2.0-py3-none-any.whl:

Publisher: publish-client.yml on jsindy/dataz.md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page