Skylight MCP vs MCP Server Atlassian Jira

A side-by-side look at the Skylight MCP and MCP Server Atlassian Jira MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Skylight MCP logoSkylight MCPWorkplace & Productivity · Local subprocess (stdio)Skylight Calendar for Claude — family events, chores, and rewards.67GreatAuth: oauth 2.0MCP Server Atlassian Jira logoMCP Server Atlassian JiraWorkplace & Productivity · Local subprocess (stdio)Atlassian Jira Cloud integration. Enables AI systems to interact with Jira projects, issues, comments, and related development information in real time.65GreatAuth: api key required

Verdict: choose Skylight MCP for workplace & productivity work as a local process; choose MCP Server Atlassian Jira for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Skylight MCP logoChoose Skylight MCP when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: OAuth 2.0.
  • You have the keys it needs: SKYLIGHT_REFRESH_TOKEN, SKYLIGHT_EMAIL, SKYLIGHT_PASSWORD, SKYLIGHT_FRAME_ID, SKYLIGHT_APPLE_APP_PASSWORD, MCP_CONFIRM_MODE.
  • You want tools like skylight_list_frames, skylight_get_frame, skylight_list_frame_members.
Explore Skylight MCP

MCP Server Atlassian Jira logoChoose MCP Server Atlassian Jira when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: ATLASSIAN_SITE_NAME, ATLASSIAN_USER_EMAIL, ATLASSIAN_API_TOKEN.
  • You want tools like jira_get, jira_post, jira_put.
Explore MCP Server Atlassian Jira

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSkylight MCP logoSkylight MCPMCP Server Atlassian Jira logoMCP Server Atlassian Jira
CategoryWorkplace & ProductivityWorkplace & Productivity
Quality signal67/100 · Great65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthOAuth 2.0API key required
PricingFreeFree
Required env varsSKYLIGHT_REFRESH_TOKENSKYLIGHT_EMAILSKYLIGHT_PASSWORDSKYLIGHT_FRAME_IDSKYLIGHT_APPLE_APP_PASSWORDMCP_CONFIRM_MODEATLASSIAN_SITE_NAMEATLASSIAN_USER_EMAILATLASSIAN_API_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars1678
Directory activity 2 views 0 installs 0 upvotes 7 views 0 installs 0 upvotes
Tools1145

Tools & capabilities

Skylight MCP tools 114

  • skylight_list_framesList Skylight frames (family hubs) on this account.
  • skylight_get_frameGet one Skylight frame and its settings.
  • skylight_list_frame_membersList members (frame_users) of a Skylight frame.
  • skylight_list_devicesList physical devices attached to a Skylight frame.
  • skylight_get_plus_accessGet Skylight Plus subscription / entitlement status.
  • skylight_get_reward_pointsGet reward-point balances per family member (lifetime earned + current balance).
  • skylight_get_household_configGet household configuration for the frame.
  • skylight_set_device_albumSet which photo album a device displays.
  • skylight_rename_deviceRename a Skylight device.
  • skylight_update_frameUpdate Skylight frame display/sleep settings. Setting open_to_public:true makes the frame publicly reachable, so that one change asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Every other setting applies directly.
  • skylight_rename_frameRename a Skylight frame.
  • skylight_update_profileUpdate the frame profile (name, birthday).
  • +102 more on the listing page

