npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-project-task-manager

v1.1.5

Published

MCP server for managing Trello and Jira projects

Readme

MCP Project Manager Server

MCP (Model Context Protocol) server that exposes project management tool functionalities (currently Trello and Jira). This repo implements an MCP server that exports a set of tools via stdio using @modelcontextprotocol/sdk.

🚀 Available Tools

This MCP server provides the following tools to interact with Trello:

| Tool | Description | |------|-------------| | get_boards | Returns all user boards / projects. | | get_board_by_name | Searches for a board/project by name. | | get_lists | Retrieves the lists or statuses of a board/project. | | get_board_elements | Returns elements of a board: lists or labels. | | obtain_list | Ensures a list with a given name exists (creates or returns synthetic). | | get_valid_label_names | Returns valid names for categorizing tasks. | | get_cards | Lists cards / issues of a board or list. | | create_list | Creates a list (Trello) or returns an alternative (Jira). | | create_card | Creates a card / issue. | | create_task | Helper: creates a card and places it according to category. | | get_card_details | Retrieves full details of a card / issue. | | update_card | Updates card properties (title, description, move list). |

📋 Prerequisites

  • Node.js >= 18 (uses the native fetch API at runtime)
  • npm install for dependencies

🏗️ Project Structure


mcp-project-task-manager/
├── src/
│   ├── index.ts                                 # Entry point - MCP server
│   ├── config/
│   │   └── configurations.ts                    # Configuration from environment variables
│   ├── model/
│   │   ├── category.enums.ts                    # Category enums (bug, feature, etc.)
│   │   ├── types.ts                             # TypeScript types inferred from Zod
│   │   ├── schemas.ts                           # Zod schemas with validation
│   │   └── schemas.test.ts                      # Zod schema unit tests
│   └── project.manager.adapter
│       ├── platform.enum.ts                      # Platform enum
│       ├── project.manager.adapter.factory.ts    # Factory to create adapters
│       ├── altassian.adapter.ts                  # Base abstract class implementing project.manager.adapter interface
│       ├── trello.adapter.ts                     # Trello API implementation
│       └── jira.adapter.ts                       # Jira implementation
├── build/                                        # Compiled code (generated)
├── .env                                          # Environment variables (not included in git)
├── .gitignore
├── package.json
└── tsconfig.json

🔧 Installation and Compilation

To install the published server from npm:

npm install -g mcp-project-task-manager

You can also run it directly with npx:

npx mcp-project-task-manager

The command requires the environment variables described in the configuration section.

To work from the source code:

git clone <repo-url>
cd mcp-project-task-manager
npm install
npm run build

⚙️ Configuration (Environment Variables)

Place the variables in a .env file at the root (or expose them in your environment):

For Trello (minimal example):

PLATFORM=trello
TRELLO_API_KEY=your_api_key
TRELLO_TOKEN=your_token
TRELLO_SECRET=your_secret

For Jira (minimal example):

PLATFORM=jira
JIRA_USER_EMAIL=your_email@domain
JIRA_API_TOKEN=your_api_token
# domain can be "myspace.atlassian.net" or with a schema
JIRA_DOMAIN=myspace.atlassian.net

Note: index.ts extracts key, token, and secret/domain from the configuration and passes secret as domain to JiraAdapter. JiraAdapter normalizes the domain (accepts with or without https://).

🏃 Execution

  • Run the MCP server (stdio):
npm run start:server
  • Run the local example that calls getBoards() (src/example.ts):
npm run start:example

🔌 Integration (MCP Client Example, or .vscode)

To use this server from an MCP client (such as VS Code with Cline, Claude Desktop, etc.), add the following configuration:

Cline Example

{
  "mcpServers": {
    "mcp-project-task-manager": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "[email protected]"
      ],
      "env": {
        "PLATFORM": "trello",
        "TRELLO_API_KEY": "<your_api_key>",
        "TRELLO_TOKEN": "<your_trello_token>",
        "TRELLO_SECRET": "<your_trello_secret>",
        "JIRA_USER_EMAIL": "<jira_user>",
        "JIRA_API_TOKEN": "<your_jira_token>",
        "JIRA_DOMAIN": "<your_jira_domain> example https://<your_jira_space>.atlassian.net"
      },
      "disabled": false
    }
  }
}

.vscode/mcp.json Example

To use with the GitHub agent/copilot, it also requires (or configures in the env of the previous json)

{
    "inputs": [],
      "servers": {
          "mcp-project-task-manager": {
            "command": "npx",
            "args": [
              "[email protected]"
            ],
            "sandboxEnabled": false,
            "type": "stdio",
            "env": {
              "PLATFORM": "trello",
              "TRELLO_API_KEY": "<your_api_key>",
               "TRELLO_TOKEN": "<your_trello_token>",
              "TRELLO_SECRET": "<your_trello_secret>",
              "JIRA_USER_EMAIL": "<jira_user>",
              "JIRA_API_TOKEN": "<your_jira_token>",
              "JIRA_DOMAIN": "<your_jira_domain> example https://<your_jira_space>.atlassian.net"
            },
            "disabled": false
          }
      }
}

Example for your .config/opencode.json

1- To use in opencode, first perform the installation

npm install -g mcp-project-task-manager

2- Locate the installation's build/index.js

3- Configure your config/opencode.json

{
  "$schema": "[https://opencode.ai/config.json](https://opencode.ai/config.json)",
  "mcp": {
    "trello-ts": {
      "type": "stdio",
      "command": [
        "node"
      ],
      "args": [
        "~/<path_to_build>/build/index.js"
      ],
      "env": {
        "PLATFORM": "jira",
        "TRELLO_API_KEY": "<your_api_key>",
        "TRELLO_TOKEN": "<your_trello_token>",
        "TRELLO_SECRET": "<your_trello_secret>",
        "JIRA_USER_EMAIL": "<jira_user>",
        "JIRA_API_TOKEN": "<your_jira_token>",
        "JIRA_DOMAIN": "<your_jira_domain> example https://<your_jira_space>.atlassian.net"
      },
      "enabled": true
    }
  }
}
//or use your full opencode path in args

.env Example

To use:

  • with local server execution
  • with GitHub agent/copilot (requires it as well, or configure it in the env of the previous json)
TRELLO_API_KEY="TRELLO_API_KEY"
TRELLO_TOKEN="TRELLO_TOKEN"
TRELLO_SECRET="TRELLO_SECRET"


JIRA_USER_EMAIL="JIRA_USER_EMAIL"
JIRA_API_TOKEN="AJIRA_API_TOKEN"
JIRA_DOMAIN="https://JIRA_DOMAIN.atlassian.net"

#"trello" # or "jira"
PLATFORM="jira"   

Local Usage Examples

  • Call get_boards with the included example:
npm run start:example
  • Use the server in a compatible MCP host pointing to build/index.js.

Validation and Schemas

Tools validate inputs and outputs using Zod; schemas are located in src/schemas/schemas.ts.

🛠️ Technologies

  • TypeScript - Programming language
  • @modelcontextprotocol/sdk - Official MCP SDK
  • Trello API - Trello REST API
  • fetch - Node.js native API for HTTP

Notes and Recommendations

  • JIRA_DOMAIN may or may not include the https:// schema; the adapter normalizes it.
  • Make sure not to publish tokens in repositories. For production, use a secret manager.
  • If you change PLATFORM, restart the server to reload the configuration.

References

  • Basic Trello API usage at: https://github.com/marbriganti/issueTrackerSpaceX
  • Implementation inspired by: https://github.com/andypost/mcp-server-ts-trello

License

ISC