# Bugherd — how to use (mcp.ai)

Connect your Bugherd account and use 26 tools for project management straight from your AI agent. Connect with your own API key. BugHerd is a visual feedback and bug tracking tool for websites, allowing clients and teams to report issues directly on live sites.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_bugherd?ms=1787291460000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `bugherd_add_guest_to_project`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/bugherd`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/bugherd/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/bugherd/add/guest/to/project` — Tool to add a guest (client) to a project. Use when you want to add an existing client by ID or invite a new client by email.
  - body: { email?: string, user_id?: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/add/member/to/project` — Tool to add a member to a project in BugHerd. Use when you need to add an existing user to a specific project.
  - body: { user_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/create/attachment` — Tool to add a new attachment to a task using an existing URL. Use when you have project and task IDs and the external file URL ready.
  - body: { url: string, task_id: integer, file_name: string, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/create/column` — Tool to create a new column in a project. Use when you need to add a custom workflow column after identifying the project ID.
  - body: { name: string, position?: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/create/comment` — Tool to add a new comment to a task. Use when you need to record discussion or feedback on an existing task.
  - body: { text: string, email?: string, task_id: integer, user_id?: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/create/project` — Tool to create a new project. Use when you need to initialize a project after gathering its name and URL. Example: "Create a new project named 'My Website' with URL 'http://www.example.com'."
  - body: { project: object }
- `POST https://api.mcp.ai/api/bugherd/create/task` — Tool to add a new task in a project. Use when you have the project ID and full task details ready.
  - body: { status?: string, priority?: string, tag_names?: string[], project_id: integer, description: string, external_id?: string, requester_id?: integer, assigned_to_id?: integer, requester_email?: string, assigned_to_email?: string }
- `POST https://api.mcp.ai/api/bugherd/create/webhook` — Tool to create a new webhook for real-time event notifications. Use when you need to configure a callback endpoint for task or comment events. Example: "Create a webhook for 'task_create' events to be
  - body: { event: string, project_id?: integer, target_url: string }
- `POST https://api.mcp.ai/api/bugherd/delete/project` — Tool to delete a project. Use when you need to permanently remove a project and its associated data. This action cannot be undone, so confirm the project ID before calling.
  - body: { project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/list/active/projects` — Tool to list all active projects in your BugHerd account. Use when you need to retrieve the active projects list (e.g., for syncing or reporting).
  - body: { page?: integer }
- `POST https://api.mcp.ai/api/bugherd/list/attachments` — Tool to list all attachments for a task. Use when you need to retrieve file attachments after fetching task details.
  - body: { page?: integer, task_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/list/columns` — Tool to list all columns for a project. Use when you need the full set of default and custom columns for a project.
  - body: { project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/list/project/tasks` — Tool to list tasks within a specific BugHerd project with optional server-side filters (status/column, assignee, tag, priority, date filters) and pagination. Use when you need to retrieve tasks scoped
  - body: { tag?: string, page?: integer, status?: string, priority?: string, project_id: integer, external_id?: string, created_since?: string, updated_since?: string, assigned_to_id?: integer }
- `POST https://api.mcp.ai/api/bugherd/list/projects` — Retrieves a paginated list of all projects in your BugHerd account. Returns project details including ID, name, creation date, owner, task status, and associated website URLs. Results are paginated wi
  - body: { page?: integer }
- `POST https://api.mcp.ai/api/bugherd/list/users` — Tool to list all users in your account. Use after authenticating to fetch the current user roster. Supports pagination via the `page` parameter.
  - body: { page?: integer }
- `POST https://api.mcp.ai/api/bugherd/list/webhooks` — Tool to list all installed webhooks. Use when you need to audit or verify existing webhooks after setup.
- `POST https://api.mcp.ai/api/bugherd/show/attachment` — Tool to retrieve details of a specific attachment. Use after you have project_id, task_id, and attachment_id to get filename, URL, and timestamps.
  - body: { task_id: integer, project_id: integer, attachment_id: integer }
- `POST https://api.mcp.ai/api/bugherd/show/column` — Tool to show details of a specific column. Use when you need metadata for a particular column within a project.
  - body: { column_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/show/organization` — Tool to retrieve your BugHerd organization details. Use after authenticating to fetch account metadata.
- `POST https://api.mcp.ai/api/bugherd/show/project` — Retrieves full details of a specific BugHerd project by ID. Returns comprehensive project information including name, settings, team members, guests, and kanban columns. Use this when you need detaile
  - body: { project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/show/user/projects` — Tool to list all projects a specific user has access to. Use after obtaining the user's ID.
  - body: { page?: integer, user_id: integer }
- `POST https://api.mcp.ai/api/bugherd/show/user/tasks` — Retrieves all tasks created by or assigned to a specific user, grouped by project. Returns task details including ID, description, priority, status, timestamps, and tags. Requires a valid user_id (obt
  - body: { page?: integer, user_id: integer }
- `POST https://api.mcp.ai/api/bugherd/update/column` — Tool to update a column in a project. Use when you have the project and column IDs and need to rename a column. Use after confirming the correct IDs.
  - body: { column: object, column_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/update/project` — Update settings for an existing BugHerd project. Use this to modify a project's name, URL, visibility settings, or guest permissions. Prerequisites: You need a valid project_id. Use list_projects to f
  - body: { project: object, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/update/task` — Tool to update a task in a project. Use after confirming the project and task IDs.
  - body: { task: object, task_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/bugherd/upload/attachment` — Tool to upload a new attachment and add it to a specific task. Use when you have binary file content ready and need to attach it to a BugHerd task.
  - body: { task_id: integer, file_name: string, project_id: integer, file_content: string }

## Example prompts
- "What can I do in Bugherd?"
- "Show me a summary of my Bugherd account"

## More
- Page: https://mcp.ai/bugherd
- Agent spec (llms.txt): https://mcp.ai/bugherd/llms.txt
- Postman collection: https://mcp.ai/bugherd/postman.json
