Skip to content

Commit b1c750b

Browse files
authored
Rename, expand scope (#9)
1 parent 946c1ad commit b1c750b

25 files changed

+284
-212
lines changed

README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
1-
# Click MCP Server
1+
# PyCLI MCP
22

33
| | |
44
| --- | --- |
5-
| CI/CD | [![CI - Test](https://github.com/ofek/click-mcp-server/actions/workflows/test.yml/badge.svg)](https://github.com/ofek/click-mcp-server/actions/workflows/test.yml) [![CD - Build](https://github.com/ofek/click-mcp-server/actions/workflows/build.yml/badge.svg)](https://github.com/ofek/click-mcp-server/actions/workflows/build.yml) |
6-
| Docs | [![Docs](https://github.com/ofek/click-mcp-server/actions/workflows/docs.yml/badge.svg)](https://github.com/ofek/click-mcp-server/actions/workflows/docs.yml) |
7-
| Package | [![PyPI - Version](https://img.shields.io/pypi/v/click-mcp-server.svg?logo=pypi&label=PyPI&logoColor=gold)](https://pypi.org/project/click-mcp-server/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/click-mcp-server.svg?logo=python&label=Python&logoColor=gold)](https://pypi.org/project/click-mcp-server/) |
8-
| Meta | [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/ofek/click-mcp-server) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg)](https://spdx.org/licenses/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/ofek?logo=GitHub%20Sponsors&style=social)](https://github.com/sponsors/ofek) |
5+
| CI/CD | [![CI - Test](https://github.com/ofek/pycli-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/ofek/pycli-mcp/actions/workflows/test.yml) [![CD - Build](https://github.com/ofek/pycli-mcp/actions/workflows/build.yml/badge.svg)](https://github.com/ofek/pycli-mcp/actions/workflows/build.yml) |
6+
| Docs | [![Docs](https://github.com/ofek/pycli-mcp/actions/workflows/docs.yml/badge.svg)](https://github.com/ofek/pycli-mcp/actions/workflows/docs.yml) |
7+
| Package | [![PyPI - Version](https://img.shields.io/pypi/v/pycli-mcp.svg?logo=pypi&label=PyPI&logoColor=gold)](https://pypi.org/project/pycli-mcp/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pycli-mcp.svg?logo=python&label=Python&logoColor=gold)](https://pypi.org/project/pycli-mcp/) |
8+
| Meta | [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/ofek/pycli-mcp) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg)](https://spdx.org/licenses/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/ofek?logo=GitHub%20Sponsors&style=social)](https://github.com/sponsors/ofek) |
99

1010
-----
1111

12-
This provides an extensible [MCP](https://modelcontextprotocol.io) server that is compatible with any command line application that is based on [Click](https://github.com/pallets/click).
12+
This provides an extensible [MCP](https://modelcontextprotocol.io) server that is compatible with any Python command line application.
13+
14+
Supported frameworks:
15+
16+
- [Click](https://github.com/pallets/click)
1317

1418
## Installation
1519

1620
```console
17-
pip install click-mcp-server
21+
pip install pycli-mcp
1822
```
1923

2024
## Documentation
2125

22-
The [documentation](https://ofek.dev/click-mcp-server/) is made with [Material for MkDocs](https://github.com/squidfunk/mkdocs-material) and is hosted by [GitHub Pages](https://docs.github.com/en/pages).
26+
The [documentation](https://ofek.dev/pycli-mcp/) is made with [Material for MkDocs](https://github.com/squidfunk/mkdocs-material) and is hosted by [GitHub Pages](https://docs.github.com/en/pages).
2327

2428
## License
2529

26-
`click-mcp-server` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
30+
`pycli-mcp` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

docs/api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
-----
44

5-
::: click_mcp_server.server.ClickMCPServer
5+
::: pycli_mcp.server.CommandMCPServer
66

7-
::: click_mcp_server.server.ClickCommandQuery
7+
::: pycli_mcp.metadata.query.CommandQuery
88
options:
99
show_source: false

docs/cli.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
-----
44

55
::: mkdocs-click
6-
:module: click_mcp_server.cli
7-
:command: click_mcp_server
6+
:module: pycli_mcp.cli
7+
:command: pycli_mcp
88
:depth: 1
99
:style: table
1010
:remove_ascii_art: true

docs/index.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1-
# Click MCP Server
1+
# PyCLI MCP
22

33
| | |
44
| --- | --- |
5-
| CI/CD | [![CI - Test](https://github.com/ofek/click-mcp-server/actions/workflows/test.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/click-mcp-server/actions/workflows/test.yml) [![CD - Build](https://github.com/ofek/click-mcp-server/actions/workflows/build.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/click-mcp-server/actions/workflows/build.yml) |
6-
| Docs | [![CI - Docs](https://github.com/ofek/click-mcp-server/actions/workflows/docs.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/click-mcp-server/actions/workflows/docs.yml) |
7-
| Package | [![PyPI - Version](https://img.shields.io/pypi/v/click-mcp-server.svg?logo=pypi&label=PyPI&logoColor=gold){ loading=lazy .off-glb }](https://pypi.org/project/click-mcp-server/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/click-mcp-server.svg?logo=python&label=Python&logoColor=gold){ loading=lazy .off-glb }](https://pypi.org/project/click-mcp-server/) |
8-
| Meta | [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg){ loading=lazy .off-glb }](https://github.com/ofek/click-mcp-server) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json){ loading=lazy .off-glb }](https://github.com/astral-sh/ruff) [![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg){ loading=lazy .off-glb }](https://spdx.org/licenses/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/ofek?logo=GitHub%20Sponsors&style=social){ loading=lazy .off-glb }](https://github.com/sponsors/ofek) |
5+
| CI/CD | [![CI - Test](https://github.com/ofek/pycli-mcp/actions/workflows/test.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/pycli-mcp/actions/workflows/test.yml) [![CD - Build](https://github.com/ofek/pycli-mcp/actions/workflows/build.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/pycli-mcp/actions/workflows/build.yml) |
6+
| Docs | [![CI - Docs](https://github.com/ofek/pycli-mcp/actions/workflows/docs.yml/badge.svg){ loading=lazy .off-glb }](https://github.com/ofek/pycli-mcp/actions/workflows/docs.yml) |
7+
| Package | [![PyPI - Version](https://img.shields.io/pypi/v/pycli-mcp.svg?logo=pypi&label=PyPI&logoColor=gold){ loading=lazy .off-glb }](https://pypi.org/project/pycli-mcp/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pycli-mcp.svg?logo=python&label=Python&logoColor=gold){ loading=lazy .off-glb }](https://pypi.org/project/pycli-mcp/) |
8+
| Meta | [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg){ loading=lazy .off-glb }](https://github.com/ofek/pycli-mcp) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json){ loading=lazy .off-glb }](https://github.com/astral-sh/ruff) [![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg){ loading=lazy .off-glb }](https://spdx.org/licenses/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/ofek?logo=GitHub%20Sponsors&style=social){ loading=lazy .off-glb }](https://github.com/sponsors/ofek) |
99

1010
-----
1111

12-
This provides an extensible [MCP](https://modelcontextprotocol.io) server that is compatible with any command line application that is based on [Click](https://github.com/pallets/click).
12+
This provides an extensible [MCP](https://modelcontextprotocol.io) server that is compatible with any Python command line application.
13+
14+
Supported frameworks:
15+
16+
- [Click](https://github.com/pallets/click)
1317

1418
## Navigation
1519

docs/install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
-----
44

5-
`click-mcp-server` is available on PyPI and can be installed with a package manager like [pip](https://github.com/pypa/pip).
5+
`pycli-mcp` is available on PyPI and can be installed with a package manager like [pip](https://github.com/pypa/pip).
66

77
```
8-
pip install click-mcp-server
8+
pip install pycli-mcp
99
```
1010

1111
/// note

hatch.toml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
[envs.default]
22
installer = "uv"
33

4+
[envs.hatch-static-analysis]
5+
config-path = "ruff_defaults.toml"
6+
dependencies = ["ruff==0.9.9"]
7+
8+
[envs.hatch-test]
9+
extra-dependencies = [
10+
"click",
11+
]
12+
413
[envs.types]
514
extra-dependencies = [
615
"mypy",
716
"pytest",
817
]
918
[envs.types.scripts]
10-
check = "mypy --install-types --non-interactive {args:src/click_mcp_server tests}"
11-
12-
[envs.hatch-static-analysis]
13-
config-path = "ruff_defaults.toml"
14-
dependencies = ["ruff==0.9.9"]
19+
check = "mypy --install-types --non-interactive {args:src/pycli_mcp tests}"
1520

1621
[envs.docs]
1722
dependencies = [

mkdocs.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
site_name: Click MCP Server
2-
site_description: MCP server for any Click command line tool
1+
site_name: PyCLI MCP
2+
site_description: MCP server for any Python command line application
33
site_author: Ofek Lev
4-
site_url: https://ofek.dev/click-mcp-server/
5-
repo_name: ofek/click-mcp-server
6-
repo_url: https://github.com/ofek/click-mcp-server
4+
site_url: https://ofek.dev/pycli-mcp/
5+
repo_name: ofek/pycli-mcp
6+
repo_url: https://github.com/ofek/pycli-mcp
77
edit_uri: blob/main/docs
88
copyright: Copyright © Ofek Lev 2025-present
99

@@ -54,7 +54,7 @@ nav:
5454
- Changelog: changelog.md
5555

5656
watch:
57-
- src/click_mcp_server
57+
- src/pycli_mcp
5858

5959
hooks:
6060
- docs/.hooks/title_from_content.py
@@ -187,7 +187,7 @@ markdown_extensions:
187187
normalize_issue_symbols: true
188188
provider: github
189189
user: ofek
190-
repo: click-mcp-server
190+
repo: pycli-mcp
191191
- pymdownx.mark:
192192
- pymdownx.progressbar:
193193
- pymdownx.saneheaders:

pyproject.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ requires = ["hatchling", "hatch-vcs"]
33
build-backend = "hatchling.build"
44

55
[project]
6-
name = "click-mcp-server"
6+
name = "pycli-mcp"
77
dynamic = ["version"]
8-
description = "MCP server for any Click command line tool"
8+
description = "MCP server for any Python command line application"
99
readme = "README.md"
1010
requires-python = ">=3.10"
1111
license = "MIT"
@@ -35,29 +35,29 @@ dependencies = [
3535
]
3636

3737
[project.urls]
38-
Homepage = "https://ofek.dev/click-mcp-server/"
38+
Homepage = "https://ofek.dev/pycli-mcp/"
3939
Sponsor = "https://github.com/sponsors/ofek"
40-
Changelog = "https://ofek.dev/click-mcp-server/changelog/"
41-
Tracker = "https://github.com/ofek/click-mcp-server/issues"
42-
Source = "https://github.com/ofek/click-mcp-server"
40+
Changelog = "https://ofek.dev/pycli-mcp/changelog/"
41+
Tracker = "https://github.com/ofek/pycli-mcp/issues"
42+
Source = "https://github.com/ofek/pycli-mcp"
4343

4444
[project.scripts]
45-
click-mcp-server = "click_mcp_server.cli:main"
45+
pycli-mcp = "pycli_mcp.cli:main"
4646

4747
[tool.hatch.version]
4848
source = "vcs"
4949

5050
[tool.coverage.run]
51-
source_pkgs = ["click_mcp_server", "tests"]
51+
source_pkgs = ["pycli_mcp", "tests"]
5252
branch = true
5353
parallel = true
5454
omit = [
55-
"src/click_mcp_server/__about__.py",
55+
"src/pycli_mcp/__about__.py",
5656
]
5757

5858
[tool.coverage.paths]
59-
click_mcp_server = ["src/click_mcp_server", "*/click-mcp-server/src/click_mcp_server"]
60-
tests = ["tests", "*/click-mcp-server/tests"]
59+
pycli_mcp = ["src/pycli_mcp", "*/pycli-mcp/src/pycli_mcp"]
60+
tests = ["tests", "*/pycli-mcp/tests"]
6161

6262
[tool.coverage.report]
6363
show_missing = true

ruff.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ ignore = [
1212

1313
[lint.extend-per-file-ignores]
1414
"docs/.hooks/**/*" = ["INP001"]
15-
"src/click_mcp_server/cli.py" = ["T201", "T203"]
15+
"src/pycli_mcp/cli.py" = ["T201", "T203"]

ruff_defaults.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ select = [
673673
ban-relative-imports = "all"
674674

675675
[lint.isort]
676-
known-first-party = ["click_mcp_server"]
676+
known-first-party = ["pycli_mcp"]
677677

678678
[lint.flake8-pytest-style]
679679
fixture-parentheses = false

0 commit comments

Comments
 (0)