
madappa-sharath/drone-ci-mcp
Developer toolsMCP server to expose drone cicd server as tools
Overview
An opinionated mcp server that exposes drone.io ci build information and logs as MCP. Will only support readonly features. Still Under Active Development, use at your own risk Readonly tool that looks up a build information and returns the output as YAML. 1. repoSlug - The slug of the repository in drone. Combination of owner/org and repository name seperated by '/', i.e. owner/repo 2. buildNumber - The drone CI build number Response from https://docs.drone.io/api/builds/build_info/ as Mardown + YAML yaml id: 1 repo_id: 5 trigger: number: 1 status: success event: custom action: '' link: >- https://github.
README
drone-ci-mcp
An opinionated mcp server that exposes drone.io ci build information and logs as MCP. Will only support readonly features.
[!WARNING] Still Under Active Development, use at your own risk
Usage
Launch the transport
npx -y drone-ci-mcp --access-token= --server-url=
Claude Settings
{
"mcpServers": {
"drone-ci-mcp": {
"command": "npx",
"args": [
"-y"
"drone-ci-mcp",
"--access-token=",
"--server-url="
]
}
}
}
MCP Inspector
npx @modelcontextprotocol/inspector npx -y drone-ci-mcp --access-token= --server-url=
Tools
drone_build_info
Readonly tool that looks up a build information and returns the output as YAML.
Inputs:
- repoSlug - The slug of the repository in drone. Combination of owner/org and repository name seperated by ‘/’, i.e. owner/repo
- buildNumber - The drone CI build number
Outputs:
Response from https://docs.drone.io/api/builds/build_info/ as Mardown + YAML
# Build **1** in ****
```yaml
id: 1
repo_id: 5
trigger:
number: 1
status: success
event: custom
action: ''
link: >-
https://github.com/
timestamp: 0
message:
before: dbde12a8600cb6591f4c84085acb95d08b5505e6
after: dbde12a8600cb6591f4c84085acb95d08b5505e6
ref: refs/heads/main
source_repo: ''
source: main
target: main
author_login:
author_name:
author_email:
author_avatar:
sender: madappa-sharath
started: 1745806907
finished: 1745806908
created: 1745806904
updated: 1745806907
version: 3
stages:
- id: 1
repo_id: 5
build_id: 1
number: 1
name: hello-world
kind: pipeline
type: docker
status: success
errignore: false
exit_code: 0
machine: drone-runner-65d8dd8798-rf8xr
os: linux
arch: arm64
started: 1745806907
stopped: 1745806908
created: 1745806904
updated: 1745806908
version: 4
on_success: true
on_failure: false
steps:
- id: 1
step_id: 1
number: 1
name: clone
status: success
exit_code: 0
started: 1745806907
stopped: 1745806908
version: 4
image: drone/git:latest
.....
```
drone_build_info
Readonly tool that looks up a logs for a step.
Inputs:
- repoSlug - The slug of the repository in drone. Combination of owner/org and repository name seperated by ‘/’, i.e. owner/repo
- buildNumber - The drone CI build number
- stageNumber - The build stage number. Indicated by the field ‘number’ on a stage
- stepId - The build step id. Indicated by the field ‘step_id’ on a step
Outputs:
Response from https://docs.drone.io/api/builds/build_logs/ as Mardown
# Logs for step 2 in stage **1** of **1** build in **** repository
```shell
+ echo 'hello-world'
,hello-world
```
Demo
Install
npx -y"
"drone-ci-mcp --access-token=<token> --server-url=<url>Configuration
{
"mcpServers": {
"drone-ci-mcp": {
"command": "npx",
"args": [
"-y"
"drone-ci-mcp",
"--access-token=<token>",
"--server-url=<url>"
]
}
}
}