pickanagency

Search 47,000+ marketing agencies and get AI-matched with fitted agencies, from Pick an Agency.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~878Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (0.69% 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": {
    "pickanagency": {
      "url": "https://www.pickanagency.com/api/mcp/mcp"
    }
  }
}

Remote endpoints

https://www.pickanagency.com/api/mcp/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_agencies(query, service, country, city, industry, ...)

Search Pick an Agency's directory of 47,000+ marketing agencies. Filter by free-text query, service (e.g. SEO, paid ads, social media), country, city, industry, and minimum rating. Returns the top matches with location, rating, reviews and profile link. WHEN TO USE: for browsing or filtering ('show me SEO agencies in Berlin', 'agencies named X') when the user wants a LIST to explore. Use match_agencies instead when the user describes their project/brief and wants a RECOMMENDATION; use get_agency for full detail on one specific agency.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search (agency name, keyword), up to 200 characters.",
      "type": "string"
    },
    "service": {
      "description": "Service, e.g. 'SEO', 'Social Media Marketing', 'Paid Advertising'.",
      "type": "string"
    },
    "country": {
      "description": "Country, e.g. 'United States', 'France'.",
      "type": "string"
    },
    "city": {
      "description": "City, e.g. 'Berlin', 'New York'.",
      "type": "string"
    },
    "industry": {
      "description": "Industry focus, e.g. 'SaaS', 'Healthcare'.",
      "type": "string"
    },
    "min_rating": {
      "description": "Minimum overall rating (0-5).",
      "type": "number",
      "minimum": 0,
      "maximum": 5
    },
    "limit": {
      "description": "Max results (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢match_agencies(services, country, city, budget, industry, ...)

Pick an Agency's matching engine. Given a buyer brief (services needed, location, budget, industry), returns a short ranked shortlist of agencies that best fit - the same logic behind the free 'Get Matched' tool. WHEN TO USE: when the user describes their needs/project and wants a RECOMMENDATION ('I need a social media agency in Paris, ~$5k/month'). Requires at least one service. Use search_agencies instead for open browsing/filtering without a brief; use get_agency to drill into one result afterwards.

Input Schema

{
  "type": "object",
  "properties": {
    "services": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Services the buyer needs, e.g. ['SEO', 'Content Marketing']."
    },
    "country": {
      "description": "Target country.",
      "type": "string"
    },
    "city": {
      "description": "Target city.",
      "type": "string"
    },
    "budget": {
      "description": "Monthly budget, e.g. '$5k-10k' or '5000'. Agencies whose stated minimum budget is above it rank lower.",
      "type": "string"
    },
    "industry": {
      "description": "Buyer's industry, e.g. 'E-commerce'.",
      "type": "string"
    },
    "platforms": {
      "description": "Ad platforms, e.g. ['Meta Ads', 'Google Ads']. Agencies listing them rank higher.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Shortlist size (default 5).",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "services"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_agency(slug)

Fetch a single agency's full profile from Pick an Agency by its slug (the last path segment of its profile URL), including description, location, rating, services, website and a few recent client reviews. WHEN TO USE: after search_agencies or match_agencies returned a result the user wants to know more about, or when the user names a specific agency whose slug you already know. Don't guess slugs - find them via search_agencies first.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Agency slug, e.g. 'disruptive-advertising'."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools