GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Atlassian Cloud for AI apps: Jira, Confluence, Bitbucket, Service Management, Admin and more.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
JIRA_CLOUD_PLATFORM_URL, JIRA_CLOUD_PLATFORM_USERNAME, JIRA_CLOUD_PLATFORM_PASSWORDValues marked secret are keys to your account. Never share them or paste them into a chat.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Fill in the empty values before running it.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account imogenlabs, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: JIRA_CLOUD_PLATFORM_URL, JIRA_CLOUD_PLATFORM_USERNAME, JIRA_CLOUD_PLATFORM_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.9.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The complete Atlassian platform CLI and MCP Server.
1,843 API endpoints across Jira, Confluence, Agile, Marketplace, Service Desk, Assets, Compass, Bitbucket and Admin — in a single Go binary. SQLite-backed local sync with full-text search. MCP server for AI agents. Built for automation first, humans second.
Every Atlassian workflow you automate is a wall of curl calls with hand-rolled JSON payloads and fragile jq parsing. Every AI agent that touches Jira hits rate limits after a few dozen operations.
Keen replaces all of that with typed commands, structured output, local SQLite caching with FTS5 full-text search, and an MCP server that gives AI agents fast, uncapped access to your entire Atlassian stack.
Free and open source. Apache-2.0 license. No account required. No telemetry.
| API | Endpoints | What you get |
|---|---|---|
| Jira Platform v3 | 630 | Issues, transitions, search, bulk ops, fields, workflows, permissions |
| Jira Agile | 105 | Sprints, boards, backlogs, epics, ranking, velocity |
| Confluence | 130 | CQL search, spaces, labels, templates, attachments, permissions, content states |
| Confluence v2 | 252 | Pages, blog posts, spaces, folders, databases, whiteboards, comments, attachments, space roles |
| Marketplace v2 | 143 | Addons, versions, vendors, distribution, reviews, reporting |
| Service Desk | 75 | Requests, queues, customers, SLAs, approvals |
| Assets | 64 | Objects, object schemas and types, AQL search, imports (keen assets-...). keen finds your cloud and workspace ids from the site |
| Compass | 11 | Events, metric values, attachments and API specs for components |
| Teamwork Graph | 18 queries | Org chart (manager, direct reports, report chain), teams, a person's created, commented, mentioned and viewed work, over GraphQL (Teamwork Graph). Plus keen graphql for any read query |
| Bitbucket | 300 | Repositories, pull requests, pipelines, branches, commits, snippets, workspaces (keen bitbucket-...). Public data works without a token; private data needs a Bitbucket-scoped token (Authentication) |
| Admin | 133 | Organizations, directories, groups, domains, policies, user management, user provisioning (SCIM), API tokens and service accounts, data loss prevention. Needs an admin API key (Authentication) |
# 1. Install (macOS or Linux with Homebrew; see Install for .deb, .rpm and Docker)
brew install imogenlabs/tap/keen
mkdir -p ~/.config/keen cat > ~/.config/keen/auth.json <<'JSON' { "base_url": "https://yoursite.atlassian.net", "username": "you@example.com", "password": "your-api-token" } JSON chmod 600 ~/.config/keen/auth.json
keen doctor
keen sync
keen search "authentication bug" --data-source local
Generate an API token at id.atlassian.com/manage-profile/security/api-tokens.
Environment variables work too, and override the file:
export JIRA_CLOUD_PLATFORM_USERNAME="you@example.com"
export JIRA_CLOUD_PLATFORM_PASSWORD="your-api-token" export JIRA_CLOUD_PLATFORM_URL="https://yoursite.atlassian.net"
brew install imogenlabs/tap/keen
This installs both keen and keen-mcp. brew upgrade keen picks up new releases; the formula follows each release within a day.
Each release has .deb and .rpm packages for x86_64 (amd64) and arm64. They install keen and keen-mcp in /usr/bin.
# Debian, Ubuntu
curl -LO https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.deb sudo apt install ./keen_linux_amd64.deb
curl -LO https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.rpm sudo dnf install ./keen_linux_amd64.rpm
On arm64, use keen_linux_arm64.deb or keen_linux_arm64.rpm. To upgrade, install the new release's package the same way.
The image is on GitHub's registry and Docker Hub, for amd64 and arm64: ghcr.io/imogenlabs/keen or smashingtags/keen. It runs keen-mcp by default. To run the CLI, put keen and its arguments after the image name:
docker run --rm \
-e JIRA_CLOUD_PLATFORM_URL=https://yoursite.atlassian.net \ -e JIRA_CLOUD_PLATFORM_USERNAME=you@example.com \ -e JIRA_CLOUD_PLATFORM_PASSWORD=your-api-token \ ghcr.io/imogenlabs/keen keen get PROJ-42 --agent
Add -v keen-data:/home/nonroot to keep keen sync's local copy between runs. To use it as an MCP server, see Docker under MCP Server.
Download from GitHub Releases:
# macOS (Apple Silicon)
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_darwin_arm64.tar.gz | tar xz sudo mv keen_darwin_arm64/keen /usr/local/bin/ sudo mv keen_darwin_arm64/keen-mcp /usr/local/bin/
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_darwin_amd64.tar.gz | tar xz sudo mv keen_darwin_amd64/keen /usr/local/bin/ sudo mv keen_darwin_amd64/keen-mcp /usr/local/bin/
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.tar.gz | tar xz sudo mv keen_linux_amd64/keen /usr/local/bin/ sudo mv keen_linux_amd64/keen-mcp /usr/local/bin/
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_arm64.tar.gz | tar xz sudo mv keen_linux_arm64/keen /usr/local/bin/ sudo mv keen_linux_arm64/keen-mcp /usr/local/bin/
Each release also publishes checksums.txt.
git clone https://github.com/imogenlabs/keen.git
cd keen make build-all # builds bin/keen and bin/keen-mcp
Requires Go 1.26.10 or newer.
What changed in each release: CHANGELOG.md.
Keen includes an MCP server (keen-mcp) that gives AI agents every keen command (1,939 tools). Works with Claude Code, Cursor, Windsurf, and any MCP-compatible host.
It offers two tools: keen_search finds the tools for a task ("transition an issue", "list sprints on a board") and returns them with their parameters, and keen_run runs one by name. Listing all 1,939 tools one by one would take about half a million tokens, more than most models can hold, so an app connecting to keen would fill up before doing any work. To get the full list anyway, set KEEN_MCP_TOOLS=all in the server's environment.
Tool calls arrive as JSON-RPC over stdio. Finding a tool happens inside keen-mcp with no call to Atlassian. Running one goes to Atlassian, except that a read repeated within 5 minutes is answered from keen's cache, so a busy agent stays under Atlassian's rate limits. Any successful write clears the cache, so a read after a write is fresh. Set KEEN_MCP_CACHE=off to make every read live. If a tool's API has been switched off by Atlassian, the result says what to use instead.
Source: docs/diagrams/mcp-flow.drawio.
On a Mac, download keen-mcp.mcpb from the latest release and open it: Claude Desktop installs keen and asks for your Atlassian site, email and API token. keen is also listed in the official MCP registry as io.github.imogenlabs/keen, updated with every release.
keen-mcp finds credentials the same way the CLI does: environment variables first, then ~/.config/keen/auth.json or config.toml. If you already set up the CLI, claude mcp add --transport stdio keen -- keen-mcp is enough. To pass them explicitly instead:
claude mcp add --transport stdio keen \
--env JIRA_CLOUD_PLATFORM_USERNAME=you@example.com \ --env JIRA_CLOUD_PLATFORM_PASSWORD=your-api-token \ --env JIRA_CLOUD_PLATFORM_URL=https://yoursite.atlassian.net \ -- keen-mcp
Add to .cursor/mcp.json:
{
"mcpServers": { "keen": { "command": "keen-mcp", "env": { "JIRA_CLOUD_PLATFORM_USERNAME": "you@example.com", "JIRA_CLOUD_PLATFORM_PASSWORD": "your-api-token", "JIRA_CLOUD_PLATFORM_URL": "https://yoursite.atlassian.net" } } } }
Add to ~/.codeium/windsurf/mcp_config.json with the same structure.
Any MCP host can run keen-mcp from the image instead of installing it. The -e NAME flags pass the values from env into the container:
{
"mcpServers": { "keen": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "JIRA_CLOUD_PLATFORM_URL", "-e", "JIRA_CLOUD_PLATFORM_USERNAME", "-e", "JIRA_CLOUD_PLATFORM_PASSWORD", "ghcr.io/imogenlabs/keen"], "env": { "JIRA_CLOUD_PLATFORM_URL": "https://yoursite.atlassian.net", "JIRA_CLOUD_PLATFORM_USERNAME": "you@example.com", "JIRA_CLOUD_PLATFORM_PASSWORD": "your-api-token" } } } }
Keen syncs your Atlassian data to a local SQLite database with FTS5 full-text search. Queries run in under 100ms against the local cache instead of hitting the Jira Cloud API.
keen sync # hydrate local cache
keen search "sprint bug" --data-source local # FTS search (sub-100ms) keen analytics # analytics on synced data keen stale --days 30 # find stale items keen orphans # find orphaned items keen load # workload distribution
This is especially useful for AI agents that need to make many queries without hitting Atlassian's rate limits.
Every command supports --agent which sets JSON output, no interactive prompts, compact format, and no color in one flag. Designed for AI agent consumption.
keen agile get-all-boards --agent
keen issue transitions get PROJ-42 --agent | jq '.results.transitions[] | {id, name}'
The everyday Jira calls have short forms:
keen find-issues --Only the beginning is shown; read the rest in the repo