GitHub issues
File, search, read and update GitHub issues from an AI agent, with the fine-grained personal access token held server-side and never handed to the model. This suite is a ladder that climbs on the credential rather than the feature: what the agent can do is set by how the token is scoped, and each rung is one pipe slot.
File: github-create-issue. Kept separate from the update rung on purpose. Creating is the one operation that duplicates on retry, so an agent whose receipt it could not read has to be able to stop rather than guess, and this rung asks only for owner and repo where the GraphQL rungs would demand an opaque repository node id.
Search and read: github-search-issues. One pipe covers both, because GitHub's search returns the summary fields inline, unlike Azure DevOps WIQL which hands back bare ids. Reading needs a token scoped Issues (Read).
Update: github-update-issues. Retitle, rewrite, close, reopen, relabel and reassign in batches, as aliased GraphQL mutations in one call. Updates only, never creates, so a fire whose receipt you could not read is safe to send again. Changing needs a token scoped Issues (Read and write).
Climbing this ladder STACKS pipes rather than swapping them, because each rung does something the others cannot: budget a slot per rung you install. Both read-side rungs run on the free plan.
Each rung repeats the whole suite's routing predicates in its own gotchas. That repetition is deliberate: if these share one capture endpoint, a binding that goes in unpredicated makes one fire trigger two pipes.
The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.
Install with your agent
npx flurryport mcp
Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the rung you need. Each member installs on its own, so you can climb the ladder one recipe at a time. Works from AI clients that can run a local process: desktop apps and terminal agents.
The rungs
Let your AI file GitHub issues with a fine-grained PAT it never touches.
File a new issue in one fixed repository. Kept separate from the update rung on purpose: creating is the one operation that duplicates on retry, and it asks only for owner and repo where the GraphQL rungs would demand an opaque repository node id.
Search GitHub issues and read whole threads back, without your AI ever holding the PAT.
Search with the summary fields already on the results, or read specific issues in full by node id. One pipe covers both because GitHub's search returns fields inline, unlike Azure DevOps WIQL.
Update, close and reopen GitHub issues in batches, with the PAT held server-side.
Retitle, rewrite, close, reopen, relabel and reassign in batches, as aliased GraphQL mutations in one call. Updates only, never creates, so a fire whose receipt you could not read is safe to send again.