Skip to content

Actions

Everything someone can do with knotless, and where: the knotless command, the MCP tool, the XRPC method knotless-serve answers for it, and the web page. The three surfaces call the same code in the knotless crate, so an action does the same wherever it is done. ”–” marks where one is missing.

The XRPC column names the method the pages ask. The command line and the tools write most things straight into your own account on your PDS, as records, and need no method of knotless-serve’s for it: a write has one only once a page makes it. <repo> is a repository’s page, /<owner>/<name>.

ActionCLIMCPXRPCWeb
an account’s repositorieslslist_reposgetActorRepos, listReposprofile, Repositories tab; <repo> repository switcher
an account’s profile and activity––getProfile, getActorActivity, getFeedprofile, Overview and Activity tabs
what the network did––getFeedhome
find accounts by handleownerssearch_ownerssearchOwners/search
a repository’s summaryrefsrefsgetRepo<repo>
branches and tagsrefsrefslistBranches<repo> branch menu
a directorygitlist_treegetTree, getLastCommits<repo>/tree/…
a filegitread_filegetFile<repo>/blob/…, /raw/…
search a repository’s filessearchsearch––
historygitloglistCommits<repo>/commits/…
a commitgitlog, diffgetCommit<repo>/commit/<rev>
what one revision changed since anotherdiff <base> <head>diff––
pulls and issueslistlist_itemslistItems<repo>/pulls, <repo>/issues
a pull or issue and its commentsshowshow_itemgetThread<repo>/pull/…, <repo>/issue/…
the diff a pull would applydiff <at-uri>pull_diffgetThreadthe pull’s page
the template a pull or issue followstemplatetemplategetTemplatethe new pull and new issue pages
checks, their logs and picturescheckscheckslistRuns, getCheck, getCheckImage, listChecks<repo>/checks, <repo>/check/…
the merge queuequeuemerge_queuegetQueue<repo>/queue
runner minutesminutesminuteslistRunners<repo>/settings/actions
what a repository takes up on its PDSstoragestorage––
membersmembersmembers––
protected branchesruleslist_rules––
labelslabelslist_labels––
triagerstriagerstriagers––
runners and agentsrunners, agentsrunners, agents––
an account’s starsstarslist_starsgetActorStarsprofile, Stars tab
follows and followersfollows, followerslist_followsgetFollows, getFollowersprofile, Following and Followers tabs
notificationsnotificationsnotificationslistNotifications, getUnreadCount, updateSeen/notifications

“Its page” is the pull’s or issue’s, <repo>/pull/… or <repo>/issue/….

ActionCLIMCPXRPCWeb
open an issueissueopen_issuecreateIssue<repo>/issues/new
open a pullpullopen_pullcreatePull, getCompare<repo>/pulls/new
commentcommentcommentcreateCommentits page
review: approve or ask for changescomment --approve, --changescomment with verdictcreateComment with verdictthe pull’s page
edit a title, body or commenteditedit_itemeditItemits page
take back a comment or reviewdelete-commentdelete_commentdeleteCommentits page
close or reopenclose, reopenset_statesetItemStateits page
put labels on or offlabel, unlabellabel_itemlabelItemits page
hide or show, as ownerhide, unhidehide_itemhideItemits page
reportreportreportcreateReport (the pages’), com.atproto.moderation.createReportits page, Report dialog
ActionCLIMCPXRPCWeb
merge a pull nowmergemerge––
queue a pull, or take it outmerge --queue, queue --leavemerge with queue, leave_queue––
point a pull at other branchesretargetretarget_pull––
run a pull’s or a ref’s checks again, or one workflowrerunrerun––
run a workflow at a ref, with variablesrerun --ref --workflow -ererun with env––
name or drop a runnerrunners add, removerunnersinviteRunner, listRunnerInvites–
name or drop an agentagents add, removeagents––
ActionCLIMCPXRPCWeb
createcreatecreate_repocreateRepo/new
forkforkforkforkRepo<repo> Fork button
renamerenamerename_repo––
deletedelete --yesdelete_repo––
offer, withdraw, accept a transfertransfer, transfer --cancel, accepttransfer_repo, accept_transfer––
share, unshareshare, unshareshare, with revoke––
protect a branch, or stopprotect, unprotectprotect_branch, with remove––
create, delete, rename a branchbranch, --delete, --renamecreate_branch, delete_branch, rename_branch––
define or remove a labellabels add, removedefine_label, with remove––
name or drop a triagertriagers add, removetriagers––
score a triagertriagers evaleval_triager––
commit without a checkoutcommitcommitcreateCommit (through a gateway)–
pushgit–pushRefs (through a gateway)–
compactcompactcompact––
star, unstarstar, unstarstarstarRepo, unstarRepo<repo> Star button
ActionCLIMCPXRPCWeb
log in, log outlogin, logout–/oauth/login, /oauth/logoutthe header
switch accounts––/oauth/switchthe header
set a profileprofileset_profile––
claim an email address, or stopemail add, remove–––
follow, unfollowfollow, unfollowfollowfollowActor, unfollowActorprofile, Follow button
block, unblockblock, unblockblock_account––
delegate writes to a gatewaydelegatedelegateputDelegation, getDelegation–

For an account the appview’s KNOTLESS_ADMIN_DIDS names. The methods take its service token, or, from the site’s own pages, its session there; getViewer says admin for it.

ActionCLIMCPXRPCWeb
take down, or put backadmin takedown, --undotakedowncom.atproto.admin.updateSubjectStatus/admin
whether something is taken downadmin statusmoderation_statuscom.atproto.admin.getSubjectStatus/admin
the reports sentadmin reportslist_reportslistReports/admin
how the appview is usedadmin statsstatsgetUsage/admin

These belong where they are:

  • login and logout keep a session on the machine; the MCP tools run as that session, and the pages keep their own.
  • mirror prints a local cache’s path, and status says whether a knotless-serve is well, for whoever runs one.
  • git itself clones, fetches and pushes, through git-remote-knotless; list_tree, read_file and log are how a tool, with no checkout, reads what git reads locally.
  • help prints the commands.