ARCLinearGitHub-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_ORG | Yes | GitHub organization name | |
| DEFAULT_REPO | Yes | Default GitHub repository name | |
| GITHUB_TOKEN | Yes | GitHub Personal Access Token | |
| GITHUB_API_URL | No | Custom GitHub API base URL | https://api.github.com |
| LINEAR_API_KEY | No | Linear API token (single-workspace mode) | |
| LINEAR_API_URL | No | Custom Linear API base URL | https://api.linear.app |
| DEFAULT_PROJECT | Yes | Default Linear project key | |
| REQUEST_TIMEOUT | No | HTTP request timeout in seconds | 30 |
| LINEAR_WORKSPACES | No | JSON object mapping workspace names to API tokens (multi-workspace mode) |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| linear_list_issuesA | List issues from a Linear project. Args: project: Project/team key (e.g., 'MYPROJECT'). Defaults to configured default_project. state: Optional state filter (e.g., 'In Progress', 'Todo', 'Done') limit: Maximum number of issues to return (default: 50) Returns: Dictionary with list of issues and count |
| linear_get_issueA | Get details of a specific Linear issue. Args: issue_id: Issue identifier (e.g., 'PROJ-123') Returns: Dictionary with issue details or error |
| linear_create_issueA | Create a new issue in Linear. Args: title: Issue title description: Optional issue description (supports Markdown) project: Project/team key. Defaults to configured default_project. priority: Priority level (1=Urgent, 2=High, 3=Normal, 4=Low) labels: Optional list of label names to apply Returns: Dictionary with created issue details or error |
| linear_update_issueA | Update an existing Linear issue. Args: issue_id: Issue identifier (e.g., 'PROJ-123') state: New state name (e.g., 'In Progress', 'Done') assignee: Assignee name or email title: New title priority: New priority (1=Urgent, 2=High, 3=Normal, 4=Low) Returns: Dictionary with updated issue details or error |
| linear_list_statesA | List available workflow states for a project. Args: project: Project/team key. Defaults to configured default_project. Returns: Dictionary with list of states |
| linear_list_labelsA | List available labels for a project. Args: project: Project/team key. Defaults to configured default_project. Returns: Dictionary with list of labels |
| linear_list_workspacesA | List all configured workspaces and their teams. Returns: Dictionary with workspace names and their associated teams |
| github_list_branchesA | List branches in a GitHub repository. Args: repo: Repository name (defaults to configured default repo) limit: Maximum number of branches to return Returns: Dictionary with list of branches |
| github_create_branchA | Create a branch following naming conventions. Args: branch_type: Type of branch (feature, bugfix, hotfix, docs, spike, release) description: Short description for the branch name issue_id: Optional Linear issue ID (e.g., 'PROJ-123') repo: Repository name (defaults to configured default repo) base_branch: Base branch to create from (defaults to repo default branch) Returns: Dictionary with created branch details or error Example branch names: - feature/PROJ-123-user-authentication - bugfix/PROJ-456-login-crash - docs/update-readme |
| github_list_prsA | List pull requests in a repository. Args: repo: Repository name (defaults to configured default repo) state: PR state filter ('open', 'closed', 'all') limit: Maximum number of PRs to return Returns: Dictionary with list of pull requests |
| github_create_prA | Create a pull request with proper naming. Args: branch: Head branch name title: PR title (will be formatted with issue_id if provided) body: PR description (optional) issue_id: Linear issue ID to link (e.g., 'PROJ-123') repo: Repository name (defaults to configured default repo) base_branch: Base branch (defaults to repo default branch) draft: Create as draft PR Returns: Dictionary with created PR details or error The PR title will be formatted as: '/: ' Example: 'Feature/PROJ-123: User Authentication' |
| github_get_prB | Get details of a specific pull request. Args: pr_number: Pull request number repo: Repository name (defaults to configured default repo) Returns: Dictionary with PR details or error |
| github_get_default_branchA | Get the default branch for a repository. Args: repo: Repository name (defaults to configured default repo) Returns: Dictionary with default branch name |
| workflow_start_featureA | Start a new feature workflow: create Linear issue and GitHub branch. This is a convenience tool that combines:
Args: title: Feature title (used for both issue and branch) description: Optional description for the Linear issue repo: GitHub repository name. Defaults to configured default_repo. project: Linear project/team key. Defaults to configured default_project. priority: Issue priority (1=Urgent, 2=High, 3=Normal, 4=Low) branch_type: Type of branch (default: 'feature') Returns: Dictionary with created issue and branch details |
| workflow_validate_branch_nameA | Validate a branch name against naming conventions. Args: branch_name: The branch name to validate Returns: Dictionary with validation result and details Valid branch format: /- Types: feature, bugfix, hotfix, docs, spike, release Examples: - feature/PROJ-123-user-authentication - bugfix/PROJ-456-login-crash - docs/update-readme |
| workflow_validate_commit_messageA | Validate a commit message against Conventional Commits format. Args: message: The commit message to validate Returns: Dictionary with validation result and details Valid commit format: (): Types: feat, fix, docs, style, refactor, perf, test, chore, build, ci, revert Examples: - feat(auth): add user authentication - fix(map): resolve annotation crash - docs(readme): update installation steps |
| workflow_generate_branch_nameA | Generate a valid branch name following naming conventions. Args: branch_type: Type of branch (feature, bugfix, hotfix, docs, spike, release) description: Short description for the branch issue_id: Optional Linear issue ID (e.g., 'PROJ-123') Returns: Dictionary with generated branch name Examples: - branch_type='feature', issue_id='PROJ-123', description='user authentication' -> 'feature/PROJ-123-user-authentication' - branch_type='docs', description='Update README' -> 'docs/update-readme' |
| workflow_generate_commit_messageB | Generate a valid commit message following Conventional Commits. Args: commit_type: Type of commit (feat, fix, docs, etc.) subject: The commit subject/description scope: Optional scope of the commit Returns: Dictionary with generated commit message Examples: - commit_type='feat', scope='auth', subject='Add user authentication' -> 'feat(auth): add user authentication' - commit_type='fix', subject='Resolve annotation crash' -> 'fix: resolve annotation crash' |
| workflow_get_conventionsA | Get naming conventions reference. Returns a reference of all naming conventions used by this MCP server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose: GitHub and Linear operations are separated by prefix, workflow utilities are unique (validation, generation, composite). No two tools have overlapping functionality that would cause confusion.
All tool names use consistent snake_case verb_noun pattern with clear prefixes (github_, linear_, workflow_). Conventions are uniform across the entire set, making it easy to predict tool names.
With 19 tools, the server is slightly heavy but still well-scoped for its integration purpose. Each tool serves a distinct need, so the count is justified.
The tool surface covers core GitHub and Linear operations (CRUD for issues, branches, PRs) plus workflow enforcements (validation, generation). Missing features like PR reviews are out of scope for this integration server.