taskmaster-mcp

taskmaster-mcp

MCP server providing Jira tools to fetch, create, update tickets, manage attachments, and generate AI-powered ticket content.

Category
Visit Server

README

taskmaster-mcp

A TypeScript MCP server that gives Claude, Cursor and other MCP hosts a set of Jira tools. Built on FastMCP + Express. This is a trimmed-down version of something we actually run internally.

Treat this as your first week on the team: get it running, poke around, find something worth improving, and ship it as a pull request.

We haven't told you what to build. Deciding that is part of the exercise.


1. Make your own copy

Use the template — don't fork.

  1. On the repo page, click Use this templateCreate a new repository.
  2. Name it whatever you like.
  3. Set the visibility to Private.
  4. Create the repository.

Then add @laurence-barry and @dave-r-cintra as collaborators: your repo → Settings → Collaborators → Add people.

2. Get a Jira instance

You'll need your own Jira Cloud site — the free tier takes about five minutes and doesn't need a card.

  1. Sign up at atlassian.com/software/jira/free.
  2. Create a project. A Scrum template gives you a backlog and sprint board, which next_jira_task expects. Note the project key (e.g. PROJ).
  3. Generate an API token at id.atlassian.com/manage-profile/security/api-tokens.

Spend a couple of minutes creating issues with a mix of types, statuses and priorities, plus a subtask and an epic link. Several tools walk those relationships and an empty board won't show you much.

3. Run it

Requires Node 22+.

npm install
cp example.env .env        # fill in your Jira values
npm run dev                # http://localhost:3000
JIRA_API_URL=https://your-domain.atlassian.net
JIRA_EMAIL=the-email-you-signed-up-with@example.com
JIRA_API_TOKEN=<token from step 3 above>
JIRA_PROJECT=<your project key, e.g. PROJ>
ALLOW_UNAUTHENTICATED_LOCAL=true

Four tools call Claude for ticket content — add ANTHROPIC_API_KEY from console.anthropic.com if you want those. The others work without it.

Connect an MCP client

Point the client at http://localhost:3000/mcp.

Claude Code:

claude mcp add --transport http taskmaster http://localhost:3000/mcp

Cursor — in .cursor/mcp.json:

{
  "mcpServers": {
    "taskmaster": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

With ALLOW_UNAUTHENTICATED_LOCAL=true, localhost requests use your .env credentials. Try the tools out properly before you write any code — most of what's interesting here only shows up once you've used the thing.

curl -s http://localhost:3000/health

4. Build something

Pick a feature or improvement you think the project should have, and implement it.

Good choices tend to be things you noticed while using it — a rough edge, a gap in the tool coverage, something that broke when you fed it real data. We're more interested in a small, well-judged, complete change than a large half-finished one.

Work in a branch and open a pull request against main in your own repo. Don't merge it — leave it open for us to review.

Your PR description should cover

  • What you built, briefly.
  • Why you chose it over the other things you noticed.
  • Trade-offs you made, and anything you'd do differently with more time.

This matters as much as the code. A short, clear write-up beats a long one.


What we're looking for

Judgement Did you pick something that genuinely improves the project, and can you say why?
Craft Does the change fit the codebase's existing patterns and conventions?
Communication Does the PR explain itself to someone who wasn't there?
Tool use How well do you work with AI — steering it, checking it, rejecting it?

We won't be scoring you on the size of the diff.


Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured