Fix MCP registration and naming for Jenkins/GlitchTip servers (Issue #151) #226

Merged
sysadmin merged 1 commits from feat/issue-151-mcp-registration-naming into master 2026-07-06 00:20:15 -05:00
Owner

Summary

  • Add docs/mcp-client-registration.md documenting canonical external server names jenkins-mcp and glitchtip-mcp, client registration/reload expectations, expected tool visibility, and the negative enabled but no usable tools stop condition.
  • Update the Gitea project skill registry so Jenkins/GlitchTip are represented as external-mcp boundaries instead of local Gitea tools or pending-only designs.
  • Update README/runbook/architecture docs and add regression tests for naming, discovery, reload, and boundary rules.

Closes #151

Validation

  • pytest -q tests/test_operator_guide.py tests/test_external_mcp_registration_docs.py -> 30 passed in 0.29s
  • pytest -q -> 868 passed, 6 skipped in 7.74s (used temporary ignored venv/bin/python shim because existing health test requires that path in a clean worktree; shim removed after run)
  • python3 -m py_compile mcp_server.py gitea_mcp_server.py tests/test_operator_guide.py tests/test_external_mcp_registration_docs.py -> passed
  • git diff --check -> passed
  • secret sweep over the diff for Authorization/Bearer/Basic/token/password/secret/keychain/live URL/private path markers -> only benign conceptual/test assertion matches (token and keychain:); no credential values or live URLs added
  • ./scripts/clear-provenance --dry-run -> reported repo-root clear command
  • ./scripts/clear-provenance -> reported provenance removed recursively, but direct xattr -p com.apple.provenance still reports the attribute on changed files on this filesystem after removal attempts

Notes

This PR does not add Jenkins or GlitchTip runtime code to gitea-mcp; those remain separate MCP trust boundaries. No review or merge action was performed from the author profile.

## Summary - Add `docs/mcp-client-registration.md` documenting canonical external server names `jenkins-mcp` and `glitchtip-mcp`, client registration/reload expectations, expected tool visibility, and the negative `enabled but no usable tools` stop condition. - Update the Gitea project skill registry so Jenkins/GlitchTip are represented as `external-mcp` boundaries instead of local Gitea tools or pending-only designs. - Update README/runbook/architecture docs and add regression tests for naming, discovery, reload, and boundary rules. Closes #151 ## Validation - `pytest -q tests/test_operator_guide.py tests/test_external_mcp_registration_docs.py` -> 30 passed in 0.29s - `pytest -q` -> 868 passed, 6 skipped in 7.74s (used temporary ignored `venv/bin/python` shim because existing health test requires that path in a clean worktree; shim removed after run) - `python3 -m py_compile mcp_server.py gitea_mcp_server.py tests/test_operator_guide.py tests/test_external_mcp_registration_docs.py` -> passed - `git diff --check` -> passed - secret sweep over the diff for Authorization/Bearer/Basic/token/password/secret/keychain/live URL/private path markers -> only benign conceptual/test assertion matches (`token` and `keychain:`); no credential values or live URLs added - `./scripts/clear-provenance --dry-run` -> reported repo-root clear command - `./scripts/clear-provenance` -> reported provenance removed recursively, but direct `xattr -p com.apple.provenance` still reports the attribute on changed files on this filesystem after removal attempts ## Notes This PR does not add Jenkins or GlitchTip runtime code to `gitea-mcp`; those remain separate MCP trust boundaries. No review or merge action was performed from the author profile.
jcwalker3 added 1 commit 2026-07-06 00:09:40 -05:00
sysadmin reviewed 2026-07-06 00:16:23 -05:00
sysadmin left a comment
Owner

Review (sysadmin / prgs-reviewer)

Scope: Clean — docs/skill-registry only for #151. No runtime Jenkins/GlitchTip code added to gitea-mcp.

What looks good:

  • New docs/mcp-client-registration.md with canonical server names (jenkins-mcp, glitchtip-mcp), registration pattern, reload expectations, expected tool visibility lists, and fail-closed SKIPPED stop when enabled but no usable tools.
  • Skill registry updated from designed-not-implementedexternal-mcp with concrete discoverability steps and boundary notes.
  • README, runbooks, and architecture docs cross-link the registration doc.
  • Regression tests (test_external_mcp_registration_docs.py, test_operator_guide.py) cover naming, tool lists, reload/negative case, boundaries, and no-secret-material assertions.

Verification: Rebased onto current master locally; targeted suite passes (30 tests).

Note: Full-suite run on current master shows 8 pre-existing failures in test_credentials/TestIssueLocking unrelated to this PR's diff.

Approved.

## Review (sysadmin / prgs-reviewer) **Scope:** Clean — docs/skill-registry only for #151. No runtime Jenkins/GlitchTip code added to gitea-mcp. **What looks good:** - New `docs/mcp-client-registration.md` with canonical server names (`jenkins-mcp`, `glitchtip-mcp`), registration pattern, reload expectations, expected tool visibility lists, and fail-closed `SKIPPED` stop when enabled but no usable tools. - Skill registry updated from `designed-not-implemented` → `external-mcp` with concrete discoverability steps and boundary notes. - README, runbooks, and architecture docs cross-link the registration doc. - Regression tests (`test_external_mcp_registration_docs.py`, `test_operator_guide.py`) cover naming, tool lists, reload/negative case, boundaries, and no-secret-material assertions. **Verification:** Rebased onto current master locally; targeted suite passes (30 tests). **Note:** Full-suite run on current master shows 8 pre-existing failures in `test_credentials`/`TestIssueLocking` unrelated to this PR's diff. Approved.
sysadmin merged commit 8436276991 into master 2026-07-06 00:20:15 -05:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#226