NewAgent Observability is live.
Back to directory
Gradle Develocity logo

Develocity MCP server: two endpoints, self-hosted

Why there are two tool sets on two endpoints, why Gradle insists the analytics credential be read-only and separate, and why you cannot even list the tools without a key.

Connector
Official, and part of your own Develocity install
Coverage
Build failures, test patterns, cache and aggregate trends
Tools
Two sets, counts not published
Biggest risk for an agent
Analytics needs a second, read-only AWS credential

Last verified 25 August 2026 · from docs.develocity.ai 2026.2, installation and AI clients pages

This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.

Summary

The Gradle Develocity MCP server runs on your own infrastructure, because Develocity does. It is a Kubernetes pod, enabled by setting `mcpServer.enabled: true` in values.yaml, the Helm configuration file for your install, and it reports itself as develocity-mcp-server version 2026.2.4.

There are two tool sets. The Develocity tools cover individual builds: exceptions, stack traces, test outcomes and cache performance. The Analytics tools cover the organization: dependency risk, performance trends and CI stability.

They arrive on two endpoints. /mcp on the Develocity instance serves the build tools, and also the analytics tools when Athena Data Export is on. /drv-mcp on a Reporting Kit instance serves analytics alone.

An access key is required for every interaction, including `initialize` and listing the tools. Gradle states this explicitly. So this page could not run the usual unauthenticated tools/list capture, and it claims no tool count.

What is the Gradle Develocity MCP server?

Develocity records what your builds actually did: how long each task took, which tests failed, whether the cache hit, and what the exception was. It covers Gradle, Maven, sbt, Bazel, npm and Python builds.

The MCP server turns that record into something an agent can query. The stated use is investigating a build failure without leaving the editor, and comparing two builds to work out why the cache missed.

Both tool sets bundle skills: guided workflows that activate automatically to steer the client toward effective queries. Gradle describes them the same way for the build tools and the analytics tools.

Two tool sets, two endpoints, two version floors:

Tool setEndpointRequires
Develocity tools/mcp on the Develocity instanceDevelocity 2025.3 or higher
Develocity Analytics tools/mcp as well, when Athena Data Export is onDevelocity 2025.4 or higher, and 2026.2.0 to run inside the same server
Develocity Analytics tools/drv-mcp on a Reporting Kit instanceDevelocity Reporting Kit 2.1 or higher

Either set works alone. Gradle notes that some data, including test results and failure groups, comes only from the Develocity tools.

Develocity owns the build, and stops there.

Part of the workWhat Gradle Develocity has hereCan an agent reach it
Code, tests & reviewTest outcomes, flaky tests and failure trendsPartial. Strong for tests, absent for code. It reads which tests failed and how often, and no diffs or reviews
CI & releaseBuild failures, task durations, cache effectiveness and CI stabilityYes. Core strength. Exception details, stack traces, failure grouping and build comparison are all reachable
Production observabilityNoneNo metrics, logs or traces from running services
Agent observability & evalsNoneNo traces or evaluations of model behavior
AI cost managementNone for AI spendNo model spend. Build time and cache hit rates are a different budget

For an agent, Develocity answers why the build broke and why it was slow. The organization-wide version of both questions sits behind the analytics set. It knows nothing about the source of the change or what happened after it shipped.

What can an AI agent do with Gradle Develocity?

There are two tool sets on two endpoints, and neither publishes a count. The Develocity tools cover individual builds: exceptions, stack traces, test outcomes and cache performance. The Analytics tools cover the organization: dependency risk, performance trends and CI stability. /mcp on the Develocity instance serves the build tools, and the analytics tools too when Athena Data Export is on. /drv-mcp serves analytics alone.

Gradle Develocity MCP server limits: where answers come back incomplete

You cannot list the tools without a key. That boundary comes first, because it stops an evaluation before you can size the connector.

You cannot see the tool list without a key, and neither can anyone else.

Gradle states that the access key is required for every interaction, including initialize and listing the available tools. There is no anonymous handshake.

That is good security and awkward evaluation. No tool count is published either, so the inventory cannot be established before you deploy.

Guard: Issue a key with the permission, then run Gradle's own initialize curl before wiring any client to it.

The analytics half needs a second AWS credential, and Gradle says it must be read-only.

