Traackr API MCP Server
An MCP server for the Traackr API v1, built with FastMCP directly from the API's OpenAPI spec. Point any MCP client (Claude Code, Claude Desktop, Codex, …) at it and it runs on your machine with your own API key.
It is published to PyPI as
traackr-api-mcp, so installing is a single uvx command — no clone, no build,
no repository access.
Tools
Tool names, summaries, and descriptions are derived entirely from the OpenAPI spec
(each operation's operationId / summary / description) — nothing is hardcoded,
so new endpoints appear automatically as the spec evolves.
The table below reflects the spec at the time of writing — treat the live spec as the source of truth, since the server generates its tools from it at startup.
| Tool | Method / Path | Description |
|---|---|---|
listCampaigns |
GET /v1/campaigns |
List campaigns |
getCampaign |
GET /v1/campaigns/{campaignId} |
Get a campaign |
listCampaignCreators |
GET /v1/campaigns/{campaignId}/creators |
List creators on a campaign |
listCampaignPosts |
GET /v1/campaigns/{campaignId}/posts |
List posts on a campaign |
getCampaignSpend |
GET /v1/campaigns/{campaignId}/spend |
Get campaign spend totals |
listCampaignCreatorsSpend |
GET /v1/campaigns/{campaignId}/creators/spend |
List per-creator spend on a campaign |
getCreatorSpend |
GET /v1/campaigns/{campaignId}/creators/{creatorId}/spend |
Get a creator's spend on a campaign |
listCampaignCreatorDeliverables |
GET /v1/campaigns/{campaignId}/creators/{creatorId}/deliverables |
List a creator's deliverable line items on a campaign |
listCampaignCreatorProducts |
GET /v1/campaigns/{campaignId}/creators/{creatorId}/products |
List products sent to a creator |
getCreator |
GET /v1/creators/{creatorId} |
Get a creator |
getCreatorSegments |
GET /v1/creators/{creatorId}/segments |
Get a creator's segments |
Prerequisites
uv(providesuvx). Install with:curl -LsSf https://astral.sh/uv/install.sh | sh
- A Traackr API key (provisioned by Traackr; sent as the
X-Api-Keyheader).
uvx fetches and runs the published package in one step — there is nothing else
to install.
Quick start
Pick your client. In every case, replace your-api-key-here with your key.
Claude Code
claude mcp add traackr \
--env TRAACKR_API_KEY=your-api-key-here \
-- uvx traackr-api-mcp
Claude Desktop
Edit the config file (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json,
Windows: %APPDATA%\Claude\claude_desktop_config.json) and add:
{
"mcpServers": {
"traackr": {
"command": "uvx",
"args": ["traackr-api-mcp"],
"env": { "TRAACKR_API_KEY": "your-api-key-here" }
}
}
}
Restart Claude Desktop afterward.
Codex
Add to ~/.codex/config.toml:
[mcp_servers.traackr]
command = "uvx"
args = ["traackr-api-mcp"]
env = { TRAACKR_API_KEY = "your-api-key-here" }
Any other MCP client
Use the same command and args:
command: uvx
args: traackr-api-mcp
env: TRAACKR_API_KEY=your-api-key-here
Versioning
uvx traackr-api-mcp runs the latest published release. To pin a specific
version, append @<version>:
claude mcp add traackr \
--env TRAACKR_API_KEY=your-api-key-here \
-- uvx traackr-api-mcp@1.2.0
uvx caches builds, so if a new version has been published and you want it
immediately, force a refresh:
uvx --refresh traackr-api-mcp
A full client restart after refreshing ensures the MCP server process is relaunched against the new build.
Configuration
All configuration is via environment variables (set them in your client's env block):
| Variable | Required | Default | Purpose |
|---|---|---|---|
TRAACKR_API_KEY |
yes | — | API key, sent as the X-Api-Key header |
TRAACKR_API_BASE_URL |
no | first servers entry in the spec |
Override the API base URL (e.g. a pilot host) |
TRAACKR_OPENAPI_URL |
no | https://api.traackr.ai/api/openapi/v1 |
Load the OpenAPI spec from this URL (e.g. a staging spec) |
Staying in sync with the API
By default the server fetches the live OpenAPI spec from
https://api.traackr.ai/api/openapi/v1 at startup and builds its tools from it — so
new endpoints, fields, and description changes show up automatically with no package
update. The package also ships a bundled copy (src/traackr_mcp/traackrapi.json) that
is used only as an offline fallback if the live URL can't be reached.
If Traackr provides you with an alternate spec URL, point the server at it with
TRAACKR_OPENAPI_URL.
Authentication
The Traackr API authenticates with an X-Api-Key header. OAuth is planned for a
future release; when it lands, the static header on the httpx client in
src/traackr_mcp/server.py can be swapped for an auth
flow without changing the tool surface.
Troubleshooting
ERROR: TRAACKR_API_KEY is not set— the server exits at startup rather than running and failing every call. Add the key to your client'senvblock (see Quick start) and restart the client.403 {"message":"Forbidden"}(AWSForbiddenException) — the request is fine, but the gateway is rejecting the key. Check the key is activated for the target environment. Reproduce outside MCP with:curl -i -H "X-Api-Key: $TRAACKR_API_KEY" "https://api.traackr.ai/api/v1/campaigns?limit=3"
Output validation error— handled: the server runs with output-schema validation disabled, since the API returnsnullfor optional fields the OpenAPI 3.0.1 spec marks non-nullable.
Metadata
Release files for traackr-api-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| traackr_api_mcp-0.3.0.tar.gz | 24.6 kB | Without provenance | Details for traackr_api_mcp-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| traackr_api_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for traackr_api_mcp-0.3.0-py3-none-any.whl |
Total release size: 48.9 kB
Release files / traackr_api_mcp-0.3.0.tar.gz
| Download URL | traackr_api_mcp-0.3.0.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d36c4e274b613fe8486ca23e03058b8702f203757924670a6c419fe9356758a
|
|
BLAKE2b-256 checksum How to use checksums |
9d348e228778a69ec3535fd47117f2080ee0c2e438152da615beeaf8a636db67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / traackr_api_mcp-0.3.0-py3-none-any.whl
| Download URL | traackr_api_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 24.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e9e7182aa1899f4ed3fcd3ec719a5eda50a51fc05735761231db2779fe62b4c
|
|
BLAKE2b-256 checksum How to use checksums |
999e1b0f615574e8ee0db61d0facd1618cd84839d8e9459e3a1d44ffddbca7f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for traackr-api-mcp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.