Metadata-Version: 2.4
Name: dataz-client
Version: 0.1.1
Summary: CLI and MCP client for hosted dataz.md Discord and Telegram accounts
Author: Dataz LLC
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://dataz.md
Project-URL: Documentation, https://dataz.md/mcp
Project-URL: Portal, https://dataz.md/portal
Project-URL: Repository, https://github.com/jsindy/dataz.md
Project-URL: Issues, https://github.com/jsindy/dataz.md/issues
Keywords: dataz,discord,telegram,mcp,cli
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Chat
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.25.0
Requires-Dist: mcp<2,>=1.27
Dynamic: license-file

# dataz-client

`dataz-client` provides a read-only command-line client and local MCP stdio
server for hosted dataz.md Discord and Telegram account endpoints.

## Hosted account setup

You need two values for each hosted account:

- `DATAZ_API_URL`: the account endpoint shown in the dataz.md portal.
- `DATAZ_API_KEY`: the `dz_live_...` key created under **Portal → API keys**.

The provider is inferred from canonical account endpoints ending in `discord`,
`discord-N`, `telegram`, or `telegram-N`. `DATAZ_PROVIDER` remains available as
an explicit override for unusual endpoints and must agree when inference is
possible.

The API key is displayed once. Keep it in your MCP client's private,
user-level configuration and rotate it from the portal if it is lost or
exposed. Do not commit a key to a project configuration file.

Install the commands with either:

```sh
pipx install dataz-client
```

```sh
uv tool install dataz-client
```

Verify one account from a shell without putting the key in shell history:

```sh
read -rsp "dataz.md API key: " DATAZ_API_KEY && export DATAZ_API_KEY
export DATAZ_API_URL="https://YOUR_HOSTED_ACCOUNT_ENDPOINT"
dataz status
dataz doctor
```

For automation, use `dataz doctor --json`. It reports stable error codes without
including the key or remote account payload. `dataz-mcp --check` performs the
same safe check before an MCP client starts the server.

## Multiple accounts

Configure one separately named MCP server entry per account. For example, two
Telegram accounts and two Discord accounts should be named distinctly:

```text
dataz-telegram-personal
dataz-telegram-team
dataz-discord-primary
dataz-discord-community
```

Each entry runs `dataz-mcp` with that account's endpoint and key. The
MCP client namespaces tools by entry, while the server exposes only the tools
for the configured provider. A workspace-wide API key can be reused when its
scope covers every account; otherwise use the matching scoped key per entry.

Exact configuration examples for Codex, Claude Code, Claude Desktop, Cursor,
and VS Code are at https://dataz.md/mcp.

## Local contributor compatibility

When `DATAZ_API_URL` is absent, the commands retain their
legacy contributor defaults:

- `DATAZ_DISCORD_URL` defaults to `http://localhost:8000`.
- `DATAZ_TELEGRAM_URL` defaults to `http://localhost:8001`.
- `DATAZ_DISCORD_API_KEY` and `DATAZ_TELEGRAM_API_KEY` may override the shared
  key for their service.

Local mode is intended for contributors running the repository services and
prints a warning so hosted users can recognize missing configuration.

## Security and support

The client performs read-only requests and sends the configured key as
`X-API-Key`. Hosted profile URLs must use HTTPS. Setup errors never include the
key value.

- Documentation: https://dataz.md/mcp
- Portal: https://dataz.md/portal
- Terms: https://dataz.md/terms
- Security: https://dataz.md/security