Athena Data Export already has credentials. Gradle states that the MCP server cannot reuse them, for security reasons, and that its own credentials must be read-only.

The published IAM template still includes PutObject and DeleteObject, and Gradle warns those must be scoped to the query results bucket alone.

Guard: Treat the two buckets separately when writing the role. Read on the build model data, write only on the query output location.

The agent says: Builds are 20% slower. Across one project, or all of them?

Two tool sets answer at two scopes. The Develocity tools see individual builds; the Analytics tools see aggregate data across the organization. In prose the two answers look identical.

Guard: Require the agent to name the tool set. The disclosure block above makes that the first rule.

The agent says: There are no test results. You may have connected the wrong half.

Gradle states that some data, including test results and failure groups, is available only from the Develocity tools. A Reporting Kit connection alone cannot reach them.

Guard: Connect /mcp if tests matter. /drv-mcp on its own answers aggregate questions only.

How to configure Gradle Develocity MCP for agents

  1. 1

    Enable the pod

    mcpServer.enabled: true in values.yaml, then confirm with kubectl get pods -l app.kubernetes.io/component=mcp-server.

  2. 2

    Decide whether you need analytics at all

    One set works without the other, and the analytics half carries the whole Athena prerequisite chain.

  3. 3

    Create a second AWS credential if you do

    Gradle states that the Athena credentials used by the MCP server cannot be the ones used by Athena Data Export, and must be read-only.

  4. 4

    Issue an access key with the right permission

    It must carry Access build data via the API and MCP, and it is checked on every request.

  5. 5

    Plan for Claude Desktop separately

    Gradle documents that it cannot send an access key header and needs a local proxy.

Paste this into your agent’s instructions

Two tool sets answer at two different scopes, and a build-level answer and an organization-level answer look alike once the agent writes them as prose.

Terminal
When you answer using Develocity MCP tools, state:
- Whether the answer came from the Develocity tools, which
  see individual builds, or the Analytics tools, which see
  aggregate data across the organization.
- The build scan or the time window the numbers cover.
- That test results and failure groups come only from the
  Develocity tools, so an analytics-only setup cannot see
  them.
Never state that data does not exist. State which tool set
you queried and what it returned.
Write your answer in ASD-STE100 Simplified Technical
English. Use short sentences with one idea in each.

Do you need the MCP server at all?

Not when you already know which build broke. A build scan URL in a browser remains the direct route then, and it is what the tools are reading behind the scenes.

The Develocity API is the direct path for anything scheduled, and it takes the same access key.

For flaky tests specifically, BuildPulse and Allure TestOps both connect over their own servers.

For the CI system rather than the build, Jenkins and CircleCI answer questions about the pipeline that Develocity does not model.

With MCP, failure grouping and build comparison arrive as tool results rather than as a page to read, which is the difference when the question is why two builds diverged.

Enable /mcp first. Add /drv-mcp only when the question is about the whole organization.

Gradle Develocity MCP server setup

The server runs inside your own Develocity deployment. Enable it with mcpServer.enabled: true in your Helm values, then confirm the pod is running.

Every block below carries a Develocity access key as a bearer token. The key needs the Access build data via the API and MCP permission, and Gradle states it is required for every interaction, including initialize and listing the tools.

Substitute your own Develocity host for develocity.example.com. Reporting Kit deployments add a second entry pointing at /drv-mcp on the Reporting Kit host.

Claude Code

Gradle documents the CLI form with --scope user. Add a second server for the analytics tools if you run Reporting Kit.

Terminal
claude mcp add --transport http develocity --scope user \
  https://develocity.example.com/mcp \
  --header "Authorization: Bearer <access-key>"

Confirm it is running

Gradle publishes both checks. The pod listing confirms the deployment, and the initialize call confirms the key works. A key without the permission fails here rather than later.

Terminal
kubectl get pods --namespace develocity \
  -l app.kubernetes.io/component=mcp-server

curl -X POST https://develocity.example.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer <access-key>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-03-26",
       "capabilities":{},"clientInfo":{
       "name":"curl-client","version":"1.0.0"}}}'

Cursor

In ~/.cursor/mcp.json for all projects, or .cursor/mcp.json in one. The access key travels as a header, not as an environment variable.

