dataz.md

MCP server

Connect agents to your hosted Discord and Telegram accounts.

Store each hosted account once in a protected Dataz profile, then install its read-only tools into your MCP client without copying credentials.

Three commands from account to agent

Each hosted account becomes one protected profile and one separately named MCP server.

Hosted endpoint

Open the portal and copy the HTTPS endpoint shown for the Discord or Telegram account you want to connect.

Portal API key

Under Portal → API keys, create a dz_live_… key and copy it when shown. Rotate it if it is lost or exposed.

Protected Dataz profile

The CLI stores the key once with current-user-only filesystem permissions. MCP client configuration contains no key.

dataz.md MCP connection flow The CLI stores your API key in a protected profile, and the MCP client launches the dataz.md server, which reads through the hosted account. MCP client Claude, Cursor dataz.md server read-only tools Dataz profile stored key Hosted account JSON response
The CLI stores your API key in a protected profile, and the MCP client launches the dataz.md server, which reads through the hosted account.

1. Install and add an account

Install from PyPI, then paste the API key only into the masked prompt.

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

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

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

What the command does

  • Infers Discord or Telegram from the canonical endpoint.
  • Securely prompts for the one-time-visible DATAZ_API_KEY.
  • Verifies the provider status before saving.
  • Writes the platform-native profile store atomically.
  • Use --provider only for an unusual endpoint and --save-unverified only when an endpoint is temporarily unavailable.

2. Install into your MCP client

The installer uses the client's supported user-level mechanism. It passes only the absolute executable path and profile name.

dataz mcp install codex --profile work-discord
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

Configuration locations

  • Codex writes user MCP settings to ~/.codex/config.toml.
  • Claude Code user scope is stored in ~/.claude.json.
  • Claude Desktop uses its user application-support configuration.
  • Cursor uses ~/.cursor/mcp.json.
  • VS Code uses the user-profile mcp.json through code --add-mcp.
  • Identical installs are no-ops; conflicts require --replace.

3. Verify what the client launches

Every generated entry has the same secret-free shape, with a distinct profile and server name.

Secret-free entry

{
  "mcpServers": {
    "dataz-work-discord": {
      "command": "/absolute/path/to/dataz-mcp",
      "args": ["--profile", "work-discord"]
    }
  }
}

Health check

Run dataz-mcp --profile work-discord --check or call the provider's status tool in the client. Only the selected provider's tools are exposed.

Automation diagnostics

dataz doctor --json and dataz-mcp --check --json use stable codes such as key_rejected, insufficient_scope, and network_failure without printing the key or remote payload.

Multiple accounts

Two Telegram and two Discord accounts use four profiles, such as telegram-personal, telegram-team, discord-primary, and discord-community. Install each profile under its independently namespaced dataz-PROFILE server name.

Protect the profile store

  • macOS: ~/Library/Application Support/Dataz/profiles.json.
  • Linux: ${XDG_CONFIG_HOME:-~/.config}/dataz/profiles.json.
  • Windows: %APPDATA%\Dataz\profiles.json.
  • POSIX requires mode 0600; Windows inheritance is removed and access is restricted to the current user.
  • Repair Windows access with icacls "%APPDATA%\Dataz\profiles.json" /inheritance:r /grant:r "%USERNAME%:(F)".
  • Never put the key in an argument, shell history, repository, MCP configuration, issue, or support message.

Environment mode for servers and CI

Noninteractive runtimes can set DATAZ_API_URL and DATAZ_API_KEY directly. DATAZ_PROVIDER is optional when the endpoint ends in a canonical discord, discord-N, telegram, or telegram-N slug.

No ambiguous accounts

Do not mix DATAZ_PROFILE or --profile with direct hosted variables. The client fails before making a request so it cannot call the wrong account.

Connect each hosted account with a private, named entry.

Use the portal's Connect CLI/MCP action, paste the key at the masked prompt, and install the saved profile into your client.

Last updated