Skip to navigation

Go Links tools

Go Links’ MCP server, https://www.taktoria.com/mcp/<workspace>/golinks (each workspace has its own), lets an assistant find, read, create and look after go links as the person who connected it. See MCP servers for connecting and authorization.

Roles

What a connection may do follows the person’s role in Go Links:

  • An app admin of Go Links (every workspace owner and admin is one) may change any link, whoever it names as editors.
  • A member creates links, and changes the ones that name no editors, name them, or that they created.
  • A viewer reads what a member would. Their connection lists and accepts only the read tools, whatever it was granted: a write tool called anyway is refused (viewer_only), and the consent page offers them only Read only. See MCP servers.

Everything is done with that person’s rights in Go Links:

  • Who may change a link. A link that names no editors can be changed by anybody with a Go Links seat. One that names editors can be changed by them, by the person who created it and by Go Links’ app admins. Anybody else gets a tool error. Editors (editorUserIds) must be members of the workspace: naming anybody else is an invalid_input error, and nothing is saved. find_people finds them by name or email address.
  • Drafts. A draft claims its short name without redirecting. Its destination (url) is null to anybody who may not edit it, and a search does not match it for them.
  • Who may follow a link on the workspace’s own Go Links hostname (access): DOMAIN (the default: members, and anybody who proves an email address at the link’s domains), WORKSPACE (members only) or PUBLIC. Domains are chosen from the workspace’s allow-list, its verified domains on the list and its partner domains; an empty list means the whole allow-list. A domain off the list is refused, and one a workspace admin removes stops counting at once. access.domains is null to anybody who may not edit the link. With access.requireGoogle, a DOMAIN link accepts only an address proved with Google, never an emailed code; it is ignored where Google sign-in is not set up. A field of access left out keeps its value.

Links are named two ways: an id, which the tools that change a link take, and a slug, the short name (roadmap is go/roadmap). get_link takes either.

Read tools

Listed to every connection with Go Links.

ToolWhat it does
whoamiThe person, their role, the workspace, and this connection’s access
find_peopleMembers by name or email address, with the user ids editorUserIds takes and whether each has a seat
find_teamsThe workspace’s teams by name, with who is on them
searchLinks whose short name, description or destination match some words
list_linksThe workspace’s links, most followed first, paged with cursor; filters q, draft, archived, mine
get_linkOne link by id or slug: destination, editors, audience, clicks, short URL
link_clicksOne link’s clicks per day, 1 to 365 days, and its all-time total
workspace_clicksClicks per day across every link in the workspace: the Analytics page’s chart
top_linksThe busiest links of the last days days, with their clicks then and of all time
link_short_urlThe address to share (on the workspace’s own hostname where it has one) and its QR code
link_audience_optionsThe allow-list a link’s audience chooses from, and whether Google sign-in can be or is already required

Write tools

Listed only to a connection granted golinks:write, and never to a Viewer of Go Links.

ToolWhat it doesAnnotations
create_linkMake a link, live or as a draft, with its description, editors and audience
update_linkRe-point, rename, change the description, editors or audience, publish or unpublish, archive or restoredestructive, idempotent
publish_linkPut a draft liveidempotent
set_link_archivedArchive a link (it keeps working, out of the list) or bring it backidempotent
delete_linkDelete a link for good: its short name stops workingdestructive, idempotent

Every link a tool returns carries its shortUrl and a consoleUrl that opens it in Go Links, both on the workspace’s Go Links hostname where it has one.

There is no tool that follows a link. Following one counts a click, and an assistant looking a link up is not somebody visiting it: get_link by slug says where a link goes, to whoever may see it, without counting anything.

Skills

Step-by-step guides an assistant reads before work that takes several tools (see Skills for how clients reach them). Write skills are offered only to a connection granted golinks:write.

SkillAccessWhat it is for
find-anythingreadSearching Go Links well with search
link-usage-reportreadThe trend in clicks over a period, the most followed links and the quiet ones; argument days
create-links-for-a-campaignwriteA set of links for a campaign: guessable names checked free, the audience, drafts until confirmed; argument campaign
tidy-up-linkswriteUnused links, duplicates and forgotten drafts from their clicks, archived (not deleted) once the person confirms

create-links-for-a-campaign comes with references/slug-guide.md, on what Go Links does to a short name and what makes a good one.

Refusals

A refusal is a tool error in plain English: a short name that is taken (naming who made the link), reserved or unusable; a destination that is not http or https; a domain off the allow-list; a link the person may not change; or a link that is not in the workspace, or not there at all.