MCP.Market

Abscissa MCP server

by KazKozDev·io.github.KazKozDev/abscissa·v0.1.3·1 stars

Safety-aware MCP server for Linear issues, projects, cycles, and dependencies.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
Growing

1 stars30 downloads/wk

Reviews

Write one

Nobody has reviewed Abscissa yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Abscissa tools (42, 15 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_comment

    Add a markdown comment to a Linear issue.

  • add_issue_dependency

    Record that blocker_issue_id blocks blocked_issue_id in Linear.

  • add_issue_label

    Add a label to an issue.

  • add_project_label

    Attach an existing project label to a project.

  • archive_cycle

    Archive a cycle. Set confirm=true only after explicit user confirmation.

  • archive_issue

    Archive an issue. Set confirm=true only after explicit user confirmation.

  • archive_project

    Archive a project. Set confirm=true only after explicit user confirmation.

  • assign_issue

    Assign a user to an issue.

  • create_cyclewrite action

    Create a Linear cycle for a team.

  • create_issuewrite action

    Create a new Linear issue.

  • create_labelwrite action

    Create a label for a team.

  • create_projectwrite action

    Create a project; team_ids may be comma-separated team keys or UUIDs.

  • create_project_labelwrite action

    Create a reusable project label. Use add_project_label to attach it to a project.

  • create_project_updatewrite action

    Post a project update. Health may be onTrack, atRisk, or offTrack.

  • delete_issuewrite action

    Delete an issue permanently. Set confirm=true only after explicit user confirmation.

  • get_current_user

    Return the authenticated Linear user behind the configured API key.

  • get_issue

    Get full issue details, including comments, labels, assignee, and dates.

  • get_project

    Get a project by UUID.

  • get_team

    Get a team by key (for example, ART) or UUID.

  • get_user_issues

    Get a user's assigned issues; omit user_id to retrieve the authenticated user's issues.

  • list_cycle_issues

    List issues in a cycle. Pass next_cursor as cursor for the next page.

  • list_cycles

    List workspace cycles, optionally filtered by a team key or UUID.

  • list_issue_dependencies

    List issues this issue blocks and issues that block it.

  • list_issue_labels

    List labels for a team. Pass next_cursor as cursor for the next page.

  • list_project_issues

    List a project's issues. Pass next_cursor as cursor for the next page.

  • list_project_labels

    List reusable project labels. Pass next_cursor as cursor for the next page.

  • list_project_updates

    List a project's updates. Pass next_cursor as cursor for the next page.

  • list_projects

    List projects. Pass next_cursor as cursor for the next page.

  • list_teams

    List teams. Pass next_cursor as cursor for the next page.

  • list_users

    List organization users. Pass next_cursor as cursor for the next page.

  • list_workflow_states

    List workflow states for a team. Pass next_cursor as cursor for the next page.

  • remove_issue_dependencywrite action

    Remove an issue dependency by its relation ID.

  • remove_issue_from_projectwrite action

    Remove an issue from its current Linear project.

  • remove_issue_labelwrite action

    Remove a label from an issue.

  • remove_project_labelwrite action

    Remove a project label from a project without deleting the reusable label.

  • search_issues

    Search Linear issues with filters. Pass next_cursor as cursor for the next page.

  • set_issue_estimate

    Set story points or an hour estimate on an issue.

  • set_issue_project

    Add an issue to a Linear project.

  • update_cyclewrite action

    Update a cycle's name, description, or ISO 8601 start and end timestamps.

  • update_issuewrite action

    Update an existing Linear issue. Use a UUID or identifier such as ART-5.

  • update_projectwrite action

    Update a project's name, summary, or status.

  • update_project_detailswrite action

    Update a project's detailed fields.

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan4 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 77 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Abscissa compares

Against every graded Developer tools MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 50% of 1,119 Developer tools servers
Tools
42
the typical Developer tools server has 7
Tools that change things
36%
typical: 5%. Fewer write tools means less an agent can break
GitHub stars
1
more than 50% of 856 Developer tools servers
Downloads a week
30
more than 14% of 442 Developer tools servers with a package

What its tools let an agent do: 17 read · 10 create · 7 change · 8 delete

Install Abscissa in Claude Code, Cursor or VS Code

claude mcp add abscissa -- uvx abscissa
Add to Cursor

What the publisher says

From the Abscissa repository's README, as published. We do not edit it. Read it on GitHub

<!-- mcp-name: io.github.KazKozDev/abscissa -->

Abscissa is a Python stdio MCP server for Linear. It turns Linear's GraphQL API into 42 tools for an MCP client: issues, projects, cycles, dependencies, comments, labels, workflow states, teams, and users.

The design priority is deliberate control over project data. Read operations return cursor-paginated results; getuserissues() resolves the authenticated Linear user; archive and delete tools require an explicit confirm=true before they make a destructive API call. The server stores no credentials and reads LINEARAPIKEY from its process environment.

Abscissa uses the stdio transport from the Model Context Protocol. Any client that supports stdio MCP can launch it as a local tool process.

Run it

You need Python 3.10+ and a Linear personal API key.

git clone https://github.com/KazKozDev/abscissa.git
cd abscissa
python3 -m venv .venv
.venv/bin/pip install -e '.[dev]'
export LINEAR_API_KEY='lin_api_…'
.venv/bin/abscissa

You can also install Abscissa directly from PyPI:

pip install abscissa

The final command starts the MCP server on standard input and output. Register .venv/bin/abscissa as a stdio command in your MCP client, and pass LINEARAPIKEY through that client's environment or secret manager.

The key remains outside the repository. The .gitignore excludes common local environment files, including .env and .venv.

Example prompts

Once Abscissa is registered in your MCP client, try prompts like:

Show my open Linear issues grouped by project.
Create an issue in ENG for fixing onboarding copy.
List issues blocked by GEN-32.

Tools

Search and list tools accept limit and cursor. Their responses keep the same shape:

{
  "items": [],
  "next_cursor": null
}

Pass a non-null next_cursor back as cursor to request the next page.

listissuedependencies returns separate blocks and blockedby lists. Each item includes its relationid; use it to remove that dependency. Its next_cursors object has separate cursors for each direction.

Destructive actions

archiveissue, archiveproject, and delete_issue are marked with MCP's destructiveHint. They refuse to call Linear until the client invokes them with confirm=true.

Deletion requires explicit confirmation: set confirm=true

This prevents an accidental tool call from deleting or archiving data. It does not replace Linear's own access controls: the API key still determines which resources the server may read or change.

Verify the checkout

.venv/bin/ruff check .
.venv/bin/python -m pytest

The current checkout produces:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Abscissa: common questions

Is Abscissa MCP server safe?
Mostly: it is graded B (78/100). Read the Abscissa safety report
How do I install Abscissa?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Abscissa need an API key?
Yes. The registry entry asks for LINEAR_API_KEY.
Is Abscissa maintained?
The last commit was 117 days ago (2026-07-11). The latest release is v0.1.3.
What can I use instead of Abscissa?
Servers from other publishers that do the same job: GitLab MCP Server, Gitlab MCP server and Sentry MCP server.
How does Abscissa compare with other Developer tools MCP servers?
safety score 78/100 (higher than 50% of 1,119 Developer tools servers); tools 42 (the typical Developer tools server has 7); tools that change things 36% (typical: 5%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Abscissa

Same job from other publishers: the closest match first, then the best rated.

  • GitLab MCP Server
    GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.
    B
  • Gitlab
    GitLab MCP server (MCP 2026-07-28): projects, MRs, pipelines, CI/CD, issues; writes or read-only
    B
  • Sentry
    MCP server for Sentry - error monitoring, issue tracking, and debugging for AI assistants
    A
  • GitHub
    Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
    A
  • Gk CLI
    The GitKraken MCP Server for managing repos, PRs, issues across GitHub, GitLab, Bitbucket and more.
    B

More from KazKozDev →