> ## Documentation Index
> Fetch the complete documentation index at: https://developers.partoo.co/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools Reference

> Complete reference for all 14 tools exposed by the Partoo MCP Server, grouped by category with parameter details.

The Partoo MCP Server exposes **14 tools** across 5 groups. All tools require an `x-APIKey` header — see the [Overview](/guides/mcp/overview) for connection instructions.

***

## Businesses

Search, retrieve, and update business listings managed in Partoo.

### `search_businesses`

Search for businesses with optional filters. Supports fuzzy matching across city, zip code, and business name.

<ParamField body="query" type="string">
  Fuzzy search term matched against city, zip code, and business name.
</ParamField>

<ParamField body="name" type="string">
  Exact business name filter.
</ParamField>

<ParamField body="city" type="string">
  Filter by city.
</ParamField>

<ParamField body="zipcode" type="string">
  Filter by postal code.
</ParamField>

<ParamField body="country" type="string">
  Filter by country. ISO 3166 alpha-2 code (e.g. `FR`, `GB`).
</ParamField>

<ParamField body="status" type="string">
  Filter by business status. One of: `open`, `closed`, `opening_soon`, `temporarily_closed`.
</ParamField>

<ParamField body="code" type="string">
  Filter by internal business code.
</ParamField>

<ParamField body="org_id" type="integer">
  Filter by organisation ID. Available to `PROVIDER` users only.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number (1–100).
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page (1–100).
</ParamField>

<ParamField body="order_by" type="string">
  Field to sort by. Prefix with `-` for descending order (e.g. `-name`).
</ParamField>

***

### `get_business`

Fetch the full detail of a single business.

<ParamField body="business_id" type="string" required>
  Business ID, or `c-{code}` to look up by store code.
</ParamField>

***

### `update_business`

Update one or more fields of an existing business. Only the fields you provide are changed.

<ParamField body="business_id" type="string" required>
  Business ID, or `c-{code}` to look up by store code.
</ParamField>

**Identity**

<ParamField body="name" type="string">
  Business display name.
</ParamField>

<ParamField body="code" type="string">
  Internal store code.
</ParamField>

<ParamField body="groups" type="integer[]">
  Group IDs to assign to the business.
</ParamField>

<ParamField body="categories" type="string[]">
  Category IDs. At least one must be provided if this field is set.
</ParamField>

<ParamField body="national_identification_number" type="string">
  National business registration number.
</ParamField>

**Status**

<ParamField body="status" type="string">
  One of: `open`, `closed`, `temporarily_closed`.
</ParamField>

<ParamField body="opening_date" type="string">
  Planned opening date. Format: `YYYY-MM-DD`.
</ParamField>

**Address**

<ParamField body="address_full" type="string">
  Street address line 1.
</ParamField>

<ParamField body="address2" type="string">
  Street address line 2.
</ParamField>

<ParamField body="city" type="string">
  City.
</ParamField>

<ParamField body="zipcode" type="string">
  Postal code.
</ParamField>

<ParamField body="region" type="string">
  Region or state.
</ParamField>

<ParamField body="country" type="string">
  ISO 3166 alpha-2 country code (e.g. `FR`, `GB`).
</ParamField>

<ParamField body="lat" type="float">
  Latitude in decimal degrees.
</ParamField>

<ParamField body="long" type="float">
  Longitude in decimal degrees.
</ParamField>

**Online presence**

<ParamField body="website_url" type="string">
  Business website URL.
</ParamField>

<ParamField body="facebook_url" type="string">
  Facebook page URL.
</ParamField>

<ParamField body="twitter_url" type="string">
  Twitter / X profile URL.
</ParamField>

**Descriptions**

<ParamField body="description_short" type="string">
  Short description. Maximum 80 characters.
</ParamField>

<ParamField body="description_long" type="string">
  Long description. Maximum 750 characters.
</ParamField>

**Hours & contacts**

<ParamField body="open_hours" type="object">
  Regular opening hours. Provide all 7 days.
</ParamField>

<ParamField body="specific_hours" type="object">
  Exceptional opening periods (holidays, special events).
</ParamField>