Terminal
{"mcpServers":{"develocity":{"type":"http",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}

Codex CLI

Codex reads TOML, so the JSON blocks above will not transfer.

Terminal
[mcp_servers.develocity]
url = "https://develocity.example.com/mcp"

[mcp_servers.develocity.headers]
Authorization = "Bearer <access-key>"

Every other client

Each block below is the configuration for one client, with the file path and the key that client expects.

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json. Windows %APPDATA%\Claude\claude_desktop_config.json. There is no CLI. Edit through Settings, Developer, Edit Config.

Gradle documents that Claude Desktop cannot authenticate with an access key header, so a local proxy is required. It also notes that Gradle is not affiliated with mcp-remote and asks you to check it against your own security policy.

Terminal
{"mcpServers":{"develocity":{"command":"npx",
  "args":["-y","mcp-remote",
    "https://develocity.example.com/mcp",
    "--header","Authorization: Bearer ${API_ACCESS_TOKEN}",
    "--transport","http-only"],
  "env":{"API_ACCESS_TOKEN":"<access-key>"}}}}

Quit and restart fully for changes to load. The key sits in env here rather than in a header, because the proxy substitutes it.

VS Code Copilot

.vscode/mcp.json per workspace, or your user profile. Gradle recommends an inputs prompt rather than a hardcoded key, so VS Code asks for it the first time the server starts.

Terminal
{"inputs":[{"type":"promptString",
  "id":"develocity-access-key",
  "description":"Develocity Access Key","password":true}],
 "servers":{"develocity":{"type":"http",
  "url":"https://develocity.example.com/mcp",
  "headers":{"Authorization":
    "Bearer ${input:develocity-access-key}"}}}}

The key is `servers`, not `mcpServers`. VS Code is the only client that uses that name, and copying a config from anywhere else fails silently.

Gemini CLI

~/.gemini/settings.json globally, or .gemini/settings.json per project. Gradle documents httpUrl here rather than url.

Terminal
{"mcpServers":{"develocity":{
  "httpUrl":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
The analytics endpoint

Add a second entry alongside the first. Gradle uses the name develocity-analytics throughout its own examples, and the host is the Reporting Kit instance rather than Develocity.

Terminal
claude mcp add --transport http develocity-analytics \
  --scope user https://reporting-kit.example.com/drv-mcp \
  --header "Authorization: Bearer <access-key>"
IntelliJ IDEA and Android Studio

Gradle points IntelliJ users at the GitHub Copilot plugin, and Android Studio users at Gemini. Both take the same httpUrl and Authorization header shape as the Gemini CLI block.

Terminal
{"mcpServers":{"develocity":{
  "httpUrl":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Windsurf

~/.codeium/windsurf/mcp_config.json, which is the path Windsurf documents. Key mcpServers, carrying the same access key.

Terminal
{"mcpServers":{"develocity":{"serverUrl":
  "https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Zed

~/.config/zed/settings.json, under context_servers, carrying the same access key.

Terminal
{"context_servers":{"develocity":{
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Google Antigravity

~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json per project. Key mcpServers. There is no CLI. Use the /mcp overlay. Streamable HTTP is supported, carrying the same access key.

Terminal
{"mcpServers":{"develocity":{"type":"http",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Amp (Sourcegraph)

~/.config/amp/settings.json or .amp/settings.json, carrying the same access key. The amp mcp CLI covers approve, doctor and oauth.

Terminal
{"amp.mcpServers":{"develocity":{
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Cline

~/.cline/mcp.json per the docs. The source also reads ~/.cline/data/settings/cline_mcp_settings.json. Key mcpServers, carrying the same access key.

Terminal
{"mcpServers":{"develocity":{
  "type":"streamableHttp",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Goose (Block)

~/.config/goose/config.yaml, carrying the same access key in the headers map.

Terminal
extensions:
  develocity:
    type: streamable_http
    uri: https://develocity.example.com/mcp
    headers:
      Authorization: Bearer <access-key>
Kiro (AWS)

.kiro/settings/mcp.json per workspace, or ~/.kiro/settings/mcp.json globally. Key mcpServers. Kiro runs stdio servers, so this route uses the same mcp-remote proxy Gradle documents for Claude Desktop.

Terminal
{"mcpServers":{"develocity":{"command":"npx",
  "args":["-y","mcp-remote",
    "https://develocity.example.com/mcp",
    "--header","Authorization: Bearer ${API_ACCESS_TOKEN}",
    "--transport","http-only"],
  "env":{"API_ACCESS_TOKEN":"<access-key>"}}}}
Warp

~/.warp/.mcp.json or .warp/.mcp.json. Key mcpServers, carrying the same access key. Also addable through the /agent-add-mcp skill.

Terminal
{"mcpServers":{"develocity":{
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
JetBrains Junie

.junie/mcp/mcp.json per project, or ~/.junie/mcp/mcp.json. Key mcpServers, carrying the same access key. Use /mcp in the CLI to manage.

Terminal
{"mcpServers":{"develocity":{"type":"http",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Roo Code

.roo/mcp.json per project. The global file is mcp_settings.json, opened from the Roo Code MCP settings view with Edit Global MCP. Key mcpServers, carrying the same access key.

Terminal
{"mcpServers":{"develocity":{
  "type":"streamable-http",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Continue

.continue/mcpServers/*.yaml, one file per server, carrying the same access key.

Terminal
name: Develocity
version: 0.0.1
schema: v1
mcpServers:
  - name: develocity
    type: streamable-http
    url: https://develocity.example.com/mcp
    requestOptions:
      headers:
        Authorization: Bearer <access-key>
Trae

.trae/mcp.json per project, or paste into the UI under Raw Config (JSON). Key mcpServers, standard shape, carrying the same access key.

Terminal
{"mcpServers":{"develocity":{
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}
Devin

Devin has no config file to edit. Servers are added through a web form in the settings UI, and Devin's documentation states you do not need to write or paste JSON. The block below is the shape those fields describe, shown for reference. Either route uses the same access key.

Terminal
{"mcpServers":{"develocity":{"type":"http",
  "url":"https://develocity.example.com/mcp",
  "headers":{
    "Authorization":"Bearer <access-key>"}}}}

Read-only access, permissions and security

  • The key is checked on every call

    Gradle states that the access key with the Access build data via the API and MCP permission is required for every interaction, including initialize and listing the available tools. Nothing is readable before authentication.

  • The analytics credential must be separate and read-only

    Gradle states plainly that for security reasons the Athena credentials used by the MCP server cannot be the same as those used by Athena Data Export.

  • The IAM policy is narrower than it looks

    It includes PutObject and DeleteObject, and Gradle warns those must apply only to the S3 bucket holding Athena query results, never the bucket holding the build model data.

  • Build data carries source detail

    Exception messages, stack traces and task names describe your codebase, and they are what these tools return.

  • The proxy is third-party

    Gradle documents mcp-remote for Claude Desktop and states it is not affiliated with the project, asking you to check it against your own policy first.

Troubleshooting

Listing the tools returns an error
The access key is required for that call too. Gradle documents that every interaction, including initialize and listing the tools, needs a key with the Access build data via the API and MCP permission.
The pod is not there
The server is off by default. Set mcpServer.enabled: true in values.yaml, then check with kubectl get pods -l app.kubernetes.io/component=mcp-server.
Claude Desktop will not connect
Documented. Claude Desktop cannot send an access key header, and Gradle's own answer is a local mcp-remote proxy with --transport http-only.
The analytics tools are missing
They need Develocity 2025.4 or higher with Athena Data Export enabled, or Reporting Kit 2.1 or higher. Running them inside the Develocity MCP server needs 2026.2.0.
Test results are not available
An analytics-only setup cannot see them. Gradle states that some data, including test results and failure groups, comes only from the Develocity tools.
Athena queries fail with a permission error
Check which bucket the write permissions cover. The read-only role needs PutObject on the query results bucket only, and read access on the exported build model data.

Gradle Develocity MCP server: Reference

ItemValue
Endpoints/mcp on Develocity · /drv-mcp on Reporting Kit
Server namedevelocity-mcp-server, version 2026.2.4
Protocol2025-03-26
DeploymentA Kubernetes pod, off by default
Enable withmcpServer.enabled: true in Helm values
Develocity tools requireDevelocity 2025.3 or higher
Analytics tools require2025.4 with Athena Data Export, or Reporting Kit 2.1
Analytics in the same serverDevelocity 2026.2.0 and higher
AuthBearer access key with Access build data via the API and MCP
Auth scopeEvery interaction, initialize and tool listing included
Athena credentialMust be read-only, and separate from the export credential
Tool countNot published, and not capturable without a key
Build tools supportGradle, Maven, sbt, Bazel, npm and Python
Inventory sourcedocs.develocity.ai 2026.2, read 25 August 2026

What the vendor documents

Public discussion of this connector is thin, and no tool count is published. The facts below are the ones Gradle states in its own installation documentation.

What was checkedWhat it shows
Tool setsTwo
EndpointsTwo, /mcp and /drv-mcp
Server version reported2026.2.4
Protocol version2025-03-26
Develocity capability areas listedSix
Analytics capability areas listedFour
Build tools coveredGradle, Maven, sbt, Bazel, npm, Python
Tool count publishedNone

“The Develocity MCP Server requires an access key with the Access build data via the API and MCP permission for every interaction, including the initialize request and listing the available tools.”

“For security reasons, the Athena credentials used by the MCP Server cannot be the same as the ones used by the Athena Data Export feature. The credentials used by the MCP Server must be read-only.”

Develocity installation manual, docs.develocity.ai 2026.2, 25 August 2026 · A vendor mandating a separate read-only credential for the MCP path, which few others in this directory do.

“Gradle isn't affiliated with or involved in the development of mcp-remote. Please ensure that any third-party software you install complies with your organization's security policies.”

Develocity AI clients documentation, docs.develocity.ai 2026.2, 25 August 2026 · The disclaimer attached to the proxy Gradle documents for Claude Desktop, which cannot send an access key header.

The 2026.2 documentation was read on 25 August 2026, across the MCP servers overview, the installation manual and the AI clients page. No tool count appears in any of them, and the endpoint cannot be queried without a key, so none is claimed on this page.

Should you connect an agent to Gradle Develocity?

Yes. Best for build failure investigation on /mcp, with analytics added only when the question is organization-wide.

Strongest fit
Develocity operators who want an agent explaining a failed or slow build without leaving the editor.
Main advantage
It runs inside your own deployment, so build data never leaves your infrastructure to reach the model's tools.
Main weakness
The tool inventory is not published and cannot be listed without a key, so the connector cannot be sized before it is deployed.
Operational risk
An over-broad Athena role. The published policy template includes write actions that must be scoped to the query results bucket alone.

From Oodle

One platform for agent traces and infrastructure

Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.

See agent observability

Frequently asked questions

Does Develocity have an official MCP server?

Yes, and it ships with the product. It runs as a Kubernetes pod in your own deployment, enabled with mcpServer.enabled: true, and reports itself as develocity-mcp-server version 2026.2.4.

How many tools does it expose?

Gradle does not publish a count, and the tool list cannot be read without an access key, so this page claims none. Ten capability areas are described across the two tool sets.

What is the difference between /mcp and /drv-mcp?

/mcp on the Develocity instance serves the build tools, and the analytics tools too when Athena Data Export is on. /drv-mcp on a Reporting Kit instance serves the analytics tools alone.

Which versions do I need?

Develocity 2025.3 or higher for the build tools. For analytics, 2025.4 with Athena Data Export or Reporting Kit 2.1, and 2026.2.0 to run them inside the same server.

Why does Claude Desktop need a proxy?

It cannot authenticate with an access key header. Gradle documents mcp-remote with --transport http-only, and notes it is not affiliated with that project.

Do the tools bundle anything else?

Both sets bundle skills: guided workflows that activate automatically to help the client make effective use of the available data.

Changelog

  • Develocity 2026.2.0. The Analytics tools begin running inside the Develocity MCP server itself, rather than only on a Reporting Kit instance.
  • Develocity 2025.4. Analytics tools become available, given Athena Data Export.
  • Develocity 2025.3. The Develocity tools require this version or higher.

Sources

Every number on this page traces to one of these

  1. Develocity 2026.2 · MCP Servers overview, read 25 August 2026
  2. Develocity 2026.2 · MCP server installation manual, same date
  3. Develocity 2026.2 · AI clients configuration page, same date

Gradle Develocity’s own MCP documentation

Also build and CI:

Test reporting beside the build: