MCP Jenkins
El Protocolo de Contexto de Modelo (MCP) es una implementación de código abierto que conecta Jenkins con los modelos de lenguaje de IA según la especificación MCP de Anthropic. Este proyecto permite interacciones seguras y contextuales de IA con las herramientas de Jenkins, manteniendo la privacidad y seguridad de los datos.
Demostración del cursor
Related MCP server: Upstash MCP Server
Guía de configuración
Instalación
Elija uno de estos métodos de instalación:
# 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 claudeConfiguración y uso
Cursor
Abrir configuración del cursor
Navegar a MCP
Haga clic en + Agregar nuevo servidor MCP global
Esto creará o editará el archivo ~/.cursor/mcp.json con la configuración de su servidor MCP.
{
"mcpServers": {
"mcp-jenkins": {
"command": "uvx",
"args": [
"mcp-jenkins",
"--jenkins-url=xxx",
"--jenkins-username=xxx",
"--jenkins-password=xxx"
]
}
}
}argumentos de línea
# 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 9887AutoGen
Instalar autogen:
pip install "autogen-ext[azure,ollama,openai,mcp]" autogen-chatEjecutar scripts de 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())Herramientas disponibles
Herramienta | Descripción |
obtener_todos_los_trabajos | Conseguir todos los trabajos |
obtener_configuración_del_trabajo | Obtener la configuración del trabajo |
búsqueda_de_empleos | Buscar trabajo por campo específico |
obtener_compilaciones_en_ejecución | Obtener compilaciones en ejecución |
obtener_información_de_compilación | Obtener información de compilación |
obtener información de trabajo | Obtener información del trabajo |
trabajo de construcción | Construir un trabajo con parámetro |
obtener_registros_de_compilación | Obtener registros de compilación |
obtener_todos_los_nodos | Obtener nodos |
obtener_configuración_del_nodo | Obtener la configuración del nodo |
obtener_todos_los_elementos_de_la_cola | Obtener todos los elementos de la cola |
obtener_elemento_de_cola | Obtener información del elemento de la cola |
cancelar_elemento_de_cola | Cancelar elemento de la cola |
Desarrollo y depuración
# 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 xxxGancho de pre-compromiso
# Install Dependency
uv sync --all-extras --dev
pre-commit install
# Manually execute
pre-commit run --all-filesUtah
# Install Dependency
uv sync --all-extras --dev
# Execute UT
uv run pytest --cov=mcp_jenkinsLicencia
Con licencia del MIT (ver archivo de licencia ). Este no es un producto oficial de Jenkins.