The Tangled MCP Server integrates with the Tangled git collaboration platform (built on AT Protocol), enabling repository and issue management through MCP clients like Claude Code, Cursor, and Codex CLI.
Core Capabilities:
Repository Management: List branches for any repository with cursor-based pagination (1-100 items per request)
Issue Management: Create, update, delete, and list issues with support for titles, descriptions, and labels
Label Management: List available labels for repositories
Connection Status: Monitor authentication and platform accessibility via
tangled://statusresource
Key Features:
Flexible repository identification using
owner/repoformat with handles (with/without@prefix) or DIDsPagination support across all list operations
Authentication via Tangled handle and app password credentials
Cross-platform MCP client compatibility
Provides tools for interacting with git repositories through the Tangled platform, enabling repository and branch management, issue creation and listing capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tangled MCP Serverlist branches for zzstoatzz/tangled-mcp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tangled-mcp
MCP server for Tangled - a git collaboration platform built on AT Protocol.
note: this repository is mirrored to GitHub for deployment via FastMCP Cloud.
installation
git clone https://tangled.org/zzstoatzz/tangled-mcp
cd tangled-mcp
just setupconfiguration
create .env file:
TANGLED_HANDLE=your.handle
TANGLED_PASSWORD=your-app-password
# optional: only needed if using custom PDS (leave blank for auto-discovery)
TANGLED_PDS_URL=usage
claude code
# basic setup
claude mcp add tangled -- uvx tangled-mcp
# with credentials
claude mcp add tangled \
-e TANGLED_HANDLE=your.handle \
-e TANGLED_PASSWORD=your-app-password \
-- uvx tangled-mcpcursor
add to your cursor settings (~/.cursor/mcp.json or .cursor/mcp.json):
{
"mcpServers": {
"tangled": {
"command": "uvx",
"args": ["tangled-mcp"],
"env": {
"TANGLED_HANDLE": "your.handle",
"TANGLED_PASSWORD": "your-app-password"
}
}
}
}codex cli
codex mcp add tangled \
--env TANGLED_HANDLE=your.handle \
--env TANGLED_PASSWORD=your-app-password \
-- uvx tangled-mcpother clients
for clients that support MCP server configuration, use:
command:
uvxargs:
["tangled-mcp"]environment variables:
TANGLED_HANDLE,TANGLED_PASSWORD, and optionallyTANGLED_PDS_URL
development usage
uv run tangled-mcpresources
tangled://status- connection status (PDS auth + tangled accessibility)
tools
all tools accept repositories in owner/repo format (e.g., zzstoatzz/tangled-mcp). handles (with or without @ prefix) and DIDs are both supported for the owner.
repositories
list_repo_branches(repo, limit, cursor)- list branches for a repository
issues
create_repo_issue(repo, title, body, labels)- create an issue with optional labelsupdate_repo_issue(repo, issue_id, title, body, labels)- update an issue's title, body, and/or labelsdelete_repo_issue(repo, issue_id)- delete an issuelist_repo_issues(repo, limit)- list issues for a repositorylist_repo_labels(repo)- list available labels for a repository
pull requests
list_repo_pulls(repo, limit)- list PRs targeting a repository (only shows PRs you created)
development
just test # run tests
just check # run pre-commit checksmcp-name: io.github.zzstoatzz/tangled-mcp