> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.taktoria.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.taktoria.com/_mcp/server.

# LaunchCal tools

> Every tool and skill on LaunchCal's MCP server: launches, review steps, artifacts, posts, insights, the process and analytics.

The LaunchCal server, `https://www.taktoria.com/mcp/<workspace>/launchcal` (each workspace has its own), has a tool for
everything a person can do in LaunchCal. Each one acts as the person who
connected the assistant, with exactly their rights in the app.

## Roles

What a connection may do follows the person's
[role in LaunchCal](/getting-started/authentication#app-roles):

* **An app admin** of LaunchCal (every workspace owner and admin is one) also
  changes the process: launch templates and their steps, functional teams and
  who is on them. These are the tools marked **Admin**.
* **A member** does everything else: adds and changes launches, decides steps,
  and writes artifacts, links, comments, updates and insights.
* **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](/ai-assistants/mcp-servers#scopes).

Adding an organizational team (`create_org_team`) is the workspace's, not
LaunchCal's: only a workspace admin may.

## Rules

* Anybody with a LaunchCal seat reads every launch. Anybody but a viewer adds
  and changes any launch, decides any step, and writes artifacts, links,
  comments, updates and insights, in their own name.
* A comment or an update is changed only by its author.
* The process (launch templates and their steps, functional teams and who is on
  them) is read by everybody and changed only by LaunchCal's app admins. The
  tools marked **Admin** refuse anybody else; **Workspace admin** marks the
  one only a workspace admin may use.
* Owners, stakeholders, reviewers and anybody else a launch names must be
  members of the workspace, or nothing is saved. They are named by id:
  `find_people` finds people by name or email address (with the functional
  teams each is on, and whether they hold a LaunchCal seat), and `find_teams`
  finds organizational and functional teams by name.
* A draft is held back: nobody hears of it, and it is never launched or marked
  `LAUNCHED`. Publish it first, then launch it.
* Quarters are the workspace's fiscal quarters, which may not start in January:
  `year: 2026, quarter: 1` can be April to June 2026. The lists take several
  periods, as the app's period picker does: `period: ["2026-Q4", "2027"]`, or
  `["upcoming"]` for this quarter and later (what the app's lists open on,
  with what has no date yet), or `["all"]`. Left out, every period.
* `list_launches` and `list_my_launches` go by planned launch date; with
  `launched: true` they list what launched instead, by when it launched, as
  the Launched page and the Overview's launched this quarter count it.

Write tools are listed only to a connection granted **Read and write**, and
never to a Viewer of LaunchCal. Results
are the REST API's objects (see the API reference), each with the `url` of its
page in the app. Lists are paged with `limit` and `cursor`, as the API's are.

## Launches

| Tool                       | Access | What it does                                                                                                  |
| -------------------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| `list_launches`            | read   | The workspace's launches, filtered by status, owner, team, template, health, draft, words or fiscal periods   |
| `list_my_launches`         | read   | My launches: owned, followed, or of the person's teams, in the fiscal periods asked for                       |
| `launch_overview`          | read   | The Overview's numbers: in flight, due this week, awaiting you, launched this quarter, coming up              |
| `get_launch`               | read   | One launch in full                                                                                            |
| `launch_activity`          | read   | What has happened to a launch, newest first                                                                   |
| `create_launch`            | write  | Add a launch, published (with a planned date) or as a draft                                                   |
| `update_launch`            | write  | Change a launch; `draft` publishes or holds it back                                                           |
| `publish_launch`           | write  | Publish a draft                                                                                               |
| `unpublish_launch`         | write  | Take a published launch back to being a draft, until it launches                                              |
| `add_launch_steps`         | write  | Copy its template's steps it lacks onto it, and create its artifacts                                          |
| `press_to_launch`          | write  | Launch it; refused while required steps are undecided unless `force: true`                                    |
| `delete_launch`            | write  | Delete a launch for good                                                                                      |
| `link_ticketing_project`   | write  | Have a launch follow its work in Linear, Jira, GitHub, Asana or ClickUp by its address; syncs it if connected |
| `unlink_ticketing_project` | write  | Stop a launch following its ticketing project                                                                 |
| `sync_ticketing_project`   | write  | Sync a launch from its ticketing project now: status, progress and new updates or comments                    |

## Steps and reviews

| Tool                  | Access | What it does                                                                     |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| `list_steps`          | read   | One launch's steps, in order                                                     |
| `get_step`            | read   | One step in full                                                                 |
| `list_reviews`        | read   | The review queue: the person's own, a team's, or everybody's                     |
| `add_step`            | write  | A step of the launch's own                                                       |
| `update_step`         | write  | Reviewer (`null` takes them off), dates, link, notes; a new status is a decision |
| `decide_step`         | write  | Approve, deny, grant an exception, or mark not applicable, with a reason         |
| `set_decision_reason` | write  | Change the reason on a decided step                                              |
| `nudge_reviewer`      | write  | Remind the step's reviewer, and say whether it went out or why not               |
| `delete_step`         | write  | Take a step off a launch                                                         |

## Artifacts, links, comments and insights

| Tool                     | Access | What it does                                                                                  |
| ------------------------ | ------ | --------------------------------------------------------------------------------------------- |
| `list_artifacts`         | read   | A launch's press release, dashboard and learnings                                             |
| `get_artifact`           | read   | One artifact's Markdown and link                                                              |
| `create_artifacts`       | write  | The artifacts a launch lacks, from their templates                                            |
| `save_artifact`          | write  | Write an artifact's Markdown or link                                                          |
| `list_docs_tools`        | read   | The docs tools artifacts export to (Notion, Confluence, Google Docs), and which are connected |
| `list_docs_destinations` | read   | Where an export can go in a docs tool, read with the person's own account                     |
| `export_artifact`        | write  | Export an artifact to a docs tool as the person's own page, or bring that page up to date     |
| `list_links`             | read   | The links beside a launch's artifacts                                                         |
| `add_link`               | write  | Add a link                                                                                    |
| `remove_link`            | write  | Remove a link                                                                                 |
| `list_posts`             | read   | Comments and updates, newest first                                                            |
| `add_post`               | write  | Comment, or post an update with its health                                                    |
| `edit_post`              | write  | Rewrite the person's own comment or update                                                    |
| `list_insights`          | read   | Insights across every launch, by sentiment or fiscal periods                                  |
| `list_launch_insights`   | read   | One launch's insights                                                                         |
| `add_insight`            | write  | Record what a launch taught, as the person                                                    |

## The process, the calendar and analytics

| Tool                          | Access                 | What it does                                                     |
| ----------------------------- | ---------------------- | ---------------------------------------------------------------- |
| `list_launch_templates`       | read                   | The launch templates, the default among them                     |
| `get_launch_template`         | read                   | One launch template                                              |
| `create_launch_template`      | write, Admin           | Add a template, empty or a copy                                  |
| `duplicate_launch_template`   | write, Admin           | Copy a template and its live steps                               |
| `update_launch_template`      | write, Admin           | Rename, reorder, make default, archive or restore                |
| `list_step_templates`         | read                   | The templates' steps, in order, with each one's default reviewer |
| `add_step_template`           | write, Admin           | Add a step to a template, with a default reviewer if wanted      |
| `update_step_template`        | write, Admin           | Change or archive a template step, or its default reviewer       |
| `archive_step_template`       | write, Admin           | Archive a template step                                          |
| `reorder_step_templates`      | write, Admin           | Put a template's steps in order                                  |
| `list_functional_teams`       | read                   | The functional teams and who is on them                          |
| `get_functional_team`         | read                   | One functional team                                              |
| `get_functional_team_members` | read                   | Who is on a functional team                                      |
| `create_functional_team`      | write, Admin           | Add a functional team                                            |
| `update_functional_team`      | write, Admin           | Change a functional team                                         |
| `delete_functional_team`      | write, Admin           | Delete a functional team                                         |
| `set_functional_team_members` | write, Admin           | Replace who is on a functional team                              |
| `create_org_team`             | write, Workspace admin | Add an organizational team                                       |
| `launch_holidays`             | read                   | Public holidays in the workspace's markets                       |
| `launch_analytics`            | read                   | Analytics for a fiscal year or quarter                           |

Every server also has `whoami`, `search`, `find_people` and `find_teams`; see
[MCP servers](/ai-assistants/mcp-servers). On this server `find_people` also
gives the functional teams each person is on, and `find_teams` the functional
teams whose name matches, beside the organizational ones.

## Skills

The server also offers skills: guides an assistant reads before multi-step
work, naming the tools above (see [MCP servers](/ai-assistants/mcp-servers)
for how they are served). A write skill is offered only to a connection that
may make changes.

| Skill                  | Access | What it is for                                                                                    |
| ---------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| `find-anything`        | read   | Finding something with a few words                                                                |
| `launch-readiness`     | read   | Whether a launch can go out: its required steps still open, and who each waits on                 |
| `launch-status-report` | read   | A fiscal quarter's launches: in flight, at risk, launched, coming up, and holidays to plan around |
| `plan-a-launch`        | write  | A new launch from the right template, with members only, held as a draft until confirmed          |
| `review-queue`         | write  | Working through the person's reviews: read, decide with a reason, nudge                           |
| `set-up-the-process`   | write  | Templates, their steps and functional teams, for LaunchCal's app admins                           |

`plan-a-launch` takes `name` and `plannedDate`, `review-queue` a team's slug as
`team`, `launch-readiness` the `launch`, and `launch-status-report` a `year` and
`quarter`, when used as prompts.

## Refusals

A refusal comes back as a tool error saying why: not found (or not the
person's to see), not allowed (an app admin's, or somebody else's post), a conflict
with how things stand (a draft, steps still undecided, a slug taken) or input
that is not valid (somebody outside the workspace, a missing name). Nothing is
saved when a call is refused.