linux-mcp-server 1.2.0__tar.gz → 1.3.0__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-1.2.0 → linux_mcp_server-1.3.0}/.github/workflows/build-publish.yml +20 -1
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.github/workflows/ci.yml +4 -4
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.github/workflows/ci_installation.yaml +2 -2
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.github/workflows/docs.yml +2 -2
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.tekton/pipeline-build-multiarch.yaml +16 -16
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/Containerfile +1 -1
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/PKG-INFO +3 -3
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/clients.md +70 -55
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/install.md +21 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/usage.md +48 -10
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/pyproject.toml +5 -3
- linux_mcp_server-1.3.0/scripts/publish_mcp_registry.py +113 -0
- linux_mcp_server-1.3.0/server.json +100 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/__main__.py +6 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/commands.py +10 -4
- linux_mcp_server-1.3.0/src/linux_mcp_server/config.py +83 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/formatters.py +6 -210
- linux_mcp_server-1.2.0/src/linux_mcp_server/utils/types.py → linux_mcp_server-1.3.0/src/linux_mcp_server/models.py +68 -12
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/parsers.py +10 -10
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/server.py +3 -1
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/logs.py +40 -30
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/processes.py +4 -1
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/services.py +14 -2
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/storage.py +86 -88
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/system_info.py +38 -25
- linux_mcp_server-1.3.0/src/linux_mcp_server/utils/types.py +8 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/utils/validation.py +2 -2
- linux_mcp_server-1.3.0/tests/cli/test_cli.py +48 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/conftest.py +12 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_config.py +22 -44
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_formatters.py +7 -247
- linux_mcp_server-1.3.0/tests/test_tool_schemas.py +50 -0
- linux_mcp_server-1.3.0/tests/tools/storage/__init__.py +0 -0
- linux_mcp_server-1.3.0/tests/tools/storage/conftest.py +53 -0
- linux_mcp_server-1.3.0/tests/tools/storage/test_list_block_devices.py +68 -0
- linux_mcp_server-1.3.0/tests/tools/storage/test_list_directories.py +132 -0
- linux_mcp_server-1.3.0/tests/tools/storage/test_list_files.py +112 -0
- linux_mcp_server-1.3.0/tests/tools/storage/test_path_validation.py +15 -0
- linux_mcp_server-1.3.0/tests/tools/storage/test_read_file.py +49 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/tools/test_logs.py +29 -55
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/tools/test_processes.py +0 -6
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/tools/test_services.py +8 -9
- linux_mcp_server-1.3.0/tests/tools/test_system_info.py +266 -0
- linux_mcp_server-1.3.0/tests/utils/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/utils/test_validation.py +7 -5
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/uv.lock +407 -395
- linux_mcp_server-1.2.0/src/linux_mcp_server/config.py +0 -45
- linux_mcp_server-1.2.0/tests/tools/test_storage.py +0 -494
- linux_mcp_server-1.2.0/tests/tools/test_system_info.py +0 -112
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.codecov.yml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.coderabbit.yaml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.devcontainer/Containerfile +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.devcontainer/devcontainer.json +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.github/workflows/functional-tests.yml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.gitignore +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.tekton/pull_request.yaml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.tekton/push.yaml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/.tekton/task-get-version.yaml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/AGENTS.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/LICENSE +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/Makefile +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/README.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/audit.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/commands.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/config.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/connection.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/formatters.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/index.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/parsers.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/server.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/logs.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/network.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/processes.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/services.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/storage.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/api/tools/system_info.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/architecture.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/cheatsheet.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/contributing.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/debugging.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/examples/claude_desktop_config.example.json +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/examples/example_config.sh +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/getting-started.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/index.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/docs/troubleshooting.md +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/licenses/GPL-3.0.txt +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/mkdocs.yml +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/renovate.json +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/scripts/verify_installation.sh +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/_vendor/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/audit.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/connection/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/connection/ssh.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/logging_config.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/tools/network.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/utils/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/utils/decorators.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/utils/enum.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/src/linux_mcp_server/utils/format.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/_vendor/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/_vendor/test_vendor.py +0 -0
- {linux_mcp_server-1.2.0/tests/connection → linux_mcp_server-1.3.0/tests/cli}/__init__.py +0 -0
- {linux_mcp_server-1.2.0/tests/connection/ssh → linux_mcp_server-1.3.0/tests/connection}/__init__.py +0 -0
- {linux_mcp_server-1.2.0/tests/parsers → linux_mcp_server-1.3.0/tests/connection/ssh}/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_connection_manager.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_discover_ssh_key.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_execute_command.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_get_bin_path.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_host_key_verification.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/connection/ssh/test_timeout.py +0 -0
- {linux_mcp_server-1.2.0/tests/tools → linux_mcp_server-1.3.0/tests/parsers}/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_cpu_info.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_free_output.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_ip_brief.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_listing.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_os_release.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_proc.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_ps_output.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_service_count.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_ss.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/parsers/test_parse_system_info.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test__main__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_audit.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_commands.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_logging_config.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/test_server.py +0 -0
- {linux_mcp_server-1.2.0/tests/utils → linux_mcp_server-1.3.0/tests/tools}/__init__.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/tools/test_network.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/utils/test_decorators.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/utils/test_enum.py +0 -0
- {linux_mcp_server-1.2.0 → linux_mcp_server-1.3.0}/tests/utils/test_format.py +0 -0
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
path: dist
|
|
43
43
|
if-no-files-found: error
|
|
44
44
|
|
|
45
|
-
publish:
|
|
45
|
+
publish-pypi:
|
|
46
46
|
name: Publish to PyPI
|
|
47
47
|
runs-on: ubuntu-latest
|
|
48
48
|
needs:
|
|
@@ -73,3 +73,22 @@ jobs:
|
|
|
73
73
|
|
|
74
74
|
- name: Publish to PyPI
|
|
75
75
|
uses: pypa/gh-action-pypi-publish@v1.13.0
|
|
76
|
+
|
|
77
|
+
publish-mcp:
|
|
78
|
+
name: Publish to MCP registry
|
|
79
|
+
runs-on: ubuntu-latest
|
|
80
|
+
needs:
|
|
81
|
+
- publish-pypi
|
|
82
|
+
|
|
83
|
+
environment:
|
|
84
|
+
name: mcp
|
|
85
|
+
|
|
86
|
+
permissions:
|
|
87
|
+
id-token: write
|
|
88
|
+
|
|
89
|
+
steps:
|
|
90
|
+
- name: Checkout
|
|
91
|
+
uses: actions/checkout@v6.0.2
|
|
92
|
+
|
|
93
|
+
- name: Publish to MCP Registry
|
|
94
|
+
run: ./scripts/publish_mcp_registry.py
|
|
@@ -44,12 +44,12 @@ jobs:
|
|
|
44
44
|
uses: actions/checkout@v6.0.2
|
|
45
45
|
|
|
46
46
|
- name: Install Python
|
|
47
|
-
uses: actions/setup-python@v6.
|
|
47
|
+
uses: actions/setup-python@v6.2.0
|
|
48
48
|
with:
|
|
49
49
|
python-version-file: pyproject.toml
|
|
50
50
|
|
|
51
51
|
- name: Install uv
|
|
52
|
-
uses: astral-sh/setup-uv@v7.2.
|
|
52
|
+
uses: astral-sh/setup-uv@v7.2.1
|
|
53
53
|
with:
|
|
54
54
|
enable-cache: true
|
|
55
55
|
prune-cache: false
|
|
@@ -89,12 +89,12 @@ jobs:
|
|
|
89
89
|
uses: actions/checkout@v6.0.2
|
|
90
90
|
|
|
91
91
|
- name: Install Python
|
|
92
|
-
uses: actions/setup-python@v6.
|
|
92
|
+
uses: actions/setup-python@v6.2.0
|
|
93
93
|
with:
|
|
94
94
|
python-version-file: pyproject.toml
|
|
95
95
|
|
|
96
96
|
- name: Install uv
|
|
97
|
-
uses: astral-sh/setup-uv@v7.2.
|
|
97
|
+
uses: astral-sh/setup-uv@v7.2.1
|
|
98
98
|
with:
|
|
99
99
|
enable-cache: true
|
|
100
100
|
prune-cache: false
|
|
@@ -47,12 +47,12 @@ jobs:
|
|
|
47
47
|
uses: actions/checkout@v6.0.2
|
|
48
48
|
|
|
49
49
|
- name: Install Python ${{ matrix.python-version }}
|
|
50
|
-
uses: actions/setup-python@v6.
|
|
50
|
+
uses: actions/setup-python@v6.2.0
|
|
51
51
|
with:
|
|
52
52
|
python-version: ${{ matrix.python-version }}
|
|
53
53
|
|
|
54
54
|
- name: Install uv
|
|
55
|
-
uses: astral-sh/setup-uv@v7.2.
|
|
55
|
+
uses: astral-sh/setup-uv@v7.2.1
|
|
56
56
|
with:
|
|
57
57
|
enable-cache: true
|
|
58
58
|
prune-cache: false
|
|
@@ -29,12 +29,12 @@ jobs:
|
|
|
29
29
|
uses: actions/checkout@v6.0.2
|
|
30
30
|
|
|
31
31
|
- name: Install Python
|
|
32
|
-
uses: actions/setup-python@v6.
|
|
32
|
+
uses: actions/setup-python@v6.2.0
|
|
33
33
|
with:
|
|
34
34
|
python-version-file: pyproject.toml
|
|
35
35
|
|
|
36
36
|
- name: Install uv
|
|
37
|
-
uses: astral-sh/setup-uv@v7.2.
|
|
37
|
+
uses: astral-sh/setup-uv@v7.2.1
|
|
38
38
|
with:
|
|
39
39
|
enable-cache: true
|
|
40
40
|
prune-cache: false
|
|
@@ -129,7 +129,7 @@ spec:
|
|
|
129
129
|
value: init
|
|
130
130
|
|
|
131
131
|
- name: bundle
|
|
132
|
-
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:
|
|
132
|
+
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:ebf06778aeacbbeb081f9231eafbdfdb8e380ad04e211d7ed80ae9101e37fd82
|
|
133
133
|
|
|
134
134
|
- name: kind
|
|
135
135
|
value: task
|
|
@@ -164,7 +164,7 @@ spec:
|
|
|
164
164
|
value: git-clone-oci-ta
|
|
165
165
|
|
|
166
166
|
- name: bundle
|
|
167
|
-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:
|
|
167
|
+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:306b69e6db435ad4a7cf258b6219d9b998eb37da44f5e9ac882ac86a08109154
|
|
168
168
|
|
|
169
169
|
- name: kind
|
|
170
170
|
value: task
|
|
@@ -203,7 +203,7 @@ spec:
|
|
|
203
203
|
value: prefetch-dependencies-oci-ta
|
|
204
204
|
|
|
205
205
|
- name: bundle
|
|
206
|
-
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.2@sha256:
|
|
206
|
+
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.2@sha256:c664a6df6514b59c3ce53570b0994b45af66ecc89ba2a8e41834eae0622addf6
|
|
207
207
|
|
|
208
208
|
- name: kind
|
|
209
209
|
value: task
|
|
@@ -291,7 +291,7 @@ spec:
|
|
|
291
291
|
value: buildah-remote-oci-ta
|
|
292
292
|
|
|
293
293
|
- name: bundle
|
|
294
|
-
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.
|
|
294
|
+
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.8@sha256:da99fce12bf72da86f6a86a5370d826c16ea8db001d27181dcaf087af9ab60cb
|
|
295
295
|
|
|
296
296
|
- name: kind
|
|
297
297
|
value: task
|
|
@@ -335,7 +335,7 @@ spec:
|
|
|
335
335
|
value: build-image-index
|
|
336
336
|
|
|
337
337
|
- name: bundle
|
|
338
|
-
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.2@sha256:
|
|
338
|
+
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.2@sha256:05d3d8a5ded44c51b074a56a408ddf5d65c56b4c15e110abb1a99e3aff269d49
|
|
339
339
|
|
|
340
340
|
- name: kind
|
|
341
341
|
value: task
|
|
@@ -364,7 +364,7 @@ spec:
|
|
|
364
364
|
value: deprecated-image-check
|
|
365
365
|
|
|
366
366
|
- name: bundle
|
|
367
|
-
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:
|
|
367
|
+
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:e3a55ccdf1091b4a35507f9ee2d1918d8e89a5f96babcb5486b491226da03d6f
|
|
368
368
|
|
|
369
369
|
- name: kind
|
|
370
370
|
value: task
|
|
@@ -393,7 +393,7 @@ spec:
|
|
|
393
393
|
value: clair-scan
|
|
394
394
|
|
|
395
395
|
- name: bundle
|
|
396
|
-
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:
|
|
396
|
+
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:dadfea7633d82e4303ba73d5e9c7e2bc16834bde0fd7688880453b26452067eb
|
|
397
397
|
|
|
398
398
|
- name: kind
|
|
399
399
|
value: task
|
|
@@ -418,7 +418,7 @@ spec:
|
|
|
418
418
|
value: ecosystem-cert-preflight-checks
|
|
419
419
|
|
|
420
420
|
- name: bundle
|
|
421
|
-
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:
|
|
421
|
+
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:0c3f9d4707bf742a5209f2e2186211433c83d5fcc538c728e4c7df178b5eafb7
|
|
422
422
|
|
|
423
423
|
- name: kind
|
|
424
424
|
value: task
|
|
@@ -455,7 +455,7 @@ spec:
|
|
|
455
455
|
value: sast-snyk-check-oci-ta
|
|
456
456
|
|
|
457
457
|
- name: bundle
|
|
458
|
-
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:
|
|
458
|
+
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:a70272ae12f6d7f0da2902158e1bcee756877aa8f71fd1a22ef9afd8b177fb41
|
|
459
459
|
|
|
460
460
|
- name: kind
|
|
461
461
|
value: task
|
|
@@ -484,7 +484,7 @@ spec:
|
|
|
484
484
|
value: clamav-scan
|
|
485
485
|
|
|
486
486
|
- name: bundle
|
|
487
|
-
value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:
|
|
487
|
+
value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:bcf08c20d35988bce353d36b915070a9ab7497e436e8c9d5db27ae9274e3c383
|
|
488
488
|
|
|
489
489
|
- name: kind
|
|
490
490
|
value: task
|
|
@@ -506,7 +506,7 @@ spec:
|
|
|
506
506
|
value: coverity-availability-check
|
|
507
507
|
|
|
508
508
|
- name: bundle
|
|
509
|
-
value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:
|
|
509
|
+
value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:267d5bc069a0323f41e24732ddfd1057e5c639e853d1e620c67505fab78f1301
|
|
510
510
|
|
|
511
511
|
- name: kind
|
|
512
512
|
value: task
|
|
@@ -570,7 +570,7 @@ spec:
|
|
|
570
570
|
value: sast-coverity-check-oci-ta
|
|
571
571
|
|
|
572
572
|
- name: bundle
|
|
573
|
-
value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:
|
|
573
|
+
value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:9d0bc704bca6b6faad37b2ce8106b96e0cef35e1f647d037a878bf416589de9d
|
|
574
574
|
|
|
575
575
|
- name: kind
|
|
576
576
|
value: task
|
|
@@ -610,7 +610,7 @@ spec:
|
|
|
610
610
|
value: sast-shell-check-oci-ta
|
|
611
611
|
|
|
612
612
|
- name: bundle
|
|
613
|
-
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:
|
|
613
|
+
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:e7a51575f9188a1461d4520da25aaa4efdd3b896c97dc750941fa22840e55c13
|
|
614
614
|
|
|
615
615
|
- name: kind
|
|
616
616
|
value: task
|
|
@@ -645,7 +645,7 @@ spec:
|
|
|
645
645
|
value: sast-unicode-check-oci-ta
|
|
646
646
|
|
|
647
647
|
- name: bundle
|
|
648
|
-
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.
|
|
648
|
+
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:1818a5b3e4fa86c838ae71226a157241967d1f19c5ed377e4b2fddad7a3ceefe
|
|
649
649
|
|
|
650
650
|
- name: kind
|
|
651
651
|
value: task
|
|
@@ -679,7 +679,7 @@ spec:
|
|
|
679
679
|
value: apply-tags
|
|
680
680
|
|
|
681
681
|
- name: bundle
|
|
682
|
-
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.
|
|
682
|
+
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:510b6d2a3b188adeb716e49566b57d611ab36bd69a2794b5ddfc11dbf014c2ca
|
|
683
683
|
|
|
684
684
|
- name: kind
|
|
685
685
|
value: task
|
|
@@ -734,7 +734,7 @@ spec:
|
|
|
734
734
|
value: rpms-signature-scan
|
|
735
735
|
|
|
736
736
|
- name: bundle
|
|
737
|
-
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:
|
|
737
|
+
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:2f3015ac7a642ea7f104d2194a8cb45921570f9539c6604ddcb5f62796f22a53
|
|
738
738
|
|
|
739
739
|
- name: kind
|
|
740
740
|
value: task
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: linux-mcp-server
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: MCP server for read-only Linux system administration, diagnostics, and troubleshooting
|
|
5
5
|
Project-URL: Source code, https://github.com/rhel-lightspeed/linux-mcp-server
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/rhel-lightspeed/linux-mcp-server/issues
|
|
@@ -26,11 +26,11 @@ Classifier: Topic :: System :: Systems Administration
|
|
|
26
26
|
Classifier: Topic :: Utilities
|
|
27
27
|
Requires-Python: >=3.10
|
|
28
28
|
Requires-Dist: asyncssh[bcrypt]>=2.22.0
|
|
29
|
-
Requires-Dist: fastmcp<3,>=2
|
|
29
|
+
Requires-Dist: fastmcp<3,>=2.14.4
|
|
30
30
|
Requires-Dist: pydantic-settings>=2.12.0
|
|
31
31
|
Requires-Dist: pydantic>=2.12.5
|
|
32
32
|
Provides-Extra: gssapi
|
|
33
|
-
Requires-Dist: gssapi>=1.
|
|
33
|
+
Requires-Dist: gssapi>=1.11.1; extra == 'gssapi'
|
|
34
34
|
Description-Content-Type: text/markdown
|
|
35
35
|
|
|
36
36
|
<!-- mcp-name: io.github.rhel-lightspeed/linux-mcp-server -->
|
|
@@ -43,7 +43,7 @@ Edit `~/.claude.json`:
|
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
=== "Container (
|
|
46
|
+
=== "Container (stdio transport)"
|
|
47
47
|
|
|
48
48
|
```json
|
|
49
49
|
{
|
|
@@ -104,23 +104,7 @@ The value for `command` will vary depending on how `linux-mcp-server` was instal
|
|
|
104
104
|
}
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
=== "
|
|
108
|
-
|
|
109
|
-
```json
|
|
110
|
-
{
|
|
111
|
-
"mcpServers": {
|
|
112
|
-
"linux-diagnostics": {
|
|
113
|
-
"command": "/home/YOUR_USER/.local/bin/linux-mcp-server",
|
|
114
|
-
"args": [],
|
|
115
|
-
"env": {
|
|
116
|
-
"LINUX_MCP_ALLOWED_LOG_PATHS": "/var/log/messages,/var/log/lastlog"
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
=== "Container (Podman)"
|
|
107
|
+
=== "Container (stdio transport)"
|
|
124
108
|
|
|
125
109
|
```json
|
|
126
110
|
{
|
|
@@ -180,7 +164,7 @@ Edit `~/.codex/config.toml`:
|
|
|
180
164
|
LINUX_MCP_USER = "your-ssh-username"
|
|
181
165
|
```
|
|
182
166
|
|
|
183
|
-
=== "Container (
|
|
167
|
+
=== "Container (stdio transport)"
|
|
184
168
|
|
|
185
169
|
```toml
|
|
186
170
|
[mcp_servers.linux-mcp-server]
|
|
@@ -230,7 +214,7 @@ Edit `~/.cursor/mcp.json`:
|
|
|
230
214
|
}
|
|
231
215
|
```
|
|
232
216
|
|
|
233
|
-
=== "Container (
|
|
217
|
+
=== "Container (stdio transport)"
|
|
234
218
|
|
|
235
219
|
```json
|
|
236
220
|
{
|
|
@@ -273,11 +257,9 @@ Edit `~/.gemini/settings.json`:
|
|
|
273
257
|
|
|
274
258
|
```json
|
|
275
259
|
{
|
|
276
|
-
// your other settings
|
|
277
|
-
,
|
|
278
260
|
"mcpServers": {
|
|
279
261
|
"linux-mcp-server": {
|
|
280
|
-
"command": "/home
|
|
262
|
+
"command": "/home/YOUR_USER/.local/bin/linux-mcp-server",
|
|
281
263
|
"args": [],
|
|
282
264
|
"env": {
|
|
283
265
|
"LINUX_MCP_USER": "your-ssh-username"
|
|
@@ -287,7 +269,10 @@ Edit `~/.gemini/settings.json`:
|
|
|
287
269
|
}
|
|
288
270
|
```
|
|
289
271
|
|
|
290
|
-
|
|
272
|
+
!!! note "Merging with Existing Settings"
|
|
273
|
+
If you have other settings in your `settings.json`, add the `mcpServers` object alongside them.
|
|
274
|
+
|
|
275
|
+
=== "Container (stdio transport)"
|
|
291
276
|
|
|
292
277
|
```json
|
|
293
278
|
{
|
|
@@ -372,7 +357,7 @@ If you prefer editing config files directly, add to `~/.config/goose/config.yaml
|
|
|
372
357
|
args: []
|
|
373
358
|
```
|
|
374
359
|
|
|
375
|
-
=== "Container (
|
|
360
|
+
=== "Container (stdio transport)"
|
|
376
361
|
|
|
377
362
|
```yaml
|
|
378
363
|
extensions:
|
|
@@ -407,6 +392,26 @@ If you prefer editing config files directly, add to `~/.config/goose/config.yaml
|
|
|
407
392
|
bundled: null
|
|
408
393
|
available_tools: []
|
|
409
394
|
```
|
|
395
|
+
=== "HTTP transport"
|
|
396
|
+
|
|
397
|
+
!!! note Start the thing
|
|
398
|
+
`linux-mcp-server` must be started separately when using HTTP transport.
|
|
399
|
+
|
|
400
|
+
```yaml
|
|
401
|
+
extensions:
|
|
402
|
+
linux-tools-http:
|
|
403
|
+
enabled: true
|
|
404
|
+
type: streamable_http
|
|
405
|
+
name: linux-tools-http
|
|
406
|
+
description: Linux Tools HTTP
|
|
407
|
+
uri: http://localhost:8000/mcp
|
|
408
|
+
envs: {}
|
|
409
|
+
env_keys: []
|
|
410
|
+
headers: {}
|
|
411
|
+
timeout: 30
|
|
412
|
+
bundled: null
|
|
413
|
+
available_tools: []
|
|
414
|
+
```
|
|
410
415
|
|
|
411
416
|
!!! warning "Replace Paths"
|
|
412
417
|
Replace `YOUR_USER` with your actual username and adjust paths as needed.
|
|
@@ -439,7 +444,7 @@ Edit `~/.config/opencode/opencode.json`:
|
|
|
439
444
|
}
|
|
440
445
|
```
|
|
441
446
|
|
|
442
|
-
=== "Container (
|
|
447
|
+
=== "Container (stdio transport)"
|
|
443
448
|
|
|
444
449
|
```json
|
|
445
450
|
{
|
|
@@ -483,41 +488,39 @@ Add to your VS Code `mcp.json`:
|
|
|
483
488
|
=== "pip/uv (Recommended)"
|
|
484
489
|
|
|
485
490
|
```json
|
|
486
|
-
{
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
491
|
+
{
|
|
492
|
+
"servers": {
|
|
493
|
+
"linux-mcp-server": {
|
|
494
|
+
"command": "/home/YOUR_USER/.local/bin/linux-mcp-server",
|
|
495
|
+
"args": [],
|
|
496
|
+
"env": {
|
|
497
|
+
"LINUX_MCP_USER": "your-ssh-username"
|
|
498
|
+
}
|
|
499
|
+
}
|
|
493
500
|
}
|
|
494
501
|
}
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
502
|
```
|
|
498
503
|
|
|
499
|
-
=== "Container (
|
|
504
|
+
=== "Container (stdio transport)"
|
|
500
505
|
|
|
501
506
|
```json
|
|
502
507
|
{
|
|
503
|
-
"
|
|
504
|
-
"
|
|
505
|
-
"
|
|
506
|
-
|
|
507
|
-
"
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
"
|
|
518
|
-
|
|
519
|
-
"LINUX_MCP_USER": "YOUR_USER"
|
|
520
|
-
}
|
|
508
|
+
"servers": {
|
|
509
|
+
"linux-mcp-server": {
|
|
510
|
+
"command": "podman",
|
|
511
|
+
"args": [
|
|
512
|
+
"run", "--rm", "--interactive",
|
|
513
|
+
"--userns", "keep-id:uid=1001,gid=0",
|
|
514
|
+
"-e", "LINUX_MCP_KEY_PASSPHRASE",
|
|
515
|
+
"-e", "LINUX_MCP_USER",
|
|
516
|
+
"-v", "/home/YOUR_USER/.ssh/id_ed25519:/var/lib/mcp/.ssh/id_ed25519:ro,Z",
|
|
517
|
+
"-v", "/home/YOUR_USER/.ssh/config:/var/lib/mcp/.ssh/config:ro,Z",
|
|
518
|
+
"-v", "/home/YOUR_USER/.local/share/linux-mcp-server/logs:/var/lib/mcp/.local/share/linux-mcp-server/logs:rw,Z",
|
|
519
|
+
"quay.io/redhat-services-prod/rhel-lightspeed-tenant/linux-mcp-server:latest"
|
|
520
|
+
],
|
|
521
|
+
"env": {
|
|
522
|
+
"LINUX_MCP_KEY_PASSPHRASE": "<secret>",
|
|
523
|
+
"LINUX_MCP_USER": "YOUR_USER"
|
|
521
524
|
}
|
|
522
525
|
}
|
|
523
526
|
}
|
|
@@ -556,7 +559,7 @@ Edit `~/.codeium/windsurf/mcp_config.json`:
|
|
|
556
559
|
}
|
|
557
560
|
```
|
|
558
561
|
|
|
559
|
-
=== "Container (
|
|
562
|
+
=== "Container (stdio transport)"
|
|
560
563
|
|
|
561
564
|
```json
|
|
562
565
|
{
|
|
@@ -591,6 +594,18 @@ Edit `~/.codeium/windsurf/mcp_config.json`:
|
|
|
591
594
|
|
|
592
595
|
Configure these environment variables in the `env` section of your client configuration.
|
|
593
596
|
|
|
597
|
+
### Transport Settings
|
|
598
|
+
|
|
599
|
+
| Variable | Default | Description |
|
|
600
|
+
|----------|---------|-------------|
|
|
601
|
+
| `LINUX_MCP_TRANSPORT` | `stdio` | Transport type: `stdio`, `http`, or `streamable-http` |
|
|
602
|
+
| `LINUX_MCP_HOST` | `127.0.0.1` | Host address for HTTP transport |
|
|
603
|
+
| `LINUX_MCP_PORT` | 8000 | Port number for HTTP transport |
|
|
604
|
+
| `LINUX_MCP_PATH` | /mcp | Path for HTTP transport |
|
|
605
|
+
|
|
606
|
+
!!! note "When to use HTTP transports"
|
|
607
|
+
Some clients, like Claude Desktop, require `stdio`.
|
|
608
|
+
|
|
594
609
|
### SSH Connection Settings
|
|
595
610
|
|
|
596
611
|
| Variable | Description | Example |
|
|
@@ -89,6 +89,24 @@ A container runtime such as [Podman](https://podman-desktop.io) is required.
|
|
|
89
89
|
quay.io/redhat-services-prod/rhel-lightspeed-tenant/linux-mcp-server:latest
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
+
See [client configuration](clients.md) for examples of how to run the container using stdio transport.
|
|
93
|
+
|
|
94
|
+
When using an HTTP transport, `http` or `streamable-http`, the container must be started before launching the LLM client.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
podman run --rm --interactive \
|
|
98
|
+
--userns "keep-id:uid=1001,gid=0"
|
|
99
|
+
--port 8000:8000 \
|
|
100
|
+
-e LINUX_MCP_KEY_PASSPHRASE # Only needed if the SSH key is protected by a passphrase
|
|
101
|
+
-e LINUX_MCP_TRANSPORT=streamable-http \
|
|
102
|
+
-e LINUX_MCP_HOST=0.0.0.0 \ # bind to all interfaces inside the container
|
|
103
|
+
-v /home/YOUR_USER/.ssh/id_ed25519:/var/lib/mcp/.ssh/id_ed25519:ro \
|
|
104
|
+
-v /home/YOUR_USER/.ssh/config:/var/lib/mcp/.ssh/config:ro,Z \
|
|
105
|
+
-v /home/YOUR_USER/.local/share/linux-mcp-server/logs:/var/lib/mcp/.local/share/linux-mcp-server/logs:rw \
|
|
106
|
+
quay.io/redhat-services-prod/rhel-lightspeed-tenant/linux-mcp-server:latest
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
|
|
92
110
|
#### Container Setup for SSH Keys
|
|
93
111
|
|
|
94
112
|
The container needs access to your SSH keys for remote connections. Set up the required directories and permissions:
|
|
@@ -132,6 +150,9 @@ sudo chown -R 1001:1001 ~/.local/share/linux-mcp-server/
|
|
|
132
150
|
- Ensure files are owned by UID 1001 on the host
|
|
133
151
|
- Create directories beforehand (Docker won't auto-create them)
|
|
134
152
|
|
|
153
|
+
|
|
154
|
+
Once the SSH keys are configured, configure your [LLM client](clients.md) to run the container image. It is not necessary to run the container manually since the LLM client will do that.
|
|
155
|
+
|
|
135
156
|
---
|
|
136
157
|
|
|
137
158
|
## SSH Configuration
|
|
@@ -16,16 +16,54 @@ pip install linux-mcp-server
|
|
|
16
16
|
|
|
17
17
|
### Running the Server
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
```bash
|
|
20
|
+
linux-mcp-server
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Command Line Options
|
|
24
|
+
|
|
25
|
+
To see available options, run `linux-mcp-server --help`.
|
|
26
|
+
|
|
27
|
+
Options may be set using environment variables or command line options. Environment variables require a `LINUX_MCP_` prefix. For example `LINUX_MCP_LOG_LEVEL` is the same as `--log-level`.
|
|
28
|
+
|
|
29
|
+
!!! note "Command Line vs Environment Variables"
|
|
30
|
+
Command line options take precedence over environment variables. For MCP client configurations (Claude Desktop, Cursor, etc.), you typically use environment variables in the config file rather than command line arguments but either will.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#### Available Options
|
|
34
|
+
|
|
35
|
+
| Option | Type | Default | Description |
|
|
36
|
+
|--------|------|---------|-------------|
|
|
37
|
+
| `-h, --help` | - | - | Show help message and exit |
|
|
38
|
+
| `--version` | - | - | Display version and exit |
|
|
39
|
+
| `--user` | string | (empty) | Default username for SSH connections |
|
|
40
|
+
| `--transport` | string | stdio | Transport type: `stdio`, `http`, or `streamable_http` |
|
|
41
|
+
| `--host` | string | `127.0.0.1` | Host address for HTTP transport |
|
|
42
|
+
| `--port` | integer | 8000 | Port number for HTTP transport |
|
|
43
|
+
| `--path` | string | /mcp | Path for HTTP transport |
|
|
44
|
+
| `--log-dir` | path | `~/.local/share/linux-mcp-server/logs` | Directory for server logs |
|
|
45
|
+
| `--log-level` | string | `INFO` | Log verbosity level |
|
|
46
|
+
| `--log-retention-days` | integer | 10 | Days to retain log files |
|
|
47
|
+
| `--allowed-log-paths` | string | null | Comma-separated list of allowed log file paths |
|
|
48
|
+
| `--ssh-key-path` | path | null | Path to SSH private key file |
|
|
49
|
+
| `--key-passphrase` | string | (empty) | Passphrase for encrypted SSH key |
|
|
50
|
+
| `--search-for-ssh-key` | bool | False | Auto-discover SSH keys in `~/.ssh` |
|
|
51
|
+
| `--verify-host-keys` | bool | False | Verify remote host identity via known_hosts |
|
|
52
|
+
| `--known-hosts-path` | path | null | Path to known_hosts file |
|
|
53
|
+
| `--command-timeout` | integer | 30 | SSH command timeout in seconds |
|
|
54
|
+
|
|
55
|
+
#### Examples
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
**Specify SSH settings:**
|
|
59
|
+
```bash
|
|
60
|
+
linux-mcp-server --user admin --ssh-key-path ~/.ssh/id_rsa --verify-host-keys
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Configure log access:**
|
|
64
|
+
```bash
|
|
65
|
+
linux-mcp-server --allowed-log-paths "/var/log/messages,/var/log/secure,/var/log/audit/audit.log"
|
|
66
|
+
```
|
|
29
67
|
|
|
30
68
|
### Using with AI Agents
|
|
31
69
|
|
|
@@ -12,7 +12,7 @@ readme = "README.md"
|
|
|
12
12
|
requires-python = ">=3.10"
|
|
13
13
|
dependencies = [
|
|
14
14
|
"asyncssh[bcrypt] >= 2.22.0",
|
|
15
|
-
"fastmcp >=2, <3",
|
|
15
|
+
"fastmcp >=2.14.4, <3",
|
|
16
16
|
"pydantic-settings >= 2.12.0",
|
|
17
17
|
"pydantic >= 2.12.5",
|
|
18
18
|
]
|
|
@@ -38,7 +38,7 @@ classifiers = [
|
|
|
38
38
|
]
|
|
39
39
|
|
|
40
40
|
[project.optional-dependencies]
|
|
41
|
-
gssapi = ["gssapi >=
|
|
41
|
+
gssapi = ["gssapi >=1.11.1"]
|
|
42
42
|
|
|
43
43
|
[project.urls]
|
|
44
44
|
"Source code" = "https://github.com/rhel-lightspeed/linux-mcp-server"
|
|
@@ -72,7 +72,7 @@ test = [
|
|
|
72
72
|
docs = [
|
|
73
73
|
"mkdocs>=1.6.1",
|
|
74
74
|
"mkdocs-material>=9.7.1",
|
|
75
|
-
"mkdocstrings[python]>=1.0.
|
|
75
|
+
"mkdocstrings[python]>=1.0.2",
|
|
76
76
|
]
|
|
77
77
|
|
|
78
78
|
[tool.hatch.build.targets.wheel]
|
|
@@ -177,6 +177,8 @@ ignore = [
|
|
|
177
177
|
"E501", # Ignore line length (similar to flake8's max-line-length)
|
|
178
178
|
]
|
|
179
179
|
|
|
180
|
+
[tool.ruff.lint.per-file-ignores]
|
|
181
|
+
"scripts/*" = ["T201"]
|
|
180
182
|
|
|
181
183
|
[tool.ruff.lint.isort]
|
|
182
184
|
case-sensitive = false
|