stacklok / stacklok/mecatl

Use a connected external integration without exposing credentials to the agent

Open
#1,564 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
152
Forks
16
Avg merge
14h 48m
Merged PRs (30d)
536

Description

Outcome

A user can ask a named agent to perform an allowed operation through a connected external integration. The agent receives the result but never a provider credential, refresh token, authorization code, client secret, private key, or reusable signed authority artifact.

Proposed approach

  • Mecatl requests one registered, typed operation from a protected authority service.
  • The authority service verifies the caller workload, the user/owner, the named agent, the exact resolved target, and current policy.
  • It reads or refreshes a provider credential only after allowing that exact operation.
  • It invokes the provider and returns a sanitized result.
  • The first proof uses one concrete integration (for example, GitHub through ToolHive).
  • The existing remote mecabroker worktrack is candidate implementation material (see #1562). Direct remote access versus a local Unix-socket sidecar client remains an open packaging decision.

Not in this issue

Scheduled/unattended operation, broker high availability, generic HTTP proxying, unrestricted provider support, and returning provider tokens to Mecatl.

Dependencies

#478 where verifiable Mecatl agent identity is required, and a selected ToolHive release/capability set for the first integration.

Delivery issues

  • #1562 — Integrate the remote protected-operation broker on current main
  • #1563 — Enforce user, agent, and exact-target authority for the first ToolHive integration

Proof

  • A read-only agent can perform its allowed read but cannot obtain write authority.
  • An unapproved agent causes neither credential read nor provider call.
  • The protected authority service resolves one exact target before policy and credential lookup.
  • No provider credential or reusable authority artifact appears in a model prompt, tool result, event, diagnostic, log, metric, or trace.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading delivery issues #1562 and #1563, then review dependency #478 and the selected ToolHive capability set. Use the Proof section as the acceptance criteria: verify exact-target authorization, blocked unauthorized operations, and that credentials or reusable authority artifacts never appear in prompts, results, or telemetry.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go
Domain
authentication, authorization, backend-api-design, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.