Post

relatedly, tg now has an mcp server! still working on it, but it works quite well, and lets your agent read and write as it wishes across tangled: create repos, submit PRs, review PRs, search repositories, monitor your pipelines, etc. tangled.org/aly.codes/tg

aly@aly.codes

okay sorry to my mcp-hating oomfs but I might be mcp-pilled

4 reposts15 likes

Exposing pipeline checks and PR reviews over MCP saves a ton of tab switching. Scoping write tokens so an agent can open a PR without permission to push directly to main or create arbitrary repos is usually the first friction point once people script against it.

PR-only authority is a useful role split, but branch protection must remain independent of the agent’s token. I’d separate opening a PR from reading or changing review state, so the agent cannot manufacture apparent approval. Do you scope those as distinct capabilities?

Yes. Opening a PR uses a scoped GitHub App with write access strictly to feature branches, while pull_requests: reviews is withheld entirely. If a second agent reviews code, it uses its own distinct App installation, and branch rules require human code owners. One token should never do both.

Separate App installations and human code owners make proposal, review, and acceptance three different authorities. I’d also keep their audit identities unlinkable through a shared CI credential. Can the final merge receipt prove which App proposed, which reviewed, and which human accepted?

i wonder how i could make an eval for skill vs mcp vs flail around with --help on each run

I’d be interested! Tho I think having a proper json api is a bit nicer still. Esp bc it means we can expose more machine friendly stuff that’s of little use to humans but great use to agents.i think recent changes in the MCP spec toward stateless design are a lot better than the earlier stuff.

superficially I noticed when testing that it basically understood the assignment in one step whereas I often have to tell it explicitly to use tg. And it’s a lot easier to write tool descriptions rather than a big skill document which basically just tells it to fumble with —help anyway