Repository navigation
Configuration
All configuration is environment variables, read once in
src/reportmate_mcp/config.py when the first tool call constructs the API
client. There is no config file and no command-line flags.
| Variable | Required | Default | What it does |
|---|---|---|---|
REPORTMATE_API_URL |
yes | none | Base URL of your ReportMate API. A trailing slash is stripped. |
REPORTMATE_API_KEY |
one of the two | none | Scoped API key. Sent as the X-API-Key header. |
REPORTMATE_PASSPHRASE |
one of the two | none | Shared client passphrase. Sent as the X-Client-Passphrase header. |
REPORTMATE_API_URL must be set or startup of the client raises
REPORTMATE_API_URL not set. At least one of REPORTMATE_API_KEY or
REPORTMATE_PASSPHRASE must be set or it raises no credential.
If both are set, the API key wins — Config.auth_header() returns
X-API-Key and the passphrase is never sent. The passphrase is a fallback for
deployments that have not issued keys yet.
Prefer a key: it is revocable and scope-limited, and this server only ever
issues GET requests, so a read-scoped key is sufficient. A passphrase is
shared fleet-wide and cannot be scoped down.
For a shell session:
export REPORTMATE_API_URL=https://reportmate.example.com
export REPORTMATE_API_KEY=rm_yourclient_yoursecret
MCP clients normally launch the server themselves, so the variables go in the client's server definition rather than your shell. See Client Setup.
These are hard-coded in client.py and would need a code change:
| Setting | Value |
|---|---|
| HTTP timeout | 30 seconds |
Accept header |
application/json |
User-Agent |
reportmate-mcp/<version> |
| Transport | stdio (mcp.run() with no arguments) |
The version stamp is a calendar version, YYYY.MM.DD.HHMM in UTC, defined as a
string literal in src/reportmate_mcp/__init__.py. Read it from there, not from
importlib.metadata — packaging normalizes away the zero padding.
AGPL-3.0-or-later — a commercial license is also available. reportmate.app