Extend profile/config model for multi-service MCP boundaries #76

Closed
opened 2026-07-02 05:46:28 -05:00 by jcwalker3 · 0 comments
Owner

Curated 2026-07-02 to reflect review consensus (issue text only; not started).

Extend the existing Gitea execution-profile model
(docs/gitea-execution-profiles.md) into a generic per-service MCP
profile/config model for Jenkins and GlitchTip.

Must be clear

  • The shared profile/config model is a schema / library, not a shared
    credential pool
    .
  • Tokens remain service-local; profiles are per service.
  • allowed_operations are namespaced, e.g. gitea.issue.create,
    jenkins.build.read, glitchtip.event.read.
  • forbidden_operations, if present, override allowed_operations.
  • Orchestrators must not directly hold every service credential.

Acceptance criteria

  • Defines a per-service profile schema (Jenkins, GlitchTip) reusing the Gitea
    field model.
  • Missing profile or credentials fail closed.
  • token_source_name records the source name only, never the value; tokens
    are never printed or logged.
  • Environment overrides documented.
  • Audit identity/source included in mutating actions.
  • Existing Gitea profile behavior remains backward compatible.

Belongs in the common package (per #71). Parent: #75.

_Curated 2026-07-02 to reflect review consensus (issue text only; not started)._ Extend the existing Gitea execution-profile model (`docs/gitea-execution-profiles.md`) into a generic **per-service** MCP profile/config model for Jenkins and GlitchTip. ## Must be clear * The shared profile/config model is a **schema / library**, **not a shared credential pool**. * Tokens remain **service-local**; profiles are **per service**. * `allowed_operations` are **namespaced**, e.g. `gitea.issue.create`, `jenkins.build.read`, `glitchtip.event.read`. * `forbidden_operations`, if present, **override** `allowed_operations`. * Orchestrators **must not** directly hold every service credential. ## Acceptance criteria * Defines a per-service profile schema (Jenkins, GlitchTip) reusing the Gitea field model. * Missing profile or credentials **fail closed**. * `token_source_name` records the source **name only, never the value**; tokens are never printed or logged. * Environment overrides documented. * Audit identity/source included in mutating actions. * Existing Gitea profile behavior remains backward compatible. Belongs in the `common` package (per #71). Parent: #75.
jcwalker3 added the mcpsecurityarchitecture labels 2026-07-02 05:46:51 -05:00
sysadmin added the status:in-progress label 2026-07-02 14:22:17 -05:00
jcwalker3 removed the status:in-progress label 2026-07-02 14:44:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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