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) |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arclabs-studio/ARCLinearGitHub-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server