A FastMCP-based MCP server for DevOps
Project description
DevOps MCP Server
A FastMCP-based MCP server providing DevOps tools and integrations.
Features
- GitHub repository search and management
- File content retrieval from repositories
- Issue tracking and management
- Code search functionality
Installation
To install the package, use the following command:
pip install devops-mcps
Usage
Run the MCP server:
devops-mcps
Configuration
Environment Variables
Set the required environment variable for GitHub API access:
export GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
JSON Configuration
Create a config.json file:
{
"github": {
"access_token": "your_token_here",
"api_url": "https://api.github.com"
},
"server": {
"port": 8000,
"debug": false
}
}
UVX Configuration
Install UVX tools:
uvx install
Run with UVX:
uvx run devops-mcps
Transport Configuration
The MCP server supports two transport types:
stdio(default): Standard input/output communicationsse: Server-Sent Events for HTTP-based communication
Local Usage
# Default stdio transport
devops-mcps
# SSE transport
devops-mcps --transport sse
UVX Usage
# Default stdio transport
uvx run devops-mcps
# SSE transport
uvx run devops-mcps-sse
Docker Configuration
Build the Docker image:
docker build -t devops-mcps .
Run the container:
docker run -p 8000:8000 devops-mcps
VSCode Configuration
To use this MCP server in vs code copilot, there are 2 ways to configure it in VSCode settings.json with different transport types:
UVX Configuration
stdio Transport (default)
"devops-mcps": {
"type": "stdio",
"command": "uvx",
"args": ["devops-mcps"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxCe"
}
}
SSE Transport
"devops-mcps": {
"type": "sse",
"command": "uvx",
"args": ["devops-mcps-sse"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxCe"
}
}
Docker Configuration
stdio Transport (default)
"devops-mcps": {
"command": "docker",
"args": [
"run",
"-i",
"huangjien/devops-mcps:latest"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxx2Ce"
}
}
SSE Transport (MCP Server Deployed in Remote Docker Container)
"devops-mcps": {
"type": "sse",
"url": "http://[remote ip address]:8000/sse",
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxx2Ce"
}
}
Development
Install development dependencies:
pip install -e .[dev]
Run mcp inspector to test or debug:
npx @modelcontextprotocol/inspector uv run devops-mcps
CI/CD Pipeline
GitHub Actions workflow will automatically:
- Build and publish Python package to PyPI
- Build and push Docker image to Docker Hub
Required Secrets
Set these secrets in your GitHub repository:
PYPI_API_TOKEN: Your PyPI API tokenDOCKER_HUB_USERNAME: Your Docker Hub usernameDOCKER_HUB_TOKEN: Your Docker Hub access token
Workflow triggers on push to main branch.
Packaging and Publishing
Install tools
pip install -U twine build
Build the package
python -m build
Upload to PyPI
- Create a
~/.pypircfile with your API token:
[pypi]
username = __token__
password = your_pypi_api_token_here
- Upload the package:
twine upload dist/*
Important Notes
- Ensure all classifiers in
pyproject.tomlare valid PyPI classifiers - Remove deprecated license classifiers in favor of SPDX license expressions
- The package will be available at: https://pypi.org/project/devops-mcps/
- Update the version everytime, or when you push, it will show an error: already exists.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devops_mcps-0.3.0.tar.gz.
File metadata
- Download URL: devops_mcps-0.3.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed31a14420284aac3004c40f3ecd7b11b33bcca1a8b1aa60b7f9ff9999731e7b
|
|
| MD5 |
1d6726f5a78af7a0561f4e4946a9d0bb
|
|
| BLAKE2b-256 |
cc741345ac0539ad50ce8780f3f8f5e8ce3b5c5899a31c663fd2937969858e70
|
File details
Details for the file devops_mcps-0.3.0-py3-none-any.whl.
File metadata
- Download URL: devops_mcps-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
513d7f494cc5170a3cebbcee3081b40e28f627b9af282e7b26c9c6c8ea4c0de9
|
|
| MD5 |
7071baa32d27159e464773db84ee220e
|
|
| BLAKE2b-256 |
4110b174776d9ef9a41fa1059e8aa38d26433381638ff554cef341e69e5ce0e6
|