<ParamField body="contacts" type="object[]">
  Contact entries (phone numbers, email addresses, etc.).
</ParamField>

<ParamField body="photos" type="object">
  Photo assignments for the business profile.
</ParamField>

***

## Reviews

Search reviews, post replies, and retrieve review analytics.

### `search_reviews`

Search for customer reviews across one or more businesses with optional filters.

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="partner__in" type="string">
  Comma-separated list of review platforms. Accepted values: `google_my_business`, `facebook`, `tripadvisor`.
</ParamField>

<ParamField body="state__in" type="string">
  Comma-separated list of review states. Accepted values: `treated`, `not_treated`, `deleted`.
</ParamField>

<ParamField body="keywords" type="string">
  Comma-separated keywords to search for in review content.
</ParamField>

<ParamField body="update_date__gte" type="string">
  Return reviews updated on or after this date. ISO 8601 format.
</ParamField>

<ParamField body="update_date__lte" type="string">
  Return reviews updated on or before this date. ISO 8601 format.
</ParamField>

<ParamField body="content__isnull" type="string">
  Set to `true` to return only reviews without text content.
</ParamField>

<ParamField body="without_tag" type="boolean">
  Set to `true` to return only untagged reviews.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number (1–100).
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page (1–100).
</ParamField>

<ParamField body="order_by" type="string">
  Sort field. Accepted values: `update_date`, `-update_date`.
</ParamField>

***

### `reply_to_review`

Post a public reply to a customer review.

<ParamField body="review_id" type="integer" required>
  ID of the review to reply to.
</ParamField>

<ParamField body="content" type="string" required>
  Text content of the reply.
</ParamField>

***

### `get_review_metrics`

Retrieve aggregated review analytics such as average rating, rating distribution, reply rate, and trends.

<ParamField body="metrics" type="string" required>
  Comma-separated list of metrics to retrieve. Accepted values: `average_rating`, `rating_distribution`, `reviews_count`, `reply_time`, `reply_means`, `rank`.
</ParamField>

<ParamField body="dimensions" type="string">
  Comma-separated list of dimensions to group by. Accepted values: `day`, `week`, `month`, `year`, `business`, `group`, `tag`.
</ParamField>

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="update_date__gte" type="string">
  Start of the date range. ISO 8601 format.
</ParamField>

<ParamField body="update_date__lte" type="string">
  End of the date range. ISO 8601 format.
</ParamField>

<ParamField body="order_by" type="string">
  Field to sort by. Prefix with `-` for descending order.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number.
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page.
</ParamField>

***

## Messages

List conversations and send messages through Partoo's messaging platform.

### `list_conversations`

List messaging conversations, optionally filtered by business.

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page (1–100).
</ParamField>

<ParamField body="cursor" type="string">
  Pagination cursor returned by the previous response.
</ParamField>

***

### `send_message`

Send a text message in an existing conversation.

<ParamField body="conversation_id" type="integer" required>
  ID of the conversation to send the message to.
</ParamField>

<ParamField body="content" type="string" required>
  Text content of the message.
</ParamField>

***

### `list_messages`

List messages within a conversation.

<ParamField body="conversation_id" type="integer" required>
  ID of the conversation.
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page (1–100).
</ParamField>

<ParamField body="cursor" type="string">
  Pagination cursor returned by the previous response.
</ParamField>

***

## Posts

Create and search social posts published to Google, Facebook, and Instagram.

### `create_post`

Create and publish a post to one or more platforms. Supports news, events, and offers with optional CTAs and scheduling.

<ParamField body="business_ids" type="string[]" required>
  IDs of the businesses to publish the post for.
</ParamField>

<ParamField body="publishers" type="string[]" required>
  Platforms to publish to. Accepted values: `google_my_business`, `facebook`, `instagram`.
</ParamField>

<ParamField body="post_type" type="string" required>
  Type of post. One of: `news`, `event`, `offer`.
</ParamField>

<ParamField body="summary" type="string" required>
  Main text content of the post.
</ParamField>

<ParamField body="title" type="string">
  Post title.
</ParamField>

<ParamField body="image_url" type="string">
  URL of the image to attach to the post.
