MCP Дженкинс
Model Context Protocol (MCP) — это реализация с открытым исходным кодом, которая связывает Jenkins с языковыми моделями ИИ в соответствии со спецификацией MCP от Anthropic. Этот проект обеспечивает безопасное, контекстное взаимодействие ИИ с инструментами Jenkins, сохраняя при этом конфиденциальность и безопасность данных.
Демонстрация курсора
Related MCP server: Upstash MCP Server
Руководство по настройке
Установка
Выберите один из следующих способов установки:
# Using uv (recommended)
pip install uv
uvx mcp-jenkins
# Using pip
pip install mcp-jenkins
# Using Smithery
npx -y @smithery/cli@latest install @lanbaoshen/mcp-jenkins --client claudeКонфигурация и использование
Курсор
Открыть настройки курсора
Перейти к MCP
Нажмите + Добавить новый глобальный сервер MCP
Это создаст или отредактирует файл ~/.cursor/mcp.json с конфигурацией вашего сервера MCP.
{
"mcpServers": {
"mcp-jenkins": {
"command": "uvx",
"args": [
"mcp-jenkins",
"--jenkins-url=xxx",
"--jenkins-username=xxx",
"--jenkins-password=xxx"
]
}
}
}аргументы строки
# Stdio Mode
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx
# SSE Mode
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --transport sse --port 9887АвтоГен
Установить автоген:
pip install "autogen-ext[azure,ollama,openai,mcp]" autogen-chatЗапуск скриптов Python:
import asyncio
from autogen_ext.tools.mcp import StdioMcpToolAdapter, StdioServerParams
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_core import CancellationToken
async def main() -> None:
# Create server params for the remote MCP service
server_params = StdioServerParams(
command='uvx',
args=[
'mcp-jenkins',
'--jenkins-username',
'xxx',
'--jenkins-password',
'xxx',
'--jenkins-url',
'xxx'
],
)
# Get the translation tool from the server
adapter = await StdioMcpToolAdapter.from_server_params(server_params, 'get_all_jobs')
# Create an agent that can use the translation tool
agent = AssistantAgent(
name='jenkins_assistant',
model_client=[Replace_with_your_model_client],
tools=[adapter],
)
# Let the agent translate some text
await Console(
agent.run_stream(task='Get all jobs', cancellation_token=CancellationToken())
)
if __name__ == "__main__":
asyncio.run(main())Доступные инструменты
Инструмент | Описание |
получить_все_работы | Получить все вакансии |
получить_задание_конфигурации | Получить конфигурацию задания |
поиск_вакансий | Поиск работы по определенной области |
get_running_builds | Запускайте сборки |
получить_информацию_о_сборке | Получить информацию о сборке |
получить_информацию_о_работе | Получить информацию о работе |
build_job | Построить задание с параметрами |
получить_логи_сборки | Получить журналы сборки |
получить_все_узлы | Получить узлы |
получить_узел_конфигурацию | Получить конфигурацию узла |
получить_все_элементы_очереди | Получить все элементы очереди |
получить_элемент_очереди | Получить информацию об элементе очереди |
отменить_пункт_очереди | Отменить элемент очереди |
Разработка и отладка
# Using MCP Inspector
# For installed package
npx @modelcontextprotocol/inspector uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx
# For local development version
npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-jenkins run mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxxПредварительная фиксация хука
# Install Dependency
uv sync --all-extras --dev
pre-commit install
# Manually execute
pre-commit run --all-filesЮТ
# Install Dependency
uv sync --all-extras --dev
# Execute UT
uv run pytest --cov=mcp_jenkinsЛицензия
Лицензия MIT - см. файл LICENSE . Это не официальный продукт Jenkins.