Affise MCP server › Other clients

Connect Affise to any MCP client

The Affise MCP server implements the open Model Context Protocol, so anything that speaks MCP can use it. This page covers the generic remote config, static bearer tokens for automation, and the local stdio install.

https://mcp.affise.com/mcp
Auth: OAuth 2.0, static bearer token, or local stdio Tools you get: 25, all read-only Time: about 2 minutes

Before you start

What you need

Any MCP-capable client. For the local server, Node.js 18 or newer.

Setup

1

Generic remote config

Most clients accept a JSON block like this:
{
  "mcpServers": {
    "affise": {
      "type": "http",
      "url": "https://mcp.affise.com/mcp"
    }
  }
}
Clients that support OAuth will prompt you to sign in on first use.
2

Static bearer token (CI and scripts)

If your client cannot do an OAuth browser flow, use a bearer token:
{
  "mcpServers": {
    "affise": {
      "type": "http",
      "url": "https://mcp.affise.com/mcp",
      "headers": {
        "Authorization": "Bearer <your-token>"
      }
    }
  }
}
Static tokens are a self-hosted feature — set REMOTE_MCP_TOKEN on your own deployment. The hosted endpoint is OAuth-only.
3

Local stdio install

To run the server on your own machine, with data flowing only between your host and the Affise API:
npm install -g @affise/mcp-server

export AFFISE_API_KEY="your-api-key"
export AFFISE_BASE_URL="https://api.affise.com"

affise-mcp-server
Then point your client at the affise-mcp-server command with "type": "stdio".
4

Verify from the command line

A correctly configured endpoint answers an unauthenticated request with 401 and an OAuth discovery document at /.well-known/oauth-protected-resource.

Check it worked

Ask your client for your offer categories. A healthy connection returns the list configured on your Affise account.

If something goes wrong

Your client only supports stdio+
Use the local install above, or bridge with mcp-remote.
You get 401 on every call+
Either the bearer token is wrong, or the client is not sending the Authorization header. Check the header name and the Bearer prefix.
You hit rate limits+
The hosted endpoint allows 120 requests per minute per IP address, so everyone behind one office IP shares that budget. A 429 response carries a ratelimit-reset header with the seconds left in the current window.

Try these first

Once you are connected, these are good first questions. See more examples or the full tool reference.

  • Which offers grew fastest in DE last week compared to the week before?
  • Analyze partner 193 for August — where are they losing money?
  • Find finance offers accepting UK mobile traffic with a payout over $40.

Using a different assistant?