</ParamField>

<ParamField body="cta_type" type="string">
  Call-to-action button type. One of: `book`, `order`, `shop`, `learn_more`, `sign_up`, `call`, `no_cta`.
</ParamField>

<ParamField body="cta_url" type="string">
  URL linked from the call-to-action button.
</ParamField>

<ParamField body="start_at" type="string">
  Post start date/time in ISO 8601 format. Uses the business's local timezone.
</ParamField>

<ParamField body="end_at" type="string">
  Post end date/time in ISO 8601 format. Uses the business's local timezone.
</ParamField>

<ParamField body="is_draft" type="boolean" default="false">
  Set to `true` to save as a draft instead of publishing immediately.
</ParamField>

***

### `search_posts`

Search posts published across Google, Facebook, Instagram, and Store Locator.

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="summary" type="string">
  Filter by a substring match on the post description.
</ParamField>

<ParamField body="state__in" type="string">
  Comma-separated list of post states. Accepted values: `live`, `to_configure`, `pending`, `scheduled`, `error`, `expired`, `to_validate`.
</ParamField>

<ParamField body="topic_type" type="string">
  Filter by post type. One of: `standard`, `event`, `offer`, `alert`.
</ParamField>

<ParamField body="start_datetime" type="string">
  Return posts starting on or after this date/time. ISO 8601 format.
</ParamField>

<ParamField body="end_datetime" type="string">
  Return posts ending on or before this date/time. ISO 8601 format.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number (1–100).
</ParamField>

<ParamField body="per_page" type="integer" default="30">
  Results per page (1–100).
</ParamField>

***

## Analytics

Query Google Business Profile metrics and search keyword data.

### `get_profile_metrics`

Retrieve Google Business Profile performance metrics such as impressions, direction requests, call clicks, and website clicks.

<ParamField body="metrics" type="string" required>
  Comma-separated list of metrics to retrieve. Accepted values: `business_impressions_desktop_maps`, `business_impressions_desktop_search`, `business_impressions_mobile_maps`, `business_impressions_mobile_search`, `business_direction_requests`, `call_clicks`, `website_clicks`.
</ParamField>

<ParamField body="dimensions" type="string">
  Comma-separated list of dimensions to group by. Accepted values: `business`, `day`, `week`, `month`, `year`.
</ParamField>

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="query" type="string">
  Fuzzy search term matched against city, zip code, and business name.
</ParamField>

<ParamField body="city" type="string">
  Filter by city.
</ParamField>

<ParamField body="filter_date__gte" type="string">
  Start of the date range. ISO 8601 format.
</ParamField>

<ParamField body="filter_date__lte" type="string">
  End of the date range. ISO 8601 format.
</ParamField>

<ParamField body="order_by" type="string">
  Field to sort by. Prefix with `-` for descending order.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number.
</ParamField>

<ParamField body="per_page" type="integer" default="500">
  Results per page (max 500).
</ParamField>

***

### `get_profile_keywords`

Retrieve Google search keywords that drove traffic to business profiles.

<ParamField body="metrics" type="string" required>
  Comma-separated list of metrics to retrieve. Accepted values: `count`, `threshold`.
</ParamField>

<ParamField body="dimensions" type="string">
  Comma-separated list of dimensions to group by. Accepted values: `business`, `keyword`, `month`, `year`, `branded`.
</ParamField>

<ParamField body="business__in" type="string">
  Comma-separated list of business IDs to filter by.
</ParamField>

<ParamField body="branded" type="boolean">
  Set to `true` to return only branded keywords, `false` for discovery keywords only.
</ParamField>

<ParamField body="filter_date__gte" type="string">
  Start of the date range. ISO 8601 format.
</ParamField>

<ParamField body="filter_date__lte" type="string">
  End of the date range. ISO 8601 format.
</ParamField>

<ParamField body="order_by" type="string">
  Field to sort by. Prefix with `-` for descending order.
</ParamField>

<ParamField body="page" type="integer" default="1">
  Page number.
</ParamField>

<ParamField body="per_page" type="integer" default="500">
  Results per page (max 500).
</ParamField>
