Skip to content

GEN-4785: final PyPI release 1.0.0 — deprecation pointer to mcp.gen.pro - #23

Merged
mavxdegods merged 2 commits into
mainfrom
feat/gen-4785-final-deprecation-release
Jul 31, 2026
Merged

mavxdegods merged 2 commits into
mainfrom
feat/gen-4785-final-deprecation-release

Conversation

@mavxdegods

Copy link
Copy Markdown
Member

mav's decision: "we just have remote mcp" / "the official mcp should be just mcp.gen.pro" / "publish one last sdk for mcp that tells users it's deprecated." This is that one last release.

Why 1.0.0

Repo main is 0.9.1; PyPI last published 0.1.25. A final release should read as final in a version list — 1.0.0 sits unambiguously above every 0.x anyone has installed, and there is no future roadmap a major version could collide with.

What it does

  • Import (PyPI installs only): DeprecationWarning naming https://mcp.gen.pro. Provenance-gated via PEP 610 direct_url.json — git/editable installs (the hosted server itself, dev checkouts) stay quiet, so the deprecated artifact is exactly the thing that warns.
  • CLI stdio mode: plain stderr banner (DEPRECATED: …mcp.gen.pro…) that no warning filter can hide. --http (the official hosted surface) stays silent.
  • Still fully functional. No behavior removed — existing integrations get a migration window, not a breakage.
  • README + PyPI description both lead with the hosted config (bare host, /mcp legacy note) — that page is where stale-blog-post traffic lands.
  • Development Status :: 7 - Inactive classifier; fastmcp>=2.3.0,<4 cap so a future fastmcp major can never break fresh installs of a package that will never be patched again.
  • Tests: warn-on-index-install, quiet-on-git-install, stderr banner on stdio, no banner on --http (4/4 green; fresh-resolve fastmcp 3.4.5, 143 tools load, publish workflow's list_tools() load-check passes).

What it does NOT do

  • No publish. Publishing remains kill-switched in gen-api-sync and requires the deliberate MCP_PYPI_PUBLISH_OVERRIDE=sanctioned-deprecation-release dispatch. Hard blocker before dispatching: gen-api-sync redeploy_hosted_mcp() still runs pip install -U gen-mcp-server into /opt/gen-mcp-hosted/.venv nightly — publishing 1.0.0 before that reconcile is re-pointed would pull this release onto the hosted server and overwrite the git-SHA deploy.
  • No yanking of 0.1.x releases; publish.yml stays.

Note: overlaps #21 on __main__.py/README — whichever merges second rebases (content is already consistent: both teach bare-host).

🤖 Generated with Claude Code

@mavxdegods
mavxdegods force-pushed the feat/gen-4785-final-deprecation-release branch from d723138 to cfd498a Compare July 30, 2026 21:06
NEOxplus and others added 2 commits July 31, 2026 09:44
mav: no more downloadable MCP; the official GEN MCP is the hosted server.
This is the last version that will ever be published to PyPI.

- version 0.9.1 -> 1.0.0: a final release should read as final, and it
  caps the version list above the never-published 0.2-0.9 range
- import emits DeprecationWarning ONLY for package-index installs
  (PEP 610: no direct_url.json). git/editable installs — the hosted
  mcp.gen.pro deployment and dev checkouts — stay quiet
- stdio CLI prints a plain stderr notice (unfilterable); --http hosted
  mode is the official surface and prints nothing
- README leads with the hosted config (bare https://mcp.gen.pro per
  PR #21; /mcp keeps working); local install demoted to a legacy section
- pyproject description carries the pointer (that is the PyPI headline)
- fastmcp pinned >=2.3.0,<4: a frozen-forever package must not let a
  future fastmcp major break fresh installs (verified on 3.4.5: imports,
  143 tools, list_tools public; NB 2.14.x privatized list_tools)
- tests: warn-on-index-install, quiet-on-git-install, stderr banner on
  stdio, silence on --http — all fail against a pre-change tree

Package stays fully functional: existing integrations get a migration
window, not a breakage.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…run)

After #21 the --http path builds an ASGI app and calls uvicorn.run, so
patching mcp.run no longer intercepts it — the test would start a real
server. Stub sys.modules["uvicorn"] instead and assert the app+port.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mavxdegods
mavxdegods force-pushed the feat/gen-4785-final-deprecation-release branch from 93824a8 to c5a77ab Compare July 31, 2026 14:44
@mavxdegods
mavxdegods merged commit abb1607 into main Jul 31, 2026
2 checks passed
@mavxdegods
mavxdegods deleted the feat/gen-4785-final-deprecation-release branch July 31, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants