linux-mcp-server 0.1.0a3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- linux_mcp_server-0.1.0a3/.codecov.yml +38 -0
- linux_mcp_server-0.1.0a3/.github/workflows/build-publish.yml +75 -0
- linux_mcp_server-0.1.0a3/.github/workflows/ci.yml +122 -0
- linux_mcp_server-0.1.0a3/.gitignore +54 -0
- linux_mcp_server-0.1.0a3/.tekton/pipeline-build-multiarch.yaml +740 -0
- linux_mcp_server-0.1.0a3/.tekton/pull_request.yaml +52 -0
- linux_mcp_server-0.1.0a3/.tekton/push.yaml +55 -0
- linux_mcp_server-0.1.0a3/.tekton/task-get-version.yaml +61 -0
- linux_mcp_server-0.1.0a3/Containerfile +88 -0
- linux_mcp_server-0.1.0a3/LICENSE +201 -0
- linux_mcp_server-0.1.0a3/PKG-INFO +376 -0
- linux_mcp_server-0.1.0a3/README.md +344 -0
- linux_mcp_server-0.1.0a3/docs/CONTRIBUTING.md +362 -0
- linux_mcp_server-0.1.0a3/docs/Debugging.md +113 -0
- linux_mcp_server-0.1.0a3/docs/Install.md +398 -0
- linux_mcp_server-0.1.0a3/docs/Usage.md +283 -0
- linux_mcp_server-0.1.0a3/docs/examples/claude_desktop_config.example.json +14 -0
- linux_mcp_server-0.1.0a3/docs/examples/example_config.sh +69 -0
- linux_mcp_server-0.1.0a3/pyproject.toml +168 -0
- linux_mcp_server-0.1.0a3/renovate.json +4 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/__init__.py +6 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/__main__.py +30 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/audit.py +331 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/config.py +39 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/connection/__init__.py +0 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/connection/ssh.py +333 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/logging_config.py +176 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/server.py +18 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/__init__.py +51 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/logs.py +221 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/network.py +281 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/processes.py +272 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/services.py +146 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/storage.py +193 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/tools/system_info.py +505 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/__init__.py +2 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/decorators.py +64 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/enum.py +16 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/format.py +26 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/types.py +6 -0
- linux_mcp_server-0.1.0a3/src/linux_mcp_server/utils/validation.py +57 -0
- linux_mcp_server-0.1.0a3/tests/__init__.py +1 -0
- linux_mcp_server-0.1.0a3/tests/conftest.py +39 -0
- linux_mcp_server-0.1.0a3/tests/connection/__init__.py +0 -0
- linux_mcp_server-0.1.0a3/tests/connection/test_ssh.py +310 -0
- linux_mcp_server-0.1.0a3/tests/test__main__.py +8 -0
- linux_mcp_server-0.1.0a3/tests/test_audit.py +270 -0
- linux_mcp_server-0.1.0a3/tests/test_config.py +252 -0
- linux_mcp_server-0.1.0a3/tests/test_logging_config.py +217 -0
- linux_mcp_server-0.1.0a3/tests/test_server.py +44 -0
- linux_mcp_server-0.1.0a3/tests/tools/__init__.py +0 -0
- linux_mcp_server-0.1.0a3/tests/tools/test_logs.py +29 -0
- linux_mcp_server-0.1.0a3/tests/tools/test_processes.py +57 -0
- linux_mcp_server-0.1.0a3/tests/tools/test_services.py +115 -0
- linux_mcp_server-0.1.0a3/tests/tools/test_storage.py +714 -0
- linux_mcp_server-0.1.0a3/tests/tools/test_system_info.py +72 -0
- linux_mcp_server-0.1.0a3/tests/utils/__init__.py +0 -0
- linux_mcp_server-0.1.0a3/tests/utils/test_decorators.py +167 -0
- linux_mcp_server-0.1.0a3/tests/utils/test_enum.py +24 -0
- linux_mcp_server-0.1.0a3/tests/utils/test_format.py +22 -0
- linux_mcp_server-0.1.0a3/tests/utils/test_validation.py +161 -0
- linux_mcp_server-0.1.0a3/uv.lock +1440 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
codecov:
|
|
2
|
+
notify:
|
|
3
|
+
after_n_builds: 6
|
|
4
|
+
wait_for_ci: false
|
|
5
|
+
|
|
6
|
+
require_ci_to_pass: false
|
|
7
|
+
token: 74bc381b-9c5f-44c1-9efa-af57d5f3fe50 # notsecret # repo-scoped, upload-only, stability in fork PRs
|
|
8
|
+
|
|
9
|
+
coverage:
|
|
10
|
+
range: 40..100
|
|
11
|
+
status:
|
|
12
|
+
project:
|
|
13
|
+
default:
|
|
14
|
+
target: 60%
|
|
15
|
+
threshold: 10%
|
|
16
|
+
app:
|
|
17
|
+
target: 60%
|
|
18
|
+
threshold: 10%
|
|
19
|
+
paths:
|
|
20
|
+
- src/
|
|
21
|
+
tests:
|
|
22
|
+
target: 100%
|
|
23
|
+
paths:
|
|
24
|
+
- tests/
|
|
25
|
+
|
|
26
|
+
patch:
|
|
27
|
+
default:
|
|
28
|
+
target: 100%
|
|
29
|
+
threshold: 10%
|
|
30
|
+
app:
|
|
31
|
+
target: 100%
|
|
32
|
+
threshold: 10%
|
|
33
|
+
paths:
|
|
34
|
+
- src/
|
|
35
|
+
tests:
|
|
36
|
+
target: 100%
|
|
37
|
+
paths:
|
|
38
|
+
- tests/
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: Build and publish
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- '*'
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
name: Build sdist and wheel
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout
|
|
17
|
+
uses: actions/checkout@v5.0.0
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0
|
|
20
|
+
|
|
21
|
+
- name: Show environment
|
|
22
|
+
run: |
|
|
23
|
+
set -x
|
|
24
|
+
python -VV
|
|
25
|
+
python -m site
|
|
26
|
+
ls -ld $(python -c "import site; print(site.getsitepackages()[0])")
|
|
27
|
+
git tag --list --sort=-refname --format='%(refname:short) %(objectname:short)'
|
|
28
|
+
whoami
|
|
29
|
+
|
|
30
|
+
- name: Install build tools
|
|
31
|
+
run: |
|
|
32
|
+
python -m pip install --upgrade pip
|
|
33
|
+
python -m pip install build
|
|
34
|
+
|
|
35
|
+
- name: Build
|
|
36
|
+
run: python -m build --sdist --wheel
|
|
37
|
+
|
|
38
|
+
- name: Upload artifacts
|
|
39
|
+
uses: actions/upload-artifact@v4.6.2
|
|
40
|
+
with:
|
|
41
|
+
name: artifacts
|
|
42
|
+
path: dist
|
|
43
|
+
if-no-files-found: error
|
|
44
|
+
|
|
45
|
+
publish:
|
|
46
|
+
name: Publish to PyPI
|
|
47
|
+
runs-on: ubuntu-latest
|
|
48
|
+
needs:
|
|
49
|
+
- build
|
|
50
|
+
|
|
51
|
+
environment:
|
|
52
|
+
name: pypi
|
|
53
|
+
url: https://pypi.org/p/linux-mcp-server
|
|
54
|
+
|
|
55
|
+
permissions:
|
|
56
|
+
id-token: write
|
|
57
|
+
|
|
58
|
+
steps:
|
|
59
|
+
- name: Download artifacts
|
|
60
|
+
uses: actions/download-artifact@v5.0.0
|
|
61
|
+
with:
|
|
62
|
+
name: artifacts
|
|
63
|
+
path: dist
|
|
64
|
+
|
|
65
|
+
- name: Show environment
|
|
66
|
+
run: |
|
|
67
|
+
set -x
|
|
68
|
+
python -VV
|
|
69
|
+
python -m site
|
|
70
|
+
ls -ld $(python -c "import site; print(site.getsitepackages()[0])")
|
|
71
|
+
ls -l dist/
|
|
72
|
+
whoami
|
|
73
|
+
|
|
74
|
+
- name: Publish to PyPI
|
|
75
|
+
uses: pypa/gh-action-pypi-publish@v1.13.0
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
env:
|
|
13
|
+
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
14
|
+
COVERAGE_IGOR_VERBOSE: 1
|
|
15
|
+
FORCE_COLOR: 1 # Get colored pytest output
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
sanity:
|
|
20
|
+
name: Sanity - ${{ matrix.test.name }}
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
|
|
23
|
+
strategy:
|
|
24
|
+
fail-fast: false
|
|
25
|
+
matrix:
|
|
26
|
+
test:
|
|
27
|
+
- name: Type
|
|
28
|
+
step_name: Check types
|
|
29
|
+
command: pyright
|
|
30
|
+
|
|
31
|
+
- name: Lint
|
|
32
|
+
step_name: Run lint
|
|
33
|
+
command: ruff check --diff
|
|
34
|
+
|
|
35
|
+
- name: Format
|
|
36
|
+
step_name: Run format check
|
|
37
|
+
command: ruff format --diff
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout
|
|
41
|
+
uses: actions/checkout@v5.0.0
|
|
42
|
+
|
|
43
|
+
- name: Install Python
|
|
44
|
+
uses: actions/setup-python@v6.0.0
|
|
45
|
+
with:
|
|
46
|
+
python-version-file: pyproject.toml
|
|
47
|
+
|
|
48
|
+
- name: Install uv
|
|
49
|
+
uses: astral-sh/setup-uv@v7.1.0
|
|
50
|
+
with:
|
|
51
|
+
enable-cache: true
|
|
52
|
+
prune-cache: false
|
|
53
|
+
|
|
54
|
+
- name: Install dependencies
|
|
55
|
+
run: uv sync --locked --group lint
|
|
56
|
+
|
|
57
|
+
- name: "Show environment"
|
|
58
|
+
run: |
|
|
59
|
+
python -VV
|
|
60
|
+
python -m site
|
|
61
|
+
uv --version
|
|
62
|
+
env | sort
|
|
63
|
+
ls -ld $(python -c "import site; print(site.getsitepackages()[0])")
|
|
64
|
+
whoami
|
|
65
|
+
|
|
66
|
+
- name: ${{ matrix.test.step_name }}
|
|
67
|
+
run: uv run --locked ${{ matrix.test.command }}
|
|
68
|
+
|
|
69
|
+
tests:
|
|
70
|
+
name: Unit - ${{ matrix.python-version }}
|
|
71
|
+
runs-on: ubuntu-latest
|
|
72
|
+
|
|
73
|
+
strategy:
|
|
74
|
+
fail-fast: true
|
|
75
|
+
matrix:
|
|
76
|
+
python-version:
|
|
77
|
+
- "3.10"
|
|
78
|
+
- "3.11"
|
|
79
|
+
- "3.12"
|
|
80
|
+
- "3.13"
|
|
81
|
+
- "3.13t"
|
|
82
|
+
- "3.14"
|
|
83
|
+
- "3.14t"
|
|
84
|
+
|
|
85
|
+
steps:
|
|
86
|
+
- name: Checkout
|
|
87
|
+
uses: actions/checkout@v5.0.0
|
|
88
|
+
|
|
89
|
+
- name: Install Python
|
|
90
|
+
uses: actions/setup-python@v6.0.0
|
|
91
|
+
with:
|
|
92
|
+
python-version-file: pyproject.toml
|
|
93
|
+
|
|
94
|
+
- name: Install uv
|
|
95
|
+
uses: astral-sh/setup-uv@v7.1.0
|
|
96
|
+
with:
|
|
97
|
+
enable-cache: true
|
|
98
|
+
prune-cache: false
|
|
99
|
+
|
|
100
|
+
- name: Install dependencies
|
|
101
|
+
run: uv sync --locked --group test
|
|
102
|
+
|
|
103
|
+
- name: Show environment
|
|
104
|
+
run: |
|
|
105
|
+
set -x
|
|
106
|
+
python -VV
|
|
107
|
+
python -m site
|
|
108
|
+
uv --version
|
|
109
|
+
ls -ld $(python -c "import site; print(site.getsitepackages()[0])")
|
|
110
|
+
whoami
|
|
111
|
+
|
|
112
|
+
- name: Run tests
|
|
113
|
+
run: uv run --locked pytest --cov-report=xml
|
|
114
|
+
|
|
115
|
+
- name: Upload coverage report
|
|
116
|
+
uses: codecov/codecov-action@v5.5.1
|
|
117
|
+
with:
|
|
118
|
+
env_vars: OS,PYTHON
|
|
119
|
+
disable_search: true
|
|
120
|
+
files: coverage/coverage.xml
|
|
121
|
+
fail_ci_if_error: true
|
|
122
|
+
flags: unittests
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
.venv/
|
|
25
|
+
venv/
|
|
26
|
+
ENV/
|
|
27
|
+
env/
|
|
28
|
+
|
|
29
|
+
# Testing
|
|
30
|
+
.pytest_cache/
|
|
31
|
+
.coverage
|
|
32
|
+
coverage/
|
|
33
|
+
htmlcov/
|
|
34
|
+
.tox/
|
|
35
|
+
|
|
36
|
+
# IDEs
|
|
37
|
+
.vscode/
|
|
38
|
+
.idea/
|
|
39
|
+
*.swp
|
|
40
|
+
*.swo
|
|
41
|
+
*~
|
|
42
|
+
|
|
43
|
+
# OS
|
|
44
|
+
.DS_Store
|
|
45
|
+
Thumbs.db
|
|
46
|
+
|
|
47
|
+
# uv
|
|
48
|
+
.uv/
|
|
49
|
+
|
|
50
|
+
# Configuration files (user-specific)
|
|
51
|
+
config.sh
|
|
52
|
+
|
|
53
|
+
.claude/settings.local.json
|
|
54
|
+
CLAUDE.local.md
|