Skip to content

feat(mcp): package gknowledge-mcp for PyPI and the MCP registry - #41

Merged
francescobianco merged 4 commits into
mainfrom
feat/22-mcp-registry
Oct 16, 2026
Merged

francescobianco merged 4 commits into
mainfrom
feat/22-mcp-registry

Conversation

@francescobianco

Copy link
Copy Markdown
Member

Refs #22. First half of the issue: everything needed to publish gknowledge-mcp on PyPI and in the official MCP registry. The community lists (awesome-mcp-servers, Glama) come after the package is live.

What's in it

  • build-aux/pypi/: a separate gknowledge-mcp distribution with only the headless core and the MCP server. No GTK, no dependencies, so uvx gknowledge-mcp works on any OS. It has its own PyPI README with <!-- mcp-name: io.github.openapi/gknowledge -->, so the main README stays as it is. Build with make pypi.
  • server.json (schema 2025-12-11, validated) for io.github.openapi/gknowledge, PyPI package, uvx runtime, stdio.
  • glama.json to claim the Glama listing for the org repo.
  • .github/workflows/mcp.yml: on v* tags or run by hand, it builds, publishes to PyPI through trusted publishing (skip-existing), syncs the server.json version with gknowledge/__init__.py, and publishes to the registry with GitHub OIDC.
  • gknowledge-mcp --init PROJECT creates the project if it doesn't exist yet, so the server is usable without the desktop app. Without --init, nothing changes. Tests and man page updated.

Tested

  • make test and pytest: 13 passed, including 2 new tests for --init.
  • twine check passes on wheel and sdist. The wheel contains only gknowledge/{__init__,mcp}.py, core/ and providers/.
  • In a clean venv without gi: initialize, tools/list, add_source and ask all work on a project created with --init.

One-time setup before the first run (maintainer)

  1. On pypi.org, under Publishing, add a pending trusted publisher: project gknowledge-mcp, owner openapi, repo gknowledge, workflow mcp.yml, environment pypi.
  2. Create the pypi environment in the repo settings (optionally limited to tags).
  3. Run Actions → MCP package → Run workflow on main.

🤖 Generated with Claude Code

francescobianco and others added 4 commits October 15, 2026 15:24
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- build-aux/pypi: a gknowledge-mcp distribution with the headless core
  and the MCP server only (no GTK), with its own PyPI README carrying
  the mcp-name marker; built by build-aux/pypi/build.sh or make pypi
- server.json for the official MCP registry (io.github.openapi/gknowledge)
  and glama.json to claim the Glama listing
- .github/workflows/mcp.yml publishes both on version tags or by hand,
  via PyPI trusted publishing and GitHub OIDC
- gknowledge-mcp --init creates the project folder, so the server works
  from uvx without the desktop app

Refs #22

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@francescobianco
francescobianco merged commit b159d37 into main Oct 16, 2026
4 checks passed
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.

1 participant