MCP server
Splitkick has a built-in Model Context Protocol server. With it, an agent can do almost everything that you do in the app: find and read sessions, create worktrees, start sessions and send them work, work in a graph, commit, push, open and merge a pull request, run a review. The server has 62 tools. That makes Splitkick a place where agents work together, not only side by side; see Cross-session workflows.
What is new
- 1.5.3:
add_artifactputs a file or link that the agent made into the Artifacts tab of a session. See Artifacts. - 1.5.1:
list_instancesandremote_toollet an agent use your other Splitkick instances, for example to start a session on another Mac and read its answer. See Work on your other Splitkick instances. Also:create_sessiontakes over the empty "Session 1" of a worktree,get_current_contextreturns the graph links of the session,get_usagereturns every Claude account,list_projectsshows the project kind, and the git tools give an error for a plain project. - 1.4: Graph tools (1.4.1 added
list_requests,list_changesandcreate_graph): agents read graphs, create and change nodes, send you requests and link sessions to nodes. See Graphs below and Graphs and agents. - 1.2:
move_sessionmoves a session to a worktree in another project too. Claude continues its own conversation there; other agents get the history replayed with the next message. A session with queued messages is refused; a running session moves when its turn ends. See Move and transfer sessions. - 1.1:
add_follow_upputs a note on your follow-up list.list_all_sessions,search_sessionsandget_current_contextreturn asplitkick://link for each session, which opens on click in a chat. A session that an agent starts shows "Started by '…'" at the top. A mode given withsend_chat_messagebecomes the session's mode.
Set-up
The server is on by default for every agent in Splitkick, and Splitkick repairs the configuration on start. Turn it off or on in Settings → MCP Servers → Enable Splitkick MCP. In the same place you add third-party MCP servers for your sessions, with overrides per project.

