Tangled MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TANGLED_HANDLE | Yes | Your Tangled handle | |
| TANGLED_PDS_URL | No | Optional: only needed if using custom PDS (leave blank for auto-discovery) | |
| TANGLED_PASSWORD | Yes | Your Tangled app password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_repo_branchesB | list branches for a repository Args: repo: repository identifier in 'owner/repo' format (e.g., 'zzstoatzz/tangled-mcp') limit: maximum number of branches to return (1-100) Returns: list of branches |
| create_repo_issueA | create an issue on a repository Args: repo: repository identifier in 'owner/repo' format title: issue title body: optional issue body/description labels: optional list of label names to apply Returns: CreateIssueResult with url (clickable link) and issue_id |
| update_repo_issueA | update an existing issue on a repository Args: repo: repository identifier in 'owner/repo' format issue_id: issue number to update title: optional new title (if None, keeps existing) body: optional new body (if None, keeps existing) labels: optional list of label names to SET (replaces existing) Returns: UpdateIssueResult with url (clickable link) and issue_id |
| delete_repo_issueB | delete an issue from a repository Args: repo: repository identifier in 'owner/repo' format issue_id: issue number to delete Returns: DeleteIssueResult with issue_id of deleted issue |
| list_repo_issuesA | list issues for a repository Args: repo: repository identifier in 'owner/repo' format limit: maximum number of issues to return (1-100) Returns: ListIssuesResult with list of issues |
| list_repo_labelsA | list available labels for a repository Args: repo: repository identifier in 'owner/repo' format Returns: list of available label names for the repository |
| list_repo_pullsA | list pull requests created by the authenticated user for a repository note: only returns PRs that the authenticated user created (tangled stores PRs in the creator's repo, so we can only see our own PRs). Args: repo: repository identifier in 'owner/repo' format limit: maximum number of pulls to return (1-100) Returns: ListPullsResult with list of pull requests |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| tangled_status | check the status of the tangled connection |
TDQS
Scored across 7 tools
Each tool targets a distinct resource and action: issues (create, delete, update, list), branches (list), labels (list), and pull requests (list). No overlapping purposes.
All tools follow a consistent verb_repo_noun pattern (e.g., create_repo_issue, list_repo_branches), with snake_case throughout.
7 tools is well-scoped for a repository management server, covering core operations without being overwhelming or sparse.
Issues have full CRUD, but branches and labels only have list operations, and pull requests are limited to listing only the authenticated user's PRs. Notable gaps exist for create/update/delete on other resources.