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

@dobbyai/mcp-external

v1.0.4

Published

MCP Server for Dobby AI Platform - Connect from Claude Desktop, Cursor, Windsurf, and more

Readme

Dobby MCP Server

Connect to Dobby AI Platform from Claude Desktop, Cursor, Windsurf, VS Code, and any MCP-compatible client.

🚀 Quick Start

Option 1: Interactive Setup (Recommended)

npx @dobbyai/mcp-external --setup

This will guide you through connecting Dobby to your preferred AI tools.

Option 2: Manual Setup

  1. Get your API credentials from Dobby Dashboard
  2. Add to your MCP client config:
{
  "mcpServers": {
    "dobby": {
      "command": "npx",
      "args": ["-y", "@dobbyai/mcp-external"],
      "env": {
        "DOBBY_API_URL": "https://app.dobby.ai",
        "DOBBY_API_KEY": "your-api-key",
        "DOBBY_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

📱 Supported Clients

| Client | Status | Setup Command | |--------|--------|---------------| | Claude Desktop | ✅ Full Support | npx @dobbyai/mcp-external --setup | | Cursor | ✅ Full Support | npx @dobbyai/mcp-external --setup | | Windsurf | ✅ Full Support | npx @dobbyai/mcp-external --setup | | VS Code (Cline) | ✅ Full Support | Manual config | | VS Code (Continue) | ✅ Full Support | Manual config | | Any MCP Client | ✅ STDIO Mode | Manual config |


🔧 Available Tools (36 Tools)

Task Management (6 tools)

| Tool | Description | Example | |------|-------------|---------| | create_task | Create a new task for AI agents | create_task(title: "Add dark mode", priority: "high") | | list_tasks | List tasks with filters | list_tasks(status: "pending", limit: 10) | | get_task | Get detailed task information | get_task(task_id: "task-abc123") | | update_task | Update task status or priority | update_task(task_id: "...", status: "in_progress") | | get_task_timeline | Get activity history for a task | get_task_timeline(task_id: "...") | | cancel_task | Cancel a running task | cancel_task(task_id: "...") |

Conversation (2 tools)

| Tool | Description | Example | |------|-------------|---------| | get_messages | Get conversation for a task | get_messages(task_id: "...", limit: 20) | | send_message | Send a message to task conversation | send_message(task_id: "...", content: "Please add tests") |

Approvals - Human-in-the-Loop (4 tools)

| Tool | Description | Example | |------|-------------|---------| | get_pending_approvals | List approvals waiting for you | get_pending_approvals() | | approve_task | Approve a pending request (auto-merges PR) | approve_task(approval_id: "...", note: "LGTM") | | reject_task | Reject with feedback (agent retries automatically) | reject_task(approval_id: "...", reason: "Need tests") | | request_changes | Request specific modifications | request_changes(approval_id: "...", changes: "...") |

Service Discovery (1 tool)

| Tool | Description | Example | |------|-------------|---------| | list_services | List all available services and capabilities | list_services(category: "llm") |

CrewAI Platform (4 tools)

| Tool | Description | Example | |------|-------------|---------| | crewai_health | Check health of connected CrewAI agent | crewai_health() | | crewai_inputs | Get required input fields for a crew | crewai_inputs() | | crewai_kickoff | Start a CrewAI crew execution | crewai_kickoff(inputs: { topic: "AI agents" }) | | crewai_status | Check status of a crew execution | crewai_status(kickoff_id: "...") |

Crew Builder (4 tools)

| Tool | Description | Example | |------|-------------|---------| | crew_validate | Validate crew YAML configurations | crew_validate(agents_yaml: "...", tasks_yaml: "...") | | crew_kickoff | Create and start a crew from YAML | crew_kickoff(agents_yaml: "...", tasks_yaml: "...") | | crew_status | Check status of a local crew run | crew_status(run_id: "...") | | crew_list | List recent crew runs | crew_list(limit: 10) |

MCP Remote Tools (2 tools)

| Tool | Description | Example | |------|-------------|---------| | mcp_discover_tools | Discover tools on a remote MCP server | mcp_discover_tools(provider_id: "langsmith") | | mcp_call_tool | Call a tool on a remote MCP server | mcp_call_tool(tool_name: "...", tool_arguments: {...}) |

Jira Cloud Integration (10 tools)

| Tool | Description | Example | |------|-------------|---------| | jira_search_issues | Search issues using JQL | jira_search_issues(jql: "project = DEV AND status = Open") | | jira_get_issue | Get detailed issue information | jira_get_issue(issue_key: "DEV-123") | | jira_create_issue | Create a new Jira issue | jira_create_issue(project_key: "DEV", summary: "...") | | jira_update_issue | Update an existing issue | jira_update_issue(issue_key: "DEV-123", summary: "...") | | jira_add_comment | Add a comment to an issue | jira_add_comment(issue_key: "DEV-123", body: "...") | | jira_get_comments | Get comments on an issue | jira_get_comments(issue_key: "DEV-123") | | jira_get_transitions | Get available workflow transitions | jira_get_transitions(issue_key: "DEV-123") | | jira_transition_issue | Transition issue to a new status | jira_transition_issue(issue_key: "DEV-123", transition_id: "31") | | jira_list_projects | List all accessible Jira projects | jira_list_projects() | | jira_assign_issue | Assign an issue to a user | jira_assign_issue(issue_key: "DEV-123", account_id: "...") |


🔄 Approval Flow

The Dobby MCP Server supports a complete Human-in-the-Loop workflow:

┌─────────────────────────────────────────────────────────────────┐
│                    APPROVAL WORKFLOW                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  1. Agent completes work → Creates PR → Requests approval        │
│                                                                  │
│  2. User receives notification via get_pending_approvals         │
│                                                                  │
│  3. User reviews and decides:                                    │
│                                                                  │
│     ┌─────────────────┐     ┌─────────────────┐                 │
│     │  approve_task   │     │   reject_task   │                 │
│     │                 │     │                 │                 │
│     │  ✅ Auto-merge  │     │  🔁 Auto-retry  │                 │
│     │     PR          │     │  with feedback  │                 │
│     └────────┬────────┘     └────────┬────────┘                 │
│              │                       │                           │
│              ▼                       ▼                           │
│     ┌─────────────────┐     ┌─────────────────┐                 │
│     │ Task Completed  │     │ Agent Addresses │                 │
│     │ 🎉              │     │ Feedback & ...  │──► Back to 1    │
│     └─────────────────┘     └─────────────────┘                 │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Approve Flow

  1. User calls approve_task(approval_id, note?)
  2. Agent automatically merges the PR
  3. Task status changes to completed
  4. User gets confirmation via get_task_timeline

Reject Flow (with automatic retry)

  1. User calls reject_task(approval_id, reason)
  2. Agent receives feedback
  3. Agent re-analyzes and addresses the feedback
  4. Agent creates new implementation
  5. New approval is requested
  6. User reviews again

📊 Task Timeline

Track every action on a task with get_task_timeline:

📊 Timeline for Task task-abc123

🆕 task created (User)
   2/2/2026, 10:00:00 AM

📋 plan created (DevCoordinator)
   2/2/2026, 10:00:05 AM

▶️ subtask started (dobby-frontend-agent)
   2/2/2026, 10:00:10 AM

🎨 frontend code generated (FrontendDeveloper)
   2/2/2026, 10:01:30 AM

📝 pr created (FrontendDeveloper)
   PR #42
   2/2/2026, 10:01:45 AM

⏳ approval requested (DevCoordinator)
   2/2/2026, 10:01:50 AM

✅ approval approved (User)
   2/2/2026, 10:05:00 AM

🚀 agent continuation triggered (system)
   2/2/2026, 10:05:01 AM

🔀 pr merged (DevCoordinator)
   PR #42
   2/2/2026, 10:05:10 AM

🎉 continuation after approval completed (DevCoordinator)
   2/2/2026, 10:05:15 AM

📚 Resources

Access data directly via MCP resources:

tasks://list              # All tasks
tasks://pending           # Pending tasks
tasks://in-progress       # In-progress tasks
tasks://completed         # Completed tasks
tasks://{task_id}         # Specific task details
tasks://{task_id}/messages # Task conversation
approvals://pending       # Pending approvals

💬 Prompts (Slash Commands)

| Command | Description | |---------|-------------| | /create-feature | Guided feature creation | | /fix-bug | Create bug fix task | | /check-approvals | Review pending approvals | | /task-status | Get task status summary | | /review-pr | Review a task's PR |


🖥️ Client-Specific Setup

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "dobby": {
      "command": "npx",
      "args": ["-y", "@dobbyai/mcp-external"],
      "env": {
        "DOBBY_API_URL": "https://app.dobby.ai",
        "DOBBY_API_KEY": "dk_your_api_key",
        "DOBBY_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

Cursor

Settings → MCP → Add Server:

{
  "dobby": {
    "command": "npx",
    "args": ["-y", "@dobbyai/mcp-external"],
    "env": {
      "DOBBY_API_URL": "https://app.dobby.ai",
      "DOBBY_API_KEY": "dk_your_api_key",
      "DOBBY_TENANT_ID": "your-tenant-id"
    }
  }
}

Windsurf

File: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "dobby": {
      "command": "npx",
      "args": ["-y", "@dobbyai/mcp-external"],
      "env": {
        "DOBBY_API_URL": "https://app.dobby.ai",
        "DOBBY_API_KEY": "dk_your_api_key",
        "DOBBY_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

VS Code with Cline

Command Palette → "Cline: Open MCP Settings" → Add:

{
  "mcpServers": {
    "dobby": {
      "command": "npx",
      "args": ["-y", "@dobbyai/mcp-external"],
      "env": {
        "DOBBY_API_URL": "https://app.dobby.ai",
        "DOBBY_API_KEY": "dk_your_api_key",
        "DOBBY_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

🔐 Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | DOBBY_API_URL | Yes | Dobby API URL (default: https://app.dobby.ai) | | DOBBY_API_KEY | Yes | Your Dobby API key | | DOBBY_TENANT_ID | Yes | Your workspace/tenant ID | | DOBBY_USER_ID | No | User ID for messages | | DOBBY_USER_NAME | No | Display name for messages |


📖 Usage Examples

Create a Feature Task

You: Create a task to add dark mode to the settings page

Claude: [Uses create_task tool]
        ✅ Task created: task-abc123
        Title: Add dark mode to settings page
        Priority: medium

        The AI agents will start working on it soon.

Check Approvals

You: Check my pending approvals

Claude: [Uses get_pending_approvals]

        🔔 You have 2 pending approvals:

        1. 📝 PR CREATE - Add user authentication
           ID: approval-xyz789
           Waiting: 5 minutes

        2. 🔀 PR MERGE - Fix login bug
           ID: approval-abc456
           Waiting: 1 hour

        Which one would you like to review?

Approve a PR (Auto-Merge)

You: Approve approval-xyz789 with note "looks good"

Claude: [Uses approve_task]
        ✅ **Approved!** approval-xyz789

        Note: "looks good"

        🔀 The agent is now merging the PR automatically.
        Use `get_task_timeline` to track progress.

Reject with Feedback (Auto-Retry)

You: Reject approval-abc456 because it needs unit tests

Claude: [Uses reject_task]
        ❌ **Rejected!** approval-abc456

        💬 Feedback: "needs unit tests"

        🔁 The agent is now retrying and will address your feedback.
        Use `get_task_timeline` to track progress.

Cancel Running Task

You: Cancel task-def789, it's taking too long

Claude: [Uses cancel_task]
        🛑 Task task-def789 execution cancelled successfully.

        The task status has been reverted to pending.

View Task Timeline

You: Show me the timeline for task-abc123

Claude: [Uses get_task_timeline]

        📊 Timeline for Task task-abc123

        🆕 **task created** (User)
           2/2/2026, 10:00:00 AM

        📋 **plan created** (DevCoordinator)
           2/2/2026, 10:00:05 AM

        🎨 **frontend code generated** (FrontendDeveloper)
           2/2/2026, 10:01:30 AM

        📝 **pr created** PR #42
           2/2/2026, 10:01:45 AM

        ✅ **approval approved**
           2/2/2026, 10:05:00 AM

        🔀 **pr merged** PR #42
           2/2/2026, 10:05:10 AM

🏗️ Architecture

┌─────────────────────────────────────────────────────────────────┐
│                     MCP Client                                   │
│         (Claude Desktop, Cursor, Windsurf, etc.)                │
└──────────────────────────┬──────────────────────────────────────┘
                           │ MCP Protocol (STDIO)
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│                   Dobby MCP Server                               │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ 36 Tools        │ Resources       │ Prompts                 ││
│  │                 │                 │                         ││
│  │ Tasks (6)       │ - tasks://      │ - /create-feature       ││
│  │ Messages (2)    │ - approvals://  │ - /fix-bug              ││
│  │ Approvals (4)   │ - services://   │ - /check-approvals      ││
│  │ Services (1)    │                 │ - /task-status          ││
│  │ CrewAI (4)      │                 │ - /review-pr            ││
│  │ Crew Builder (4)│                 │                         ││
│  │ MCP Remote (2)  │                 │                         ││
│  │ Jira Cloud (10) │                 │                         ││
│  │ + 3 more        │                 │                         ││
│  └─────────────────────────────────────────────────────────────┘│
│                              │                                   │
│                    DobbyClient (API)                             │
└──────────────────────────────┬──────────────────────────────────┘
                               │ HTTPS
                               ▼
┌─────────────────────────────────────────────────────────────────┐
│                    Dobby API (Next.js)                          │
│  /api/dobby/tasks        - Task CRUD                             │
│  /api/dobby/tasks/[id]/execute - Execute/Cancel task            │
│  /api/dobby/tasks/[id]/conversation - Messages                  │
│  /api/dobby/approvals    - Approval workflow                    │
└──────────────────────────────┬──────────────────────────────────┘
                               │
                               ▼
┌─────────────────────────────────────────────────────────────────┐
│                  Dobby Python API (FastAPI)                     │
│  POST /api/v1/tasks/{id}/execute   - Start agent execution      │
│  POST /api/v1/tasks/{id}/cancel    - Cancel execution           │
│  GET  /api/v1/runs/{id}/status     - Get run status             │
└──────────────────────────────┬──────────────────────────────────┘
                               │
                               ▼
┌─────────────────────────────────────────────────────────────────┐
│                    AI Agents (Dobby)                            │
│  ┌──────────────┐                                               │
│  │ Chief Agent  │ ─► Analyzes tasks, routes to coordinators     │
│  └──────┬───────┘                                               │
│         │                                                        │
│  ┌──────▼───────┐                                               │
│  │ DevCoordinator│ ─► Manages development workflow              │
│  └──────┬───────┘                                               │
│         │                                                        │
│  ┌──────▼───────────────────────────────────────┐              │
│  │ Workers                                       │              │
│  │ - FrontendDeveloper (React, TypeScript)      │              │
│  │ - BackendDeveloper (Python, FastAPI)         │              │
│  │ - TestWriter (Unit tests)                    │              │
│  │ - CodeReviewer (PR review)                   │              │
│  │ - DevOpsWorker (CI/CD, PR merge)             │              │
│  └───────────────────────────────────────────────┘              │
└─────────────────────────────────────────────────────────────────┘

🛠️ Development

# Clone the repo
git clone https://github.com/gil-dataopsvalley/repo-dobby.git
cd repo-dobby/mcp/external

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run tests
npm test

Local Testing

# Set environment variables
export DOBBY_API_URL=http://localhost:3000
export DOBBY_API_KEY=dev-key
export DOBBY_TENANT_ID=your-tenant-id

# Run the server
npm run dev

📝 Changelog

v1.0.3 (2026-02-26)

  • NEW: Jira Cloud integration — 10 tools for issue management (search, create, update, comment, transition, assign)
  • NEW: CrewAI Platform tools (4) — health, inputs, kickoff, status
  • NEW: Crew Builder tools (4) — validate, kickoff, status, list
  • NEW: MCP Remote tools (2) — discover and call tools on external MCP servers
  • NEW: Service Discovery tool — list all available services and capabilities
  • NEW: Gateway auth integration — optional scope enforcement and audit logging
  • TOTAL: 36 tools available

v1.2.0 (2026-02-02)

  • NEW: get_task_timeline tool - View all activity on a task
  • NEW: cancel_task tool - Stop running task executions
  • IMPROVED: approve_task now triggers automatic PR merge
  • IMPROVED: reject_task now triggers automatic agent retry with feedback
  • IMPROVED: Better response messages with action hints

v1.1.0 (2026-01-31)

  • Added VS Code support (Cline, Continue)
  • Added Windsurf connector
  • Fixed approval endpoint compatibility

v1.0.0 (2026-01-29)

  • Initial release
  • 10 tools for task management, messaging, and approvals
  • 7 resources for direct data access
  • 5 slash command prompts
  • Support for Claude Desktop and Cursor

📄 License

MIT © Dobby AI Platform