TaskBullet Site Guide

Public, no-auth MCP for taskbullet.com: services, pricing, intent routing and the right next URL.

Should I use this

Quality & Safety

A
Description quality
88%
Schema completeness
78%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_pricing' description lacks action verbin get_pricing
  • LOWTool 'recommend_path' description lacks action verbin recommend_path

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,270Tokens (tool definitions)
~2.4 KBTypical response size
Moderate attention impact (0.99% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "taskbullet-site": {
      "url": "https://taskbullet.com/api/mcp"
    }
  }
}

Remote endpoints

https://taskbullet.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢understand_site

What TaskBullet is, who the site is for, and what the site wants from a visitor. Call this first.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "what_the_site_wants": {
      "type": "string"
    },
    "tagline": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "icp": {
      "type": "string"
    },
    "not_for": {
      "type": "string"
    },
    "for_agents": {
      "type": "string"
    },
    "mcp_endpoint": {
      "type": "string"
    },
    "conversion_paths": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "hire_trial",
        "pricing",
        "how_it_works",
        "agent_api",
        "for_ai_agents",
        "site_mcp",
        "existing_client",
        "apply_to_work"
      ],
      "properties": {
        "hire_trial": {
          "type": "string"
        },
        "pricing": {
          "type": "string"
        },
        "how_it_works": {
          "type": "string"
        },
        "agent_api": {
          "type": "string"
        },
        "for_ai_agents": {
          "type": "string"
        },
        "site_mcp": {
          "type": "string"
        },
        "existing_client": {
          "type": "string"
        },
        "apply_to_work": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "company",
    "what_the_site_wants",
    "tagline",
    "description",
    "icp",
    "not_for",
    "for_agents",
    "mcp_endpoint",
    "conversion_paths"
  ],
  "additionalProperties": false
}
🟢match_intent(message, pageUrl)

Classify what a visitor or their AI wants from taskbullet.com (hire a VA, apply for a job, existing client, or Agent API) and return the next URL. Job seekers are never hire conversions.

Input Schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "maxLength": 2000,
      "description": "What the visitor said or asked. Capped at 2000 characters."
    },
    "pageUrl": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional page they are on. Capped at 500 characters."
    }
  },
  "required": [
    "message"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "audience": {
      "type": "string",
      "enum": [
        "hire_va",
        "work_va",
        "needs_intent",
        "existing_client",
        "ai_agent"
      ]
    },
    "isHireConversion": {
      "type": "boolean"
    },
    "ask": {
      "type": "string"
    },
    "reply": {
      "type": "string"
    },
    "nextUrls": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "label",
          "url"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      }
    }
  },
  "required": [
    "audience",
    "isHireConversion",
    "ask",
    "reply",
    "nextUrls"
  ],
  "additionalProperties": false
}
🟢list_services(query)

List TaskBullet VA service categories and common tasks.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 80,
      "description": "Optional filter, e.g. shopify or real estate. Capped at 80 characters."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "slug",
          "title",
          "url",
          "description",
          "commonTasks"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "commonTasks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "query": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "services"
  ],
  "additionalProperties": false
}
🟢get_pricing(team)

Return current PH and US bucket pricing and the free-trial URL.

Input Schema

{
  "type": "object",
  "properties": {
    "team": {
      "type": "string",
      "enum": [
        "ph",
        "us",
        "both"
      ],
      "description": "Which team rates to return. Defaults to both."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "philippinesBased": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "hours",
          "monthlyRate",
          "perHour"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "hours": {
            "type": "number"
          },
          "monthlyRate": {
            "type": "number"
          },
          "perHour": {
            "type": "number"
          }
        }
      }
    },
    "usBased": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "hours",
          "monthlyRate",
          "perHour"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "hours": {
            "type": "number"
          },
          "monthlyRate": {
            "type": "number"
          },
          "perHour": {
            "type": "number"
          }
        }
      }
    },
    "allPlansInclude": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "freeTrial": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "hours",
        "creditCardRequired",
        "url"
      ],
      "properties": {
        "hours": {
          "type": "number"
        },
        "creditCardRequired": {
          "type": "boolean"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "pricingPage": {
      "type": "string"
    }
  },
  "required": [
    "model",
    "currency",
    "allPlansInclude",
    "freeTrial",
    "pricingPage"
  ],
  "additionalProperties": false
}
🟢recommend_path(goal)

Return the canonical URL for a known goal. Use match_intent when the goal is unclear.

Input Schema

{
  "type": "object",
  "properties": {
    "goal": {
      "type": "string",
      "enum": [
        "hire",
        "pricing",
        "how_it_works",
        "agent_api",
        "apply_to_work",
        "existing_client"
      ]
    }
  },
  "required": [
    "goal"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "goal": {
      "type": "string",
      "enum": [
        "hire",
        "pricing",
        "how_it_works",
        "agent_api",
        "apply_to_work",
        "existing_client"
      ]
    },
    "isHireConversion": {
      "type": "boolean"
    },
    "url": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "goal",
    "isHireConversion",
    "url",
    "note"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools