Adjust MCP
Used for installation and distribution of the MCP server package
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Adjust MCPshow me install numbers for our February campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Adjust MCP
Simple MCP server that interfaces with the Adjust API, allowing you to talk to your Adjust data from any MCP client like Cursor or Claude Desktop. Query reports, metrics, and performance data. Great for on-demand look ups like: "What's the install numbers for the Feb 1 campaign?"
I am adding more coverage of the Adjust API over time, let me know which tools you need or just open a PR.
Installation
Make sure to get your Adjust API key from your Adjust account settings.
Installing via Smithery
To install mcp-adjust for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @bitscorp/mcp-adjust --client claudeTo install mcp-adjust for Cursor, go to Settings -> Cursor Settings -> Features -> MCP Servers -> + Add
Select Type: command and paste the below, using your API key from Adjust
npx -y @smithery/cli@latest run @bitscorp/mcp-adjust --config "{\"apiKey\":\"YOUR_ADJUST_API_KEY\"}"Clone and run locally
Clone this repo
Run npm run build
Paste this command into Cursor (or whatever MCP Client)
node /ABSOLUTE/PATH/TO/mcp-adjust/build/mcp-adjust.js YOUR_ADJUST_API_KEY
Related MCP server: meta-ads-mcp
Examples
use adjust report revenue for the last 7 days
Available Tools
2 toolsadjust-reportingD
Adjust reporting
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date for the report in YYYY-MM-DD format | 2026-01-03 |
| metrics | No | Comma-separated list of metrics to include | installs,sessions,revenue |
| dimensions | No | Comma-separated values to group by (e.g., day,country,network). Options include: hour, day, week, month, year, quarter, os_name, device_type, app, app_token, store_id, store_type, currency, currency_code, network, campaign, campaign_network, campaign_id_network, adgroup, adgroup_network, adgroup_id_network, creative, country, country_code, region, partner_name, partner_id, channel, platform | |
| format_dates | No | If false, date dimensions are returned in ISO format | |
| date_period | No | Date period (e.g., this_month, yesterday, 2023-01-01:2023-01-31, -10d:-3d) | |
| cohort_maturity | No | Display values for immature or only mature cohorts | |
| utc_offset | No | Timezone used in the report (e.g., +01:00) | |
| attribution_type | No | Type of engagement the attribution awards | click |
| attribution_source | No | Whether in-app activity is assigned to install source or divided | dynamic |
| reattributed | No | Filter for reattributed users | all |
| ad_spend_mode | No | Determines the ad spend source applied in calculations | |
| sort | No | Comma-separated list of metrics/dimensions to sort by (use - for descending) | |
| currency | No | Currency used for conversion of money related metrics | USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. It doesn't indicate whether this is a read or write operation, what permissions might be required, whether it makes API calls, what format the output takes, or any other behavioral characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just two words, this represents under-specification rather than effective brevity. The description fails to convey necessary information and doesn't follow the principle of front-loading critical details about the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex reporting tool with 13 parameters and no output schema, the description is completely inadequate. It provides no context about what kind of reporting system this interfaces with, what data it returns, or how it differs from the sibling tool. The lack of annotations exacerbates this incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so all 13 parameters are well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, which meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Adjust reporting' is a tautology that merely restates the tool name without providing any meaningful information about what the tool actually does. It doesn't specify what resource is being adjusted, what type of reporting is involved, or what action is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool versus the sibling tool 'adjust-standard-report'. There's no indication of the appropriate context, prerequisites, or differences between these reporting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adjust-standard-reportC
Get a standard Adjust report with common metrics
| Name | Required | Description | Default |
|---|---|---|---|
| app_tokens | No | Comma-separated list of app tokens to include | |
| date_range | No | Date range (e.g., 2023-01-01:2023-01-31, yesterday, last_7_days, this_month) | last_7_days |
| report_type | No | Type of standard report to generate | performance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Get' which implies a read operation, but doesn't specify permissions, rate limits, data format, or any side effects. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like authentication needs, error handling, or return format, which are crucial for a reporting tool. The high schema coverage doesn't compensate for these gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional semantic context beyond what's in the schema, such as explaining interactions between parameters or usage examples, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a standard Adjust report with common metrics'), making the purpose understandable. However, it doesn't explicitly differentiate from the sibling tool 'adjust-reporting', which appears to be a similar reporting tool, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'adjust-reporting'. There's no mention of prerequisites, constraints, or specific contexts for usage, leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have overlapping purposes related to Adjust reporting, which creates some ambiguity. 'adjust-reporting' is vague and could encompass standard reports, while 'adjust-standard-report' is more specific but may be a subset of the first tool. Descriptions help differentiate them, but the boundaries are not entirely clear.
Tool names follow a consistent pattern with 'adjust-' prefix and snake_case style, making them predictable and readable. There is a minor deviation in that one tool uses a hyphenated compound word ('reporting') while the other uses an underscore ('standard_report'), but overall the naming is mostly consistent.
With only 2 tools, the server feels too thin for a reporting domain, as it lacks basic operations like filtering, customization, or data export. This minimal set is insufficient for comprehensive reporting workflows, making it borderline inappropriate for the apparent scope.
The tool surface has significant gaps for a reporting server. It lacks essential operations such as creating custom reports, updating report parameters, deleting reports, or accessing detailed analytics beyond standard metrics. This incompleteness will likely cause agent failures in handling varied reporting tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Clamp Analytics MCP server: traffic, revenue, funnels, cohorts, errors, and search, for AI agents.
Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for managing and analyzing Meta Ads (Facebook/Instagram) with over 80 natural-language tools for AI agents like Claude Desktop.
- AlicenseAqualityDmaintenanceMCP server to manage Meta Ads (Facebook/Instagram) campaigns, ad sets, insights, and audiences from Claude Code using natural language.97MIT
- AlicenseAqualityDmaintenanceMCP Server for the Meta Marketing API. Gives Claude Desktop direct access to your ad account data — campaign performance, creative analysis, audience breakdowns, and budget pacing.103981MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Google Ads campaign reporting and management via Claude, enabling GAQL queries, performance metrics, and campaign modifications.11MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bitscorp-mcp/mcp-adjust'
If you have feedback or need assistance with the MCP directory API, please join our Discord server