Server URL
The server uses Streamable HTTP transport at:- OAuth for interactive tools like Codex
- API key for non-interactive agents, CI jobs, or clients without OAuth support
Setup
Codex
Codex users can install the DevTune plugin from the DevTune plugin marketplace:- Restart Codex
- Open the plugin list
- Install the DevTune plugin
- Sign in when Codex opens the browser authorization flow
- Select the DevTune project the plugin should access
Other OAuth MCP Clients
Use this configuration when your MCP client supports OAuth:API Key
Use API keys for non-interactive agents, CI jobs, or clients without OAuth support. Pass your key in theAuthorization header:
Claude Desktop
Add to your Claude Desktop config file: macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
Cursor
Open Settings > MCP Servers > Add Server, or edit.cursor/mcp.json:
Claude Code
REST vs MCP
Use REST when you are building an app, job, warehouse sync, dashboard, or webhook consumer. Use MCP when an AI agent should inspect DevTune data and decide what to do next inside a workflow.Available Tools
Each windowed tool accepts only its documented fixed rolling windows and returns JSON data. Existing visibility tools use
30 and 90 days; the ground-truth tools mirror the application’s 7, 30, and 90 day windows, with 365 also available for the Outcomes ledger. Tool access depends on the project and permissions from your connection:
- OAuth connections use the project you selected during setup and your DevTune role
- API key connections use the project and permissions assigned to the key
devtune_get_404_demand uses the existing traffic.read scope for API keys and OAuth connections. The other ground-truth tools require an API key with the corresponding pages.read, audit.read, outcomes.read, or referrals.read scope and are intentionally excluded from existing OAuth grants until OAuth supports explicit per-grant scope consent. Managed-agent and Dex read tools require agents.read; starting, steering, renaming, deleting a Dex chat, or deciding a Dex handoff or memory offer requires agents.run. Deleting a chat requires a user-attributed API key owned by the chat creator. Existing API keys do not receive new scopes automatically.
High-stakes target pages require explicit customer acknowledgement through acknowledgedHighStakes: true before an action can be created. User-locked pages remain unavailable.
Creating an action from a prompt is free. Setting generateBrief: true reserves 2 content credits; the brief uses 1 to 2 credits depending on the research required. If generation cannot be queued, the action remains saved and the response returns briefStatus: "failed". Open that action to retry. New content is drafted for human review and is never published by this operation.
Write-capable tools, including devtune_create_prompt_action and devtune_generate_action_brief, require permission to manage actions for the selected project.
Library and Knowledge permissions
Library and Knowledge tools use two explicit scopes:library.readallowsdevtune_list_library,devtune_search_library,devtune_read_library_item, anddevtune_get_knowledge_profile.library.writeallowsdevtune_upload_library_item,devtune_update_library_item,devtune_update_knowledge_profile, anddevtune_review_knowledge_proposal.
library.write is a mutation grant. It permits the MCP client to upload project text, change whether a Library item is available to agents, detach or relink Superseded versions, directly edit the Knowledge Profile, and approve, dismiss, or restore profile proposals. A direct edit and an approval both change the target profile field; dismissing or restoring a proposal does not.
Use devtune_update_knowledge_profile only for a deliberate human-authored edit. It applies immediately. System observations and agent learnings must remain proposals for review.
API-key connections need the matching scopes on the key. Existing keys do not receive library.read or library.write automatically. OAuth connections include Library scopes for the selected project, but write tools still require the signed-in user to have project management permission.
Library list and search tools return Current versions by default. Set includeSuperseded: true for deliberate historical retrieval. Results expose version state and numbering; a specific older item can be read by ID without being presented as current. Turning agent availability off does not hide an item from these UI, REST, or MCP reads. It prevents the item from being retrieved into managed-agent prompts.
devtune_get_ai_referrals returns the same coverage as the REST Referrals endpoint in overview.referralCoverage: sessionsCurrent, sessionsPrevious, conversionsCurrent, and conversionsPrevious. Known counts remain visible when coverage is partial. Compare a metric across periods only when both of its flags are true, including engine and landing-page comparisons.
devtune_get_content_gaps maps to GET /api/v2/projects/{projectId}/content-gaps/list. It returns the same measured topic, source, and brand rollup facts, coverage state, and offset/limit pagination as REST. Your own sources and brand are excluded, as are topics you hold at least half the citations on, because those are presence rather than a gap. Every count is a citation split into primary and competitor; the rollups hold no mention facts. Coverage reports availableDays, isPartial, and the asOfDate the window ends on, so a window that was rolled up from fewer days than requested says so. Use gapType or display-label search to narrow the list. Actions remain the source for workflow state, briefs, and interventions.
Tool Inputs
For
devtune_get_actions, the most useful filters are:
detailLevel:summaryorcontext;summaryis defaultsurface:recommendationorbacklogstatus:active,backlog,in_progress,blocked,done,canceled- aliases:
open,completed, anddismissedmap tobacklog,done, andcanceled priorityandchannelfor narrower work queues
detailLevel: "context" when the agent needs to understand why an action matters before deciding what to do. Context responses are capped to keep tools fast and predictable: up to 3 evidence blocks and 5 citation/source references per action, plus scores, metrics, brief readiness, and follow-up links. Guard-rail evidence includes googleEligibility only when the caller is entitled and the evidence has a fresh observation from a live exact-domain GSC source. It includes canonical, crawlable, indexed, and structuredData states (pass, fail, or unmeasured), together with observedAt and Google’s coverageState.
Citation-defence opportunities in devtune_get_actions use successful executions for prompt/platform cells present in both 30-day windows. Their measurements include the matched execution totals, the cohort’s coverage of earlier citations, informational probe-day counts, and prompts or platforms present in only one window. DevTune withholds the loss claim when the matched cohort covers less than 60% of the earlier citation volume.
For visibility, citation, content-gap, traffic-summary, adoption, and intelligence tools, windowDays accepts 30 or 90 and defaults to 30. Ground-truth tools accept the windows shown above and default to 30. Citation top-list tools use cursor pagination and support simple prefix search on URL and domain. Content gaps use offset and limit pagination and support display-label search. devtune_get_citation_stats returns aggregate totals only and does not accept pagination or search inputs. Unsupported arbitrary ranges and undocumented filters are rejected instead of being handled downstream.
Which Tool Should I Use?
Triggering a Managed-Agent Run
devtune_run_agent requires the explicit agents.run API-key scope and a caller-generated UUID in requestIdempotencyKey. Retrying with the same key reuses the existing run. The tool delegates to the same evidence- and credit-checked dispatch path as the application, including evidence preflight, model-catalog validation, autonomy rules, and credit reservation and settlement. It creates no external draft-write capability; completed draft artifacts are read with devtune_get_agent_run and approval remains in the application.
Generating Action Briefs
devtune_generate_action_brief is the MCP write operation for the Actions workspace. It takes the following inputs:
When project content preferences are enabled,
briefStyle must respect the project’s allowed and blocked formats. Requests for blocked formats are rejected instead of silently generating the blocked style.
The tool is idempotent for a ready or already-running brief:
- If the brief is ready, it returns
status: "ready" - If generation is already running, it returns
status: "generating" - If generation can start, it queues background work and returns
status: "queued"
success, message, actionId, and, when queued, an eventId. Use devtune_get_action_brief afterward to poll for readiness and retrieve the generated markdown.
Example Prompts
Once connected, you can ask your AI agent questions like:- “What is my current share of voice across AI platforms?”
- “Show me the competitive position trend for the last 30 days”
- “Show my top citation pages and domains for the last 90 days”
- “Summarize my aggregate citation stats for the last 30 days”
- “List active recommendations for this project”
- “Load the stored brief for action 6f1e2d3c-1a2b-4c5d-8e9f-0123456789ab and summarize the execution plan”
- “Generate the action brief for action 6f1e2d3c-1a2b-4c5d-8e9f-0123456789ab”
- “Show backlog items that are blocked or in progress”
- “Which content-gap topics, sources, and brands are cited most this month, and how much of that is mine?”
- “Show page-level blind spots and guard rails for the last 30 days”
- “Summarize open Audit findings and measured Outcomes for this project”
- “List available agents and their recent runs”
- “Run the Technical Auditor with idempotency key 6f1e2d3c-1a2b-4c5d-8e9f-0123456789ab”
- “How much traffic am I getting from AI chatbots?”
- “Search the current Library for our positioning guidance, then show the version and as-of date.”
- “List Pending Knowledge Profile proposals and explain their provenance.”
Related Documentation
- Authentication — API key and MCP OAuth authentication
- Rate Limits — Request limits by plan tier
- API Overview — Full list of REST API endpoints