{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"com.getmcpads/linkedin-ads","description":"LinkedIn Ads MCP server: 18 read tools, 15 opt-in preview-first writes.","title":"LinkedIn Ads","repository":{"url":"https://github.com/get-mcp-ads/linkedin-ads-mcp-server","source":"github"},"version":"1.0.0","websiteUrl":"https://www.getmcpads.com/tools/linkedin-ads","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@getmcpads/linkedin-ads-mcp-server","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Member access token from your own LinkedIn app, with r_ads and r_ads_reporting. Keep it secret.","isSecret":true,"name":"LINKEDIN_ADS_ACCESS_TOKEN"},{"description":"Programmatic refresh token. With the client ID and secret, the token is renewed in memory.","isSecret":true,"name":"LINKEDIN_ADS_REFRESH_TOKEN"},{"description":"Client ID of your LinkedIn app, needed for refresh.","name":"LINKEDIN_ADS_CLIENT_ID"},{"description":"Client secret of your LinkedIn app, needed for refresh.","isSecret":true,"name":"LINKEDIN_ADS_CLIENT_SECRET"},{"description":"Comma-separated numeric ad account IDs this server may access, 1 to 100. Required even for reads.","isRequired":true,"name":"LINKEDIN_ADS_ACCOUNT_IDS"},{"description":"Scopes actually granted to the token. When set, writes require rw_ads.","name":"LINKEDIN_ADS_SCOPES"},{"description":"true exposes the 15 write tools. Defaults to false.","name":"LINKEDIN_ADS_ENABLE_WRITES"},{"description":"LinkedIn-Version header as YYYYMM. Defaults to 202608.","name":"LINKEDIN_ADS_API_VERSION"},{"description":"debug, info, warn or error. Logs go to stderr. Defaults to info.","name":"LINKEDIN_ADS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-23T11:37:50.906718Z","publishedAt":"2026-10-23T11:37:50.906718Z","updatedAt":"2026-10-23T11:37:50.906718Z","isLatest":true}}}
