Module: LinearToonMcp

Defined in:
lib/linear_toon_mcp.rb,
lib/linear_toon_mcp/tools.rb,
lib/linear_toon_mcp/client.rb,
lib/linear_toon_mcp/version.rb,
lib/linear_toon_mcp/resolvers.rb,
lib/linear_toon_mcp/tools/get.rb,
lib/linear_toon_mcp/tools/base.rb,
lib/linear_toon_mcp/tools/list.rb,
lib/linear_toon_mcp/tools/create.rb,
lib/linear_toon_mcp/tools/delete.rb,
lib/linear_toon_mcp/resolvers/base.rb,
lib/linear_toon_mcp/resolvers/team.rb,
lib/linear_toon_mcp/resolvers/user.rb,
lib/linear_toon_mcp/tools/get_team.rb,
lib/linear_toon_mcp/tools/get_user.rb,
lib/linear_toon_mcp/resolvers/cycle.rb,
lib/linear_toon_mcp/tools/get_issue.rb,
lib/linear_toon_mcp/tools/list_teams.rb,
lib/linear_toon_mcp/tools/list_users.rb,
lib/linear_toon_mcp/tools/save_issue.rb,
lib/linear_toon_mcp/resolvers/project.rb,
lib/linear_toon_mcp/tools/get_project.rb,
lib/linear_toon_mcp/tools/list_cycles.rb,
lib/linear_toon_mcp/tools/list_issues.rb,
lib/linear_toon_mcp/tools/save_comment.rb,
lib/linear_toon_mcp/tools/save_project.rb,
lib/linear_toon_mcp/tools/list_comments.rb,
lib/linear_toon_mcp/tools/list_projects.rb,
lib/linear_toon_mcp/resolvers/initiative.rb,
lib/linear_toon_mcp/tools/delete_comment.rb,
lib/linear_toon_mcp/tools/get_initiative.rb,
lib/linear_toon_mcp/resolvers/issue_label.rb,
lib/linear_toon_mcp/tools/archive_project.rb,
lib/linear_toon_mcp/tools/save_initiative.rb,
lib/linear_toon_mcp/tools/get_issue_status.rb,
lib/linear_toon_mcp/tools/list_initiatives.rb,
lib/linear_toon_mcp/tools/delete_initiative.rb,
lib/linear_toon_mcp/tools/get_status_update.rb,
lib/linear_toon_mcp/tools/list_issue_labels.rb,
lib/linear_toon_mcp/resolvers/project_status.rb,
lib/linear_toon_mcp/resolvers/workflow_state.rb,
lib/linear_toon_mcp/tools/create_issue_label.rb,
lib/linear_toon_mcp/tools/save_status_update.rb,
lib/linear_toon_mcp/tools/list_issue_statuses.rb,
lib/linear_toon_mcp/tools/list_status_updates.rb,
lib/linear_toon_mcp/tools/delete_status_update.rb,
lib/linear_toon_mcp/resolvers/project_milestone.rb,
lib/linear_toon_mcp/tools/add_project_to_initiative.rb,
lib/linear_toon_mcp/tools/remove_project_from_initiative.rb

Overview

Token-efficient MCP server for Linear. Wraps Linear’s GraphQL API and returns TOON-formatted responses for ~40-60% token savings.

Defined Under Namespace

Modules: Resolvers, Tools Classes: Client, Error

Constant Summary collapse

VERSION =
"1.0.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject

Returns the active Linear API client, lazily instantiated from LINEAR_API_KEY on first access.



18
19
20
# File 'lib/linear_toon_mcp.rb', line 18

def client
  @client ||= Client.new
end

Class Method Details

.serverMCP::Server

Builds the configured MCP::Server with all registered tools.

Returns:

  • (MCP::Server)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/linear_toon_mcp.rb', line 28

def self.server
  MCP::Server.new(
    name: "linear-toon-mcp",
    version: VERSION,
    description: "Manage Linear issues, projects, and teams",
    tools: [
      Tools::GetIssue, Tools::ListIssues, Tools::SaveIssue,
      Tools::ListIssueStatuses,
      Tools::ListTeams, Tools::ListUsers, Tools::ListIssueLabels,
      Tools::ListProjects, Tools::ListCycles, Tools::GetProject,
      Tools::SaveComment, Tools::DeleteComment, Tools::ListComments,
      Tools::ListInitiatives, Tools::GetInitiative, Tools::SaveInitiative,
      Tools::DeleteInitiative, Tools::AddProjectToInitiative,
      Tools::RemoveProjectFromInitiative,
      Tools::ListStatusUpdates, Tools::GetStatusUpdate,
      Tools::SaveStatusUpdate, Tools::DeleteStatusUpdate,
      Tools::SaveProject, Tools::ArchiveProject,
      Tools::GetTeam, Tools::GetUser, Tools::GetIssueStatus,
      Tools::CreateIssueLabel
    ]
  )
end