{
  "$schema": "https://modelcontextprotocol.io/schemas/mcp-server-card.json",
  "schemaVersion": "2025-06-18",
  "name": "Harmony",
  "title": "Harmony — agent-native Kanban",
  "description": "Agent-native Kanban where humans and AI stay in sync. Create, move, and track cards; manage subtasks, labels, and links; and run autonomous agent sessions from Claude Code, Cursor, Codex, and any MCP-compatible client.",
  "version": "2.4.2",
  "homepage": "https://gethmy.com",
  "documentation": "https://gethmy.com/llms.txt",
  "fullDocumentation": "https://gethmy.com/llms-full.txt",
  "logoUrl": "https://gethmy.com/harmony-logo.svg",
  "contactEmail": "hello@gethmy.com",
  "license": "Proprietary",
  "publisher": {
    "name": "Harmony",
    "url": "https://gethmy.com"
  },
  "server": {
    "transport": "stdio",
    "package": "@gethmy/mcp",
    "registry": "npm",
    "command": "npx",
    "args": ["-y", "@gethmy/mcp", "serve"],
    "setupCommand": "npx @gethmy/mcp setup"
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": true,
    "logging": true
  },
  "authentication": {
    "type": "api_key",
    "description": "Create an API key at https://gethmy.com/user/keys — passed via the X-API-Key header to the REST API and injected by the MCP setup wizard.",
    "setup": "https://gethmy.com/user/keys"
  },
  "tools": [
    { "name": "harmony_create_card", "description": "Create a new card" },
    { "name": "harmony_update_card", "description": "Update card properties" },
    { "name": "harmony_move_card", "description": "Move card between columns" },
    {
      "name": "harmony_search_cards",
      "description": "Search cards by title/description"
    },
    { "name": "harmony_get_board", "description": "Get full board state" },
    {
      "name": "harmony_start_agent_session",
      "description": "Start tracking agent work on a card"
    },
    {
      "name": "harmony_update_agent_progress",
      "description": "Report progress during a session"
    },
    {
      "name": "harmony_end_agent_session",
      "description": "End an agent session"
    },
    {
      "name": "harmony_generate_prompt",
      "description": "Generate an AI-ready prompt from a card"
    },
    {
      "name": "harmony_remember",
      "description": "Store a memory for later recall"
    },
    { "name": "harmony_recall", "description": "Recall stored memories" }
  ],
  "agents": [
    {
      "id": "claude-code",
      "name": "Claude Code",
      "workflow": "/hmy #42",
      "configPath": "~/.claude/settings.json"
    },
    {
      "id": "codex",
      "name": "OpenAI Codex",
      "workflow": "/prompts:hmy #42",
      "configPath": "~/.codex/config.toml"
    },
    {
      "id": "cursor",
      "name": "Cursor",
      "workflow": "MCP tools auto-available",
      "configPath": ".cursor/mcp.json"
    }
  ],
  "api": {
    "openapi": "https://gethmy.com/openapi.yaml",
    "baseUrl": "https://gethmy.com/api/v1"
  },
  "links": {
    "npm": "https://www.npmjs.com/package/@gethmy/mcp",
    "setup": "https://gethmy.com/docs/mcp",
    "source": "https://github.com/gethmy/harmony",
    "llmsTxt": "https://gethmy.com/llms.txt"
  }
}
