Juscribe

io.github.juscribePublished by GitHub account juscribev0.2.9Updated Oct 29, 2026

Read and work your Juscribe board: tickets, subtasks, blockers, projects and iterations.

VerifiedSTDIODesktop onlyProductivity & Workflow

Overview

AI-generated overview

A local MCP server that lets an assistant read and work a Juscribe board: tickets, subtasks, blockers, projects and iterations.

What you can do
Read and work tickets on a Juscribe board, including subtasks and blockers. Browse projects and iterations to see how work is organized. The manifest lists no individual tools, so the exact set of actions is not documented here.
When to use it
Useful when your team tracks work on a Juscribe board and you want an assistant to look up or act on tickets, subtasks, blockers, projects and iterations without switching apps.
Requirements
Runs as a local process over stdio, installed from the npm package @juscribe/mcp, so Node.js is needed. Requires an agent token in the JUSCRIBE_API_TOKEN environment variable, created in Juscribe under Settings, Security, Agent Tokens. If your board is not hosted at the default address, set JUSCRIBE_BASE_URL to your board's address. Desktop only.
Before you install
The server needs a Juscribe agent token, passed as JUSCRIBE_API_TOKEN; treat it as a secret and give it only the access you intend. The description says the assistant can work the board, so expect it to change tickets and related items, not just read them. Point JUSCRIBE_BASE_URL only at a board you trust, since the token is sent there.

Installation

In SourceWeft

  1. Open Juscribe in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Tools

35

get_workspace_summary

Workspace summary

Get a condensed overview of the workspace board: panel counts, projects, velocity, users, and ticket summaries for the current and backlog panels unless others are named. Release, milestone and deadline markers are included, and counted. Use this to orient yourself before drilling into specific tickets.

Parameterspanelsworkspace_id

list_tickets

List tickets

List tickets in a workspace with optional filters — panel, state, type, project, assignee, label, iteration, what changed since a moment, when they were created, when they are due, or a search — 50 to a page, in board order or by due date. A panel comes with its release, milestone and deadline markers. The reply says when more pages exist, and when markers were left out.

Parametersqpagesortlabelpanelstatefieldsper_pagedue_afterdue_beforeproject_idassignee_id+9 more

get_ticket

Get a ticket

Get full details for a single ticket, including comments and attachments.

Parametersticket_idrequiredworkspace_idcomments_limitinclude_commentsinclude_attachments

create_ticket

Create a ticket

Create a new ticket in the workspace. Returns the created ticket, with notes when it matches another ticket. A new ticket goes to the bottom of the Backlog. When the person asks for the Icebox, it goes to the top of the Icebox. Place one anywhere else only when the person asks. In the description, Open with a sentence or two in plain words saying what happened or what is asked, before any detail. Write #123 only for a ticket number, and p45 for a project.

Parameterspaneltitlerequiredlabelspointsdue_dateinsert_atproject_iddescriptionticket_typeassignee_idsworkspace_idstakeholder_id

get_attachment

Read an attachment

Read a file attached to a ticket, from get_ticket's attachments: a photo comes back as an image, a PDF or a text, CSV, Markdown or JSON file as text. A long file is cut at 150,000 characters and says so; an archive or other kind is refused by name, with the ticket's link so the person can open it in the app.

Parametersticket_idrequiredworkspace_idattachment_idrequired

attach_file

Attach a file you wrote

Save something you wrote — a newsletter draft, a volunteer list, meeting notes — onto a ticket as a Markdown (.md), text (.txt) or CSV (.csv) file. Only those kinds: a photo or PDF shown to you in chat cannot be passed on as bytes, and for those the answer is the ticket's link so the person can add the file in the app.

Parameterscontentrequiredfilenamerequiredticket_idrequiredworkspace_id

attach_upload

Attach a file the person added

Attach a photo or PDF the person added to this chat onto a ticket. Pass the file itself as file. This works only where the chat app hands the file to the tool, as ChatGPT does; anywhere else, or for another kind of file, the answer is the ticket's link so the person can add it in the app. For something you wrote, use attach_file.

Parametersfileticket_idrequiredworkspace_id

create_tickets

Create several tickets

File a list of tasks in one call, such as the action items from meeting notes. Every item is checked as create_ticket checks one, and one bad item stops the whole batch before anything is written. Items go to the bottom of the Backlog in the order given; an item whose panel is icebox goes to the top of the Icebox, which the person has to ask for. Place one elsewhere afterwards with move_ticket. The reply says what happened to each item.

Parametersticketsrequiredworkspace_id

update_ticket

Update a ticket

Update an existing ticket's fields. Only provided fields are changed. Before changing a description, read the ticket with get_ticket first. Text a person wrote stays word for word, with anything you add below a --- line, and you edit your own earlier additions in place, so they are not stacked as dated updates. To only add below the text, use append_to_description.

Parametersstatetitlelabelspointsdue_dateticket_idrequiredproject_iddescriptionticket_typeassignee_idsworkspace_idstakeholder_id

append_to_description

Add to a ticket's description

Add text to the end of a ticket's description, after a blank line. Nothing already there is changed, including an edit someone made a moment ago, and the description is not resent. Use this to add notes, findings or a plan below what a person wrote.

Parameterstextrequiredticket_idrequiredworkspace_id

transition_ticket

Change a ticket's state

Move a ticket forward one step at a time: unprioritized → prioritized → started → finished → delivered. Give a ticket points with update_ticket before starting it. Finished is the last step you take on your own; deliver only when the person asks. Cancelled is reachable from any open state and needs a resolution. To move a ticket back to the Icebox or the Backlog, tell the person where it is going, then use update_ticket with state. Accepting or rejecting is a person's decision, made in the app, so this tool offers neither.

