What you need
- An AI client or agent that supports remote MCP servers over HTTP and OAuth.
- HireOtto access that includes the LinkedIn Ads server.
- A LinkedIn member account with access to the ad accounts you want to use.
- For ad creation, sufficient ad-account permissions and access to the associated LinkedIn Page.
1. Add the LinkedIn Ads server
Use this endpoint:Common client paths
- Claude: open Customize → Connectors → Add custom connector.
- ChatGPT: open Plugins, then create a plugin with the endpoint.
- Make AI Agents: open the agent module, select Add MCP, and create a connection with the endpoint.
- Cursor, VS Code, or another client: open MCP or tools settings and add a remote HTTP server with OAuth.
2. Authorize LinkedIn Ads
Connecting the MCP server and connecting LinkedIn Campaign Manager are two separate steps. After the HireOtto connection is active, start a new conversation and ask:Connect my LinkedIn Ads account.
3. Verify the account, role, and write access
Start with a small read request:List the LinkedIn Ads accounts I can access. Include each account ID, my role, and whether the connection is read-only or write-capable.
4. Run your first account read
Before asking for recommendations or changes, map the account hierarchy:For LinkedIn Ads account [account ID], list the campaign groups, ad sets, and creatives. Include IDs and statuses. Read only.
5. Try a useful read-only workflow
Choose one of these prompts:Report ad-set performance for [account ID] over the last 30 complete days. Include impressions, clicks, landing-page clicks, spend, conversions, and engagement. Summarize the main findings and return CSV. Read only.
Compare creatives in [ad set] over the last 30 complete days. Separate delivery problems from weak response and propose a test queue. Do not pause or edit anything.
Break down eligible performance by job seniority, then by industry. Use compatible metrics, explain suppressed or delayed data, and do not infer individual identities.
Resolve valid LinkedIn targeting entities for [geography], [companies or industries], [functions], and [seniorities]. Estimate audience size. Do not create or update a campaign.
6. Prepare changes as drafts
After the read-only checks succeed, keep campaign creation behind an explicit approval boundary:Validate a draft LinkedIn campaign for [offer]. Use the approved objective, budget, dates, targeting, landing page, image, copy, call to action, and alt text below. Create nothing active. Return every created ID and a review checklist.
Safety checklist
- Confirm the ad account name and ID before every account-specific action.
- Review the connected role and write capability.
- Resolve LinkedIn targeting entities instead of inventing IDs.
- Check audience size, inclusions, and exclusions before creation.
- Create new campaign objects as drafts.
- Review budget, dates, destination, copy, image crop, alt text, tracking, and Page identity.
- Preview the final ad in Campaign Manager.
- Keep activation as a separate, explicit decision.
Common setup problems
The server is connected, but no LinkedIn Ads tools appear
The server is connected, but no LinkedIn Ads tools appear
- Confirm that the endpoint ends with /mcp.
- Complete the client-level OAuth prompt, then rescan or refresh the server tools.
- Enable the connector or app in the current chat or agent.
- Reconnect the client if its MCP tool list is cached.
No ad accounts appear
No ad accounts appear
- Confirm that the LinkedIn identity you authorized can open the ad account in Campaign Manager.
- Reconnect with the correct LinkedIn identity if you used a different login.
- Ask for the accessible account list again after permissions change.
I can read the account but cannot create or update
I can read the account but cannot create or update
- Check the role returned for the account. Viewer access is read-only.
- Confirm that your role allows the requested action.
- For sponsored content, confirm access to the associated LinkedIn Page.
- Check Campaign Manager for lifecycle, billing, or account warnings that can block a valid API request.
A report is empty
A report is empty
- Confirm the account, object IDs, and date window.
- Check that the selected objects delivered during the period.
- For professional demographics, allow for reporting delay and privacy suppression.
What to try next
- Inspect account, campaign-group, ad-set, and creative performance.
- Analyze professional demographics one compatible pivot at a time.
- Resolve and size a targeting hypothesis before applying it.
- Reuse or upload an eligible image and prepare a draft single-image ad.
- Apply selected updates only after reviewing the current object and proposed change.
Current boundaries
- Campaign Manager remains the final place to preview rendering, billing, warnings, and Page permissions.
- HireOtto does not currently create LinkedIn Lead Gen Forms.
- Do not assume the image upload workflow also supports video or document ads.
- Creating an ad does not install or validate the LinkedIn Insight Tag, Google Tag Manager, or the destination page.
- LinkedIn permissions and lifecycle rules can still block status changes or edits.