Description
MCP server for integration with Keitaro TDS API, providing tools to work with campaigns, streams, offers, and other Keitaro entities.
Installation
Installing the plugin in Cursor
-
Clone the repository
git clone <repository-url>
cd mcp-keitaro-tds
-
Install dependencies
npm install
-
Install the package globally
npm install -g .
-
Install the plugin in Cursor
node install-cursor-plugin.js
-
Restart Cursor
Alternative: Manual configuration in Cursor
You can also manually add the Keitaro MCP server to your Cursor configuration:
-
Open the Cursor MCP configuration file:
# On macOS
open ~/.cursor/mcp.json
# On Windows
notepad %USERPROFILE%.cursormcp.json
# On Linux
nano ~/.cursor/mcp.json
-
Add the following entry to the "mcpServers" object:
"Keitaro": {
"command": "mcp-keitaro-tds",
"args": []
}
-
Save the file and restart Cursor
API Key Configuration
Create an .env
file in the project root with the following parameters:
KEITARO_API_URL=http://your-keitaro-domain.com/admin_api/v1
KEITARO_API_KEY=your-api-key
Usage in Cursor
- Launch Cursor
- Open the command palette (Cmd+P on macOS or Ctrl+P on Windows/Linux)
- Find "Keitaro" and select it
- Now you can use the Keitaro API through Cursor
Campaigns
list_campaigns
- get a list of campaigns
get_campaign
- get information about a specific campaign
create_campaign
- create a new campaign
update_campaign
- update an existing campaign
delete_campaign
- delete a campaign
Traffic Streams
list_streams
- get a list of traffic streams for a campaign
get_stream
- get information about a specific stream
Traffic Sources
list_traffic_sources
- get a list of traffic sources
get_traffic_source
- get information about a specific traffic source
Offers
list_offers
- get a list of offers
get_offer
- get information about a specific offer
Clicks and Conversions
list_clicks
- get a list of clicks
get_click
- get information about a specific click
list_conversions
- get a list of conversions
get_conversion
- get information about a specific conversion
Reports
get_report
- generate a report with specified parameters
Domains
list_domains
- get a list of domains
get_domain
- get information about a specific domain
Usage Examples
Getting a list of campaigns
list_campaigns({
limit: 10,
page: 1,
search: "search query"
})
Creating a new campaign
create_campaign({
name: "New Campaign",
type: "position",
cost_type: "CPC",
cost_value: 1.5,
group_id: 1,
state: "active",
traffic_source_id: 1
})
Getting a report
get_report({
from: "2025-01-01",
to: "2025-01-31",
group: "campaign",
filters: {
campaign_id: 123
}
})
Development
Running in development mode
npm run dev
Testing the MCP server
npm run inspect