MCP Server Atlassian Jira tools 5

  • jira_getRead any Jira data. Returns TOON format by default (30-60% fewer tokens than JSON). **IMPORTANT - Cost Optimization:** - ALWAYS use `jq` param to filter response fields. Unfiltered responses are very expensive! - Use `maxResults` query param to restrict result count (e.g., `maxResults: "5"`) - If unsure about available fields, first fetch ONE item with `maxResults: "1"` and NO jq filter to explore the schema, then use jq in subsequent calls **Schema Discovery Pattern:** 1. First call: `path: "/rest/api/3/search/jql", queryParams: {"maxResults": "1", "jql": "project=PROJ"}` (no jq) - explore available fields 2. Then use: `jq: "issues[*].{key: key, summary: fields.summary, status: fields.status.name}"` - extract only what you need **Output format:** TOON (default, token-efficient) or JSON (`outputFormat: "json"`) **Common paths:** - `/rest/api/3/project` - list all projects - `/rest/api/3/project/{projectKeyOrId}` - get project details - `/rest/api/3/search/jql` - search issues with JQL (use `jql` query param). NOTE: `/rest/api/3/search` is deprecated! - `/rest/api/3/issue/{issueIdOrKey}` - get issue details - `/rest/api/3/issue/{issueIdOrKey}/comment` - list issue comments - `/rest/api/3/issue/{issueIdOrKey}/worklog` - list issue worklogs - `/rest/api/3/issue/{issueIdOrKey}/transitions` - get available transitions - `/rest/api/3/user/search` - search users (use `query` param) - `/rest/api/3/status` - list all statuses - `/rest/api/3/issuetype` - list issue types - `/rest/api/3/priority` - list priorities **JQ examples:** `issues[*].key`, `issues[0]`, `issues[*].{key: key, summary: fields.summary}` **Example JQL queries:** `project=PROJ`, `assignee=currentUser()`, `status="In Progress"`, `created >= -7d` API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
  • jira_postCreate Jira resources. Returns TOON format by default (token-efficient). **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response (e.g., `jq: "{key: key, id: id}"`) - Unfiltered responses include all metadata and are expensive! **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Create issue:** `/rest/api/3/issue` body: `{"fields": {"project": {"key": "PROJ"}, "summary": "Issue title", "issuetype": {"name": "Task"}, "description": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Description"}]}]}}}` 2. **Add comment:** `/rest/api/3/issue/{issueIdOrKey}/comment` body: `{"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Comment text"}]}]}}` 3. **Add worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog` body: `{"timeSpentSeconds": 3600, "comment": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Work done"}]}]}}` 4. **Transition issue:** `/rest/api/3/issue/{issueIdOrKey}/transitions` body: `{"transition": {"id": "31"}}` 5. **Add attachment:** `/rest/api/3/issue/{issueIdOrKey}/attachments` Note: Requires multipart form data (complex - use Jira UI for attachments) API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
  • jira_putReplace Jira resources (full update). Returns TOON format by default. **IMPORTANT - Cost Optimization:** Use `jq` param to extract only needed fields from response **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update issue (full):** `/rest/api/3/issue/{issueIdOrKey}` body: `{"fields": {"summary": "New title", "description": {...}, "assignee": {"accountId": "..."}}}` 2. **Update project:** `/rest/api/3/project/{projectIdOrKey}` body: `{"name": "New Project Name", "description": "Updated description"}` 3. **Set issue property:** `/rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}` body: `{"value": "property value"}` Note: PUT replaces the entire resource. For partial updates, prefer PATCH. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
  • jira_patchPartially update Jira resources. Returns TOON format by default. **IMPORTANT - Cost Optimization:** Use `jq` param to filter response fields. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update issue fields:** `/rest/api/3/issue/{issueIdOrKey}` body: `{"fields": {"summary": "Updated title"}}` (only updates specified fields) 2. **Update comment:** `/rest/api/3/issue/{issueIdOrKey}/comment/{commentId}` body: `{"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Updated comment"}]}]}}` 3. **Update worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}` body: `{"timeSpentSeconds": 7200}` Note: PATCH only updates the fields you specify, leaving others unchanged. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
  • jira_deleteDelete Jira resources. Returns TOON format by default. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Delete issue:** `/rest/api/3/issue/{issueIdOrKey}` Query param: `deleteSubtasks=true` to delete subtasks 2. **Delete comment:** `/rest/api/3/issue/{issueIdOrKey}/comment/{commentId}` 3. **Delete worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}` 4. **Delete attachment:** `/rest/api/3/attachment/{attachmentId}` 5. **Remove watcher:** `/rest/api/3/issue/{issueIdOrKey}/watchers` Query param: `accountId={accountId}` Note: Most DELETE endpoints return 204 No Content on success. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Skylight MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "skylight-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "skylight-mcp"
      ],
      "env": {
        "SKYLIGHT_REFRESH_TOKEN": "YOUR_SKYLIGHT_REFRESH_TOKEN_HERE",
        "SKYLIGHT_EMAIL": "YOUR_SKYLIGHT_EMAIL_HERE",
        "SKYLIGHT_PASSWORD": "YOUR_SKYLIGHT_PASSWORD_HERE",
        "SKYLIGHT_FRAME_ID": "YOUR_SKYLIGHT_FRAME_ID_HERE",
        "SKYLIGHT_APPLE_APP_PASSWORD": "YOUR_SKYLIGHT_APPLE_APP_PASSWORD_HERE",
        "MCP_CONFIRM_MODE": "YOUR_MCP_CONFIRM_MODE_HERE"
      }
    }
  }
}

MCP Server Atlassian Jira

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "aashari-mcp-server-atlassian-jira": {
      "command": "npx",
      "args": [
        "-y",
        "@aashari/mcp-server-atlassian-jira"
      ],
      "env": {
        "ATLASSIAN_SITE_NAME": "YOUR_ATLASSIAN_SITE_NAME_HERE",
        "ATLASSIAN_USER_EMAIL": "YOUR_ATLASSIAN_USER_EMAIL_HERE",
        "ATLASSIAN_API_TOKEN": "YOUR_ATLASSIAN_API_TOKEN_HERE"
      }
    }
  }
}

Frequently asked questions

Skylight MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. MCP Server Atlassian Jira belongs to Workplace & Productivity and uses a local stdio subprocess. Pick Skylight MCP for workplace & productivity work and MCP Server Atlassian Jira for workplace & productivity.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Skylight MCP is listed as free. Auth: oauth 2.0. MCP Server Atlassian Jira is listed as free. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add skylight-mcp and aashari-mcp-server-atlassian-jira as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Skylight MCP has a quality signal of 67/100 (Great) with 2 views, 0 installs and 16 GitHub stars. MCP Server Atlassian Jira has 65/100 (Great) with 7 views, 0 installs and 78 GitHub stars.