Run Affset from your chat client. MCP server for the Affset ad platform — manage stats, campaigns, zones, payouts, targeting, and conversions over the tenant API. Thin, stdio-based, one tenant per instance.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add affset --env AFFSET_BASE_URL='<AFFSET_BASE_URL>' --env AFFSET_API_KEY='<AFFSET_API_KEY>' --env AFFSET_NAMESPACE='<AFFSET_NAMESPACE>' -- npx -y @affset/mcp~/.codex/config.toml
[mcp_servers.affset]
command = "npx"
args = ["-y", "@affset/mcp"]
env = { AFFSET_BASE_URL = "<AFFSET_BASE_URL>", AFFSET_API_KEY = "<AFFSET_API_KEY>", AFFSET_NAMESPACE = "<AFFSET_NAMESPACE>" }
# codex mcp add affset --env AFFSET_BASE_URL='<AFFSET_BASE_URL>' --env AFFSET_API_KEY='<AFFSET_API_KEY>' --env AFFSET_NAMESPACE='<AFFSET_NAMESPACE>' -- npx -y @affset/mcp~/.cursor/mcp.json
{
"mcpServers": {
"affset": {
"command": "npx",
"args": [
"-y",
"@affset/mcp"
],
"env": {
"AFFSET_BASE_URL": "<AFFSET_BASE_URL>",
"AFFSET_API_KEY": "<AFFSET_API_KEY>",
"AFFSET_NAMESPACE": "<AFFSET_NAMESPACE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"affset": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@affset/mcp"
],
"env": {
"AFFSET_BASE_URL": "<AFFSET_BASE_URL>",
"AFFSET_API_KEY": "<AFFSET_API_KEY>",
"AFFSET_NAMESPACE": "<AFFSET_NAMESPACE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"affset": {
"command": "npx",
"args": [
"-y",
"@affset/mcp"
],
"env": {
"AFFSET_BASE_URL": "<AFFSET_BASE_URL>",
"AFFSET_API_KEY": "<AFFSET_API_KEY>",
"AFFSET_NAMESPACE": "<AFFSET_NAMESPACE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"affset": {
"command": "npx",
"args": [
"-y",
"@affset/mcp"
],
"env": {
"AFFSET_BASE_URL": "<AFFSET_BASE_URL>",
"AFFSET_API_KEY": "<AFFSET_API_KEY>",
"AFFSET_NAMESPACE": "<AFFSET_NAMESPACE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"affset": {
"command": "npx",
"args": [
"-y",
"@affset/mcp"
],
"env": {
"AFFSET_BASE_URL": "<AFFSET_BASE_URL>",
"AFFSET_API_KEY": "<AFFSET_API_KEY>",
"AFFSET_NAMESPACE": "<AFFSET_NAMESPACE>"
}
}
}
}Remote
claude mcp add --transport http affset https://mcp.affset.com/mcp~/.codex/config.toml
[mcp_servers.affset]
url = "https://mcp.affset.com/mcp"
# codex mcp add affset --url https://mcp.affset.com/mcp~/.cursor/mcp.json
{
"mcpServers": {
"affset": {
"url": "https://mcp.affset.com/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"affset": {
"type": "http",
"url": "https://mcp.affset.com/mcp"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"affset": {
"httpUrl": "https://mcp.affset.com/mcp"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"affset": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.affset.com/mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"affset": {
"url": "https://mcp.affset.com/mcp"
}
}
}Environment variables
AFFSET_BASE_URLAFFSET_API_KEYAFFSET_NAMESPACE
Replace the placeholders with your own credentials and keep them out of version control.