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

@xferops/flower-mcp

v1.0.4

Published

MCP server for Flower (XferOps project management) - works with Claude Code, Codex, OpenClaw, and any MCP consumer

Downloads

376

Readme

🌸 Flower MCP Server

MCP (Model Context Protocol) server for Flower — XferOps' project management system.

Works with Claude Code, OpenAI Codex, OpenClaw/mcporter, and any MCP-compatible consumer.

Quick Start

1. Get Your API Token

  1. Go to flower.xferops.com/settings
  2. Click New Token in the API Tokens section
  3. Give it a descriptive name and click Create Token
  4. Copy the token (it won't be shown again!)

2. Install

npm install -g @xferops/flower-mcp

Or clone and build:

git clone https://github.com/XferOps/flower-mcp.git
cd flower-mcp
npm install
npm run build

3. Configure Your MCP Consumer

See setup instructions below for your specific tool.


Setup Instructions

Claude Code (claude_desktop_config.json)

Add to ~/.config/claude/claude_desktop_config.json (macOS/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "flower": {
      "command": "npx",
      "args": ["-y", "@xferops/flower-mcp"],
      "env": {
        "FLOWER_URL": "https://flower.xferops.com",
        "FLOWER_TOKEN": "your-api-token-here"
      }
    }
  }
}

Or if installed locally:

{
  "mcpServers": {
    "flower": {
      "command": "node",
      "args": ["/path/to/flower-mcp/dist/index.js"],
      "env": {
        "FLOWER_URL": "https://flower.xferops.com",
        "FLOWER_TOKEN": "your-api-token-here"
      }
    }
  }
}

OpenClaw / mcporter

Add to ~/.mcporter/mcporter.json:

{
  "mcpServers": {
    "flower": {
      "command": "npx",
      "args": ["-y", "@xferops/flower-mcp"],
      "env": {
        "FLOWER_URL": "https://flower.xferops.com",
        "FLOWER_TOKEN": "your-api-token-here"
      }
    }
  }
}

Then use with mcporter:

mcporter call flower.flower_list_teams
mcporter call flower.flower_get_project projectId=abc123

OpenAI Codex / Generic MCP

Set environment variables and run:

export FLOWER_URL="https://flower.xferops.com"
export FLOWER_TOKEN="your-api-token-here"

# Run directly
npx @xferops/flower-mcp

# Or if built locally
node dist/index.js

Environment Variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | FLOWER_TOKEN | Yes | - | Your API token from flower.xferops.com/settings | | FLOWER_URL | No | https://flower.xferops.com | API base URL | | KANBAN_TOKEN | No | - | Legacy alias for FLOWER_TOKEN | | KANBAN_URL | No | - | Legacy alias for FLOWER_URL |


Available Tools

Health

| Tool | Description | |------|-------------| | flower_health_check | Check API connectivity |

Teams

| Tool | Description | |------|-------------| | flower_list_teams | List all teams you belong to | | flower_create_team | Create a new team | | flower_list_team_members | List team members (get user IDs for assignment) | | flower_add_team_member | Add a user to a team by email |

Projects

| Tool | Description | |------|-------------| | flower_list_projects | List projects in a team | | flower_get_project | Get project with all columns and tasks | | flower_create_project | Create a new project | | flower_update_project | Update project name/prefix | | flower_delete_project | Delete a project |

Columns

| Tool | Description | |------|-------------| | flower_create_column | Create a column (e.g., "Backlog", "Done") | | flower_update_column | Rename a column | | flower_delete_column | Delete a column (optionally move tasks) | | flower_reorder_columns | Reorder columns |

Tasks

| Tool | Description | |------|-------------| | flower_get_task | Get a single task by ID | | flower_list_tasks | List all tasks in a project | | flower_search_tasks | Search tasks by title/description/ticket ID | | flower_create_task | Create a new task | | flower_update_task | Update task or move to different column | | flower_delete_task | Delete a task | | flower_reorder_task | Move task to specific position |

Comments

| Tool | Description | |------|-------------| | flower_list_comments | List comments on a task | | flower_create_comment | Add a comment | | flower_update_comment | Edit your comment | | flower_delete_comment | Delete your comment |


Examples

List your teams and their projects

User: What teams am I in?
Assistant: [calls flower_list_teams]

View a project board

User: Show me the v0.1 board
Assistant: [calls flower_get_project with projectId]

Create a task

User: Create a bug ticket for the login issue
Assistant: [calls flower_create_task with type="BUG"]

Move a task

User: Move ticket #123 to "In Progress"
Assistant: [calls flower_update_task with columnId]

Search for tasks

User: Find all tasks about authentication
Assistant: [calls flower_search_tasks with query="authentication"]

Add a comment

User: Add a comment to ticket #45 saying "Fixed in PR #67"
Assistant: [calls flower_create_comment with content]

Development

# Install dependencies
npm install

# Build
npm run build

# Run in development (with hot reload)
npm run dev

# Test locally
FLOWER_TOKEN=your-token node dist/index.js

API Documentation

Full API documentation is available at flower.xferops.com/docs


Troubleshooting

"FLOWER_TOKEN environment variable not set"

Make sure you've set the token in your MCP consumer's configuration.

"Unauthorized" errors

  1. Check that your token is correct
  2. Ensure the token hasn't been revoked
  3. Generate a new token at flower.xferops.com/settings

Tool not found

Ensure you're using the correct tool names with the flower_ prefix.


OpenClaw Skill

This repo includes an OpenClaw skill in the skill/ directory.

Install the skill:

npx clawhub@latest install flower

The skill is published to ClawHub and versioned alongside the MCP.


Versioning

This package follows semver. The version is kept in sync across:

  • npm package (@xferops/flower-mcp)
  • Git tags (v1.0.0, v1.1.0, etc.)
  • OpenClaw skill (published to ClawHub)

When the Flower API changes:

  1. Update MCP tools in src/
  2. Update skill docs in skill/SKILL.md
  3. Bump version in package.json
  4. Tag release: git tag v1.x.x && git push --tags
  5. Publish to npm: npm publish
  6. Publish skill: clawhub publish ./skill --slug flower --version 1.x.x

License

MIT © XferOps