Parametersforcestaterequiredcommentticket_idrequiredresolutionworkspace_id

add_comment

Comment on a ticket

Add a comment to a ticket. Supports @mentions. Open with a sentence or two in plain words saying what happened or what is asked, before any detail. Write #123 only for a ticket number, and p45 for a project.

Parametersbodyrequiredticket_idrequiredworkspace_id

update_comment

Edit a comment

Replace the text of a comment on a ticket. Only a comment you wrote can be changed; anyone else's is refused. The comment id is in get_ticket.

Parametersbodyrequiredticket_idrequiredcomment_idrequiredworkspace_id

delete_comment

Delete a comment

Delete a comment from a ticket for good. Only a comment you wrote can be deleted; anyone else's is refused. The comment id is in get_ticket.

Parametersticket_idrequiredcomment_idrequiredworkspace_id

move_ticket

Move a ticket

Put a ticket directly above (before) or below (after) another ticket in the same panel. This is how the backlog is prioritised. Moving between panels is update_ticket or transition_ticket.

Parametersafterbeforeticket_idrequiredworkspace_id

get_current_iteration

Get the current iteration

The iteration in progress: its number, dates, committed and accepted points, and its tickets, 50 to a page. Use this rather than list_iterations, which returns every iteration the board has had.

Parameterspageworkspace_id

list_subtasks

List a ticket's subtasks

List a ticket's subtasks: its ordered steps, each with at most one owner. The ids here are what the other subtask tools take.

Parametersticket_idrequiredworkspace_id

add_subtask

Add a subtask

Add a step to the end of a ticket. Place it elsewhere with move_subtask. Steps someone performs are subtasks, one action or command each, not checkboxes in the description.

Parameterstitlerequiredticket_idrequiredassignee_iddescriptionworkspace_id

update_subtask

Update a subtask

Change a subtask. Set completed to the value you want: true ticks it and false reopens it, and calling either twice changes nothing. Only the fields passed change.

Parameterstitlecompletedticket_idrequiredsubtask_idrequiredassignee_iddescriptionworkspace_id

move_subtask

Move a subtask

Move a subtask to a place in its ticket's list, counting from 1. A place past the end moves it to the bottom.

Parametersplacerequiredticket_idrequiredsubtask_idrequiredworkspace_id

delete_subtask

Delete a subtask

Take a step off a ticket's checklist for good. To mark one done instead, use update_subtask with completed: true.

Parametersticket_idrequiredsubtask_idrequiredworkspace_id

list_blockers

List a ticket's blockers

List what blocks a ticket, or with direction "blocks", what it blocks. Resolved blockers are included with resolved_at set. The ids here are what resolve_blocker takes.

Parameterspagedirectionticket_idrequiredworkspace_id

add_blocker

Add a blocker

Record that a ticket waits on another ticket, a project, or an outside event (External). Add one blocker per condition that clears on its own, each with a short title. A blocker with a date says only its date condition, not the other blockers.

Parameterstitledue_ondue_kindticket_idrequiredblocker_iddescriptionblocker_typerequiredworkspace_id

resolve_blocker

Resolve a blocker

Mark a blocker resolved, which unblocks the ticket once none is left. Get its id from list_blockers.

Parametersworkspace_iddependency_idrequired

list_projects

List projects

List all projects in a workspace with their state and position.

Parametersworkspace_id

get_project

Get a project

One project in full: its description, where its plan lives, who asked for it and who owns it, and the counts of its tickets. Its tickets are list_tickets with project_id.

Parametersproject_idrequiredworkspace_id

create_project

Create a project

Start a project: a name, and the description where its plan lives. It lands at the end of the list; the person orders projects in the app.

Parametersnamerequiredcolordescriptionworkspace_idstakeholder_id

update_project

Update a project

Change a project's name, description, colour or stakeholder. Only the fields passed change. Moving, sealing or deleting a project is done in the app.

Parametersnamecolorproject_idrequireddescriptionworkspace_idstakeholder_id

list_iterations

List iterations

List iterations (sprints) for a workspace, with velocity and point data.

Parametersworkspace_id

list_workspaces

List workspaces

List the workspaces this connection can reach, with the ids the other tools take as workspace_id.

Takes no parameters.

create_workspace

Create a workspace

Create a workspace, a new board of its own. Use it only when the person asks for a new board. Juscribe allows it when the person this agent acts for is an owner of the organization and its plan has room for another; otherwise it refuses and nothing is made. Answers with the id the other tools take as workspace_id.

Parametersnamerequireddescription

list_people

List people

List the people and agents on the board, with the user ids that assignee_ids and stakeholder_id take. Mention someone by @username: names are not unique.

Parametersworkspace_id

list_labels

List labels

List the labels on the board, with the ids that label_ids takes.

Parametersworkspace_id

create_label

Create a label

Create a label the board does not have yet, such as "fundraising" when tagging asks for one that is missing. Use it only when the person asks: a board's labels are its own vocabulary, and a near-duplicate splits every later filter. A name the board already has, in any case, is refused with the existing label.

Parametersnamerequiredcolorworkspace_id

Version history

10
  1. v0.2.9LatestOct 26, 2026
  2. v0.2.8Oct 21, 2026
  3. v0.2.6Oct 4, 2026
  4. v0.2.5Oct 4, 2026
  5. v0.2.4Oct 3, 2026
  6. v0.2.3Oct 1, 2026
  7. v0.2.2Sep 29, 2026
  8. v0.2.1Sep 29, 2026
  9. v0.2.0Sep 26, 2026
  10. v0.1.0Sep 23, 2026

Score

65% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.