Skip to content

Support Linear MCP access modes and authentication URLs - #13

Merged
tpetr merged 2 commits into
mainfrom
feat/linear-mcp-access-mode
Oct 14, 2026
Merged

tpetr merged 2 commits into
mainfrom
feat/linear-mcp-access-mode

Conversation

@tpetr

@tpetr tpetr commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Add an access_mode input to the Linear MCP module so callers can choose read-only or read-write tools. Preserve read-only as the module default for existing consumers. The launcher passes the selected mode to the adapter, which chooses only between Linear's fixed official /mcp/readonly and /mcp endpoints; arbitrary endpoints and redirects remain unsupported.

Read-write also requires a write-capable OAuth grant. The module does not alter OAuth configuration or token permissions. Restart MCP clients after changing mode. Optional authentication and per-request token refresh are unchanged.

Validation: twelve adapter tests and six Terraform mock-provider tests pass, including both endpoints, the backward-compatible default, and invalid mode rejection. Terraform formatting and validation pass. No live write operations were performed; the current account's read-only grant needs reauthorization before writes can be exercised.

When Coder reports an unlinked account, preserve the validated Coder linking-page URL and include it in tool error replies and one-time stderr guidance. Strip query parameters and never relay raw CLI output/errors. A missing credential context falls back to the CLI command that retrieves the authentication URL. Tests cover the actual exit-one CLI behavior over stdio.

@tpetr tpetr changed the title Support selectable Linear MCP access mode Support Linear MCP access modes and authentication URLs Oct 14, 2026
@tpetr
tpetr merged commit 5c3ccff into main Oct 14, 2026
5 checks passed
@tpetr
tpetr deleted the feat/linear-mcp-access-mode branch October 14, 2026 01:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants