zzstoatzz/tangled-mcp
If you are the rightful owner of tangled-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Tangled-MCP is a server for the Tangled git collaboration platform, utilizing the AT Protocol for seamless integration and management of repositories.
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 setup
configuration
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
MCP client installation instructions
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-mcp
cursor
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-mcp
other clients
for clients that support MCP server configuration, use:
- command:
uvx - args:
["tangled-mcp"] - environment variables:
TANGLED_HANDLE,TANGLED_PASSWORD, and optionallyTANGLED_PDS_URL
development usage
uv run tangled-mcp
resources
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, cursor)- list issues for a repositorylist_repo_labels(repo)- list available labels for a repository
development
just test # run tests
just check # run pre-commit checks
mcp-name: io.github.zzstoatzz/tangled-mcp