Limits
Two settings in Settings → MCP Servers keep agents from running away. They apply to the tools that create, change or start something; tools that only read have no limit.
- Max recursion depth (default 3, up to 10). A session that you start is level 0; a session that an agent starts is one level deeper than the session that started it. In a session deeper than the limit, these tools fail with an error.
- Spawn rate limit (per minute) (default 20). How often one caller can use each of these tools in a minute.
Archive and delete cannot be undone from the MCP server. The server tells agents to ask you before they archive or delete anything.
Tools
Orientation
| Tool | What it does |
|---|---|
get_current_context | The calling session, worktree and project, with splitkick:// links. Also the graph links of the session (serves, with graph and node titles), its agentId and its graphPermission (read, write or manage) |
get_project_context | Project settings, linked projects, default branch and agent, worktree counts |
get_usage | Plan usage for Claude, Codex and Grok, as in Settings → Usage. claude_accounts lists every Claude account you set up, with its label and usage |
Projects
| Tool | What it does |
|---|---|
list_projects | All projects, with their kind: git, plain (a folder without git) or folder (a group in the sidebar) |
add_project | Add a git repository on disk as a project, or any folder as a plain project with plain: true |
clone_project | Clone a repository and add it |
init_project | Make a new git repository and add it |
Worktrees
| Tool | What it does |
|---|---|
list_worktrees, get_worktree | The worktrees of a project, or one worktree |
create_worktree | A new worktree, also for a GitHub issue or PR or a Linear issue |
create_worktree_from_existing_branch | A worktree for a branch that exists |
import_worktree | Add a git worktree that is already on disk |
rename_worktree, update_worktree_labels | Name and labels |
get_worktree_changes, get_worktree_diff | Changed files and the diff, kept short |
archive_worktree, unarchive_worktree, list_archived_worktrees | Archive and restore |
delete_worktree, permanently_delete_worktree | Delete for good, with the branch |
Sessions
| Tool | What it does |
|---|---|
list_all_sessions | Every session in every project, with status, labels, pins and stars, linked issue or PR, and a link |
search_sessions | Find a session by topic, in names and messages |
list_sessions | The sessions of one worktree |
read_session_messages | The latest messages of a session; only prompts, without tool calls, or cut to a length |
get_session_status | Idle, running, error, … and the latest run |
create_session | A new session in a worktree, with the agent of your choice. Optional serves (graph links) and agentId (a saved agent; needs the manage permission). Takes over the empty "Session 1" of the worktree, see below |
send_chat_message | Send a message; does not wait for the answer. Optional model (this turn only) and mode |
cancel_session_run | Stop the running turn |
set_session_model | Model and agent for the next turns |
set_session_status | Set a manual status: idle, review, paused, completed or cancelled |
add_follow_up | A note on the session's follow-up list; never sent on its own |
move_session | Move a session to another worktree, also in another project |
archive_session, unarchive_session | Archive and restore |
create_session does not leave an unused "Session 1" next to the new session. When the worktree's "Session 1" is its only session that is not archived, was never used, has nothing waiting and was not taken by an earlier create_session, the tool takes it over and returns its id. Otherwise it adds a new session. Worktrees that you create in the app keep their "Session 1".
Git and pull requests
| Tool | What it does |
|---|---|
create_commit | Stage and commit with a generated message, push if asked |
push_worktree | Push the branch |
detect_open_pr | The open pull request of the branch, if there is one |
create_pull_request | Open a pull request with a generated title and text |
merge_pull_request | Merge it with the method the repository allows |
run_review | Splitkick's AI review of the branch, with findings |
The git tools give an error for a plain project (a project without git).
Issues and alerts
| Tool | What it does |
|---|---|
list_github_issues, list_github_prs | GitHub issues and pull requests of a project |
list_security_issues, list_security_advisories | Dependabot alerts and security advisories |
list_linear_issues | Linear issues of a project |
Run and show
| Tool | What it does |
|---|---|
get_run_environments, start_run_environment | The dev servers Splitkick runs for a worktree (from splitkick.json) |
open_in_browser | Show a page or file (HTML report, image, PDF) in the worktree's browser pane |
add_artifact | Put a file or URL that the agent made (report, screenshot, HTML page, preview URL) into the Artifacts tab of a session. Again with the same target after a change, it adds a new version. See Artifacts |
Graphs
Each graph tool needs a graph permission: read, write or manage. Every change needs a reason (why). See Graphs and agents.
| Tool | Needs | What it does |
|---|---|---|
list_graphs | read | All graphs: id, title, type, file, node count, open requests |
read_graph | read | One graph: its nodes with blocked, progress and active, the sessions on each node, and the open requests |
list_requests | read | The requests of a graph, newest first, with your answer once you gave it |
list_changes | read | The change log of a graph, newest first: who changed what and why, and which changes you reverted. It marks nothing as seen |
create_node | write | Add a node. A state other than proposed needs manage |
update_node | write | Change the title, description, properties, relations or attachments of a node |
set_node_state | write or manage | Set the state. proposed needs write; committed, done and dropped need manage |
send_request | write | Ask you about a node: accept it as done, or pick an option in a decision |
set_serves | read or manage | Change which nodes a session is linked to: replace the list, or add and remove. The own session needs no permission. Another session needs manage and a reason; you see the change in Review and can revert it |
create_graph | manage | Create a graph file at a path, or inside a project's repo (default .splitkick/graphs/<slug>.yml) |
Other Splitkick instances
| Tool | What it does |
|---|---|
list_instances | The instances you connected: name, id, URL, reachable, version |
remote_tool | Run one of the tools above on one of those instances; the result names the instance |
Both instances need 1.5.1. Ids and links in a result belong to that instance. Graph changes are refused there, and the other instance cannot send the call on. Details and an example: Work on your other Splitkick instances.
Browser for agents
Splitkick can also give your agents a web browser, as a second MCP server in every CLI you installed. Choose the engine in Settings → MCP Servers → Browser for agents. See Browser for agents.