Skip to content

Commit f637cf7

Browse files
refactor(mcp): promote mcp from optional extra to core dependency (#53)
Aligns attune-gui with the sibling-package pattern: attune-help and attune-author both treat `mcp>=0.9.0` as a core dep, not an optional extra. With Phase 1 just landed (#50) the asymmetry would have created ongoing friction — every "did you install [mcp]?" doc note, every CI config carrying a magic `[dev,mcp]` install line, every user surprised by ModuleNotFoundError on `attune-gui-mcp`. Changes: - pyproject.toml — move `mcp>=0.9.0` from [project.optional-dependencies].mcp into the main `dependencies` list. Drop the now-empty `mcp` extra. The `mcp` SDK is a small pure-Python package; adding it to the base install isn't a meaningful weight increase. - .github/workflows/tests.yml — install line shrinks from `[dev,mcp]` back to `[dev]`. No more leaky abstraction as future extras land. - sidecar/attune_gui/mcp/__init__.py — docstring updated; no more "install via the mcp extra" language. - CHANGELOG.md — Phase 1 Unreleased entry rewritten to drop the optional-extra prose. Compatibility note: PR #50 introduced the `[mcp]` extra hours ago. 0.7.1 (the latest PyPI release) doesn't have MCP at all, so no released user is currently relying on `pip install 'attune-gui[mcp]'`. Anyone who scripted that incantation in the meantime should drop the suffix. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 15302b2 commit f637cf7

4 files changed

Lines changed: 10 additions & 11 deletions

File tree

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ jobs:
2727
python-version: ${{ matrix.python-version }}
2828
cache: pip
2929

30-
- name: Install with dev + mcp extras
30+
- name: Install with dev extras
3131
run: |
3232
python -m pip install --upgrade pip
33-
python -m pip install -e ".[dev,mcp]"
33+
python -m pip install -e ".[dev]"
3434
3535
- name: Run ruff
3636
run: python -m ruff check sidecar/

CHANGELOG.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
2525
happy path plus validation errors.
2626
- **MCP server — Phase 1 scaffold.** New `attune-gui-mcp` console
2727
script boots a stdio MCP server (named `attune-gui`) with an
28-
empty tool registry. SDK lives behind a new `mcp` optional
29-
dependency (`pip install 'attune-gui[mcp]'`); importing
30-
`attune_gui` without the extra still works. Mirrors the
31-
`attune-help` / `attune-author` stdio pattern so one Claude
32-
Code config block covers the family. See
28+
empty tool registry. `mcp>=0.9.0` is a core dependency — matches
29+
the `attune-help` / `attune-author` packaging so one Claude Code
30+
config block covers the family with one consistent install
31+
command. See
3332
[docs/specs/mcp-server-scope/](docs/specs/mcp-server-scope/).
3433

3534
## [0.7.1] — 2026-05-22

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies = [
3535
"jinja2>=3.1,<4.0",
3636
"python-frontmatter>=1.1,<2.0",
3737
"markdown>=3.5,<4.0",
38+
"mcp>=0.9.0",
3839
]
3940

4041
[project.optional-dependencies]
@@ -47,7 +48,6 @@ dev = [
4748
"build>=1.0,<2.0",
4849
"twine>=5.0,<7.0",
4950
]
50-
mcp = ["mcp>=0.9.0"]
5151

5252
[project.scripts]
5353
attune-gui = "attune_gui.main:main"

sidecar/attune_gui/mcp/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
living-docs) to MCP clients like Claude Code. See
55
``docs/specs/mcp-server-scope/`` for the scope decisions.
66
7-
The ``mcp`` SDK is an *optional* dependency — install via the
8-
``mcp`` extra (``pip install 'attune-gui[mcp]'``). Importing this
9-
package without the SDK is fine; importing :mod:`.server` is not.
7+
The ``mcp`` SDK is a core dependency — installing ``attune-gui`` is
8+
enough to get the ``attune-gui-mcp`` console script, matching the
9+
``attune-help`` and ``attune-author`` packaging pattern.
1010
"""

0 commit comments

Comments
 (0)