# Agoria (remote · agoria.studio)

Search local businesses and book, order, quote or message any of them from one connection.

- Trust score: 86/100 (high trust)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- remote · `agoria.studio`: 86/100 (this document), [markdown](https://verifymcp.io/servers/studio-agoria-registry/agoria.md), [page](https://verifymcp.io/servers/studio-agoria-registry/agoria)

## Channel facts

- Endpoint: `https://agoria.studio/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Endpoint Security**: 77/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 80/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1732 tokens (~96/item across 18 items; 18 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 74% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Agoria MCP server?

Agoria is a hosted endpoint at https://agoria.studio/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http studio-agoria-registry 'https://agoria.studio/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "studio-agoria-registry": {
      "url": "https://agoria.studio/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "studio-agoria-registry": {
      "type": "http",
      "url": "https://agoria.studio/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.studio-agoria-registry]
url = "https://agoria.studio/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "studio-agoria-registry": {
      "type": "remote",
      "url": "https://agoria.studio/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add studio-agoria-registry --url 'https://agoria.studio/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  studio-agoria-registry:
    url: "https://agoria.studio/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "studio-agoria-registry": {
      "Transport": "http",
      "Url": "https://agoria.studio/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add studio-agoria-registry -t streamable-http -u 'https://agoria.studio/mcp'
```

### Other

```json
{
  "mcpServers": {
    "studio-agoria-registry": {
      "type": "http",
      "url": "https://agoria.studio/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-17 (score 86, +16)

- [security regression] HSTS header: unverified → fail
- [security improvement] Authorization: unverified → partial
- [security improvement] Transport: fail → pass

### 2026-09-16 (score 70, −16)

- [security regression] HSTS header: fail → unverified
- [security regression] Authorization: partial → unverified
- [security regression] Transport: pass → fail

### 2026-09-06 (score 86, 0)

- [security] Stability: 0.97 → pass

### 2026-09-04 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-02 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-31 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-29 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-27 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (18)

### `search_businesses` (~84 tokens)

Search the business directory

Find businesses on Agoria by free-text query, category, and/or city. Returns each business's slug plus the actions its agent can take, so you can act on it directly from this same connection.

Input parameters:

- `category` (string)
- `city` (string)
- `query` (string): e.g. 'emergency plumber', 'gluten free pizza'

### `search_market` (~264 tokens)

Search everything for sale

Search individual items across every business on the network — property listings, vehicles, courses, products, services, events, plans — with typed filters, a price range and a radius around a place. Prefer this over search_businesses whenever the user is looking for a THING rather than a company. Returns items with prices, locations, photo counts and the seller's verification status.

Input parameters:

- `filters` (object): Typed facet filters keyed by field id, e.g. {"beds":{"min":3},"make":"toyota"}
- `kind` (array): Item kinds to include, e.g. ['listing'], ['vehicle'], ['course']. Call list_market_filters to see what exists.
- `limit` (number)
- `maxPrice` (number)
- `minPrice` (number)
- `page` (number)
- `query` (string): Free text, e.g. 'renovated terrace', 'diesel ute'
- `radiusKm` (number): Radius around `where`. Defaults to the size of the place named.
- `sort` (string)
- `verifiedOnly` (boolean): Only items from businesses whose details have been checked against an outside register
- `where` (string): A suburb, postcode, city or 'lat,lng'

### `ask_market` (~85 tokens)

Search everything for sale, in one sentence

Same index as search_market, but takes a plain sentence — 'three bedroom house under 800k in Geelong', 'automatic ute under 80,000km' — and works out the filters itself. Use it when you have the user's own words; use search_market when you already know the exact filters.

Input parameters:

- `question` (string, required): The user's request, in their words

### `get_item` (~92 tokens)

Get one item for sale

Everything about a single item: full facets, photos, where it is, who is selling it and how well-proven they are, a price guide computed from comparable items on the network, and the adjacent services a buyer usually needs next (finance, inspection, conveyancing, transport).

Input parameters:

- `ref` (string, required): Item ref from search_market, e.g. 'acme-motors/offering:stk991'

### `list_market_filters` (~49 tokens)

List the item kinds and filters available

What can be searched and filtered on. Call this when you are unsure which `kind` or which `filters` keys search_market will accept.

Input parameters:

- `kind` (array): Narrow to specific kinds

### `price_guide` (~120 tokens)

What is a fair price?

A price distribution for comparable items on the network — asking prices, and where the network settled the sale, what buyers actually paid. Widens the comparison and says so when the exact match is too thin to be meaningful.

Input parameters:

- `attributes` (object, required): What is being priced, e.g. {"make":"Toyota","model":"HiLux","year":2021}
- `kind` (string, required): Item kind, e.g. 'vehicle' or 'listing'
- `where` (string): Restrict to a locality first; dropped automatically if too thin

### `create_want` (~119 tokens)

Tell the network what you're looking for

Save a standing search on the customer's behalf. They get told when matching supply appears, AND — anonymously, without their contact details — sellers who could satisfy it can see it and offer. Use this when search_market found nothing good: it converts a dead end into a request the market can answer.

Input parameters:

- `cadence` (string): How often to tell them about new matches
- `contact` (string, required): The customer's email — never shown to sellers
- `name` (string)
- `request` (string, required): What they want, in their words

### `open_demand` (~69 tokens)

What buyers are looking for and nobody is supplying

Open standing requests from real buyers, anonymised. Useful for a business deciding what to stock or list, and for understanding where the network has no supply at all.

Input parameters:

- `kind` (array)
- `unmetOnly` (boolean): Only requests nothing currently matches
- `where` (string)

### `resolve_place` (~61 tokens)

Turn a place name into a point and a radius

Resolve a suburb, postcode or city to coordinates and the radius that name implies. Use it to check a place exists before passing it to search_market.

Input parameters:

- `where` (string, required): e.g. 'Fitzroy', '3065', 'Geelong VIC'

### `get_business` (~47 tokens)

Get a business profile

Get full details for a business by slug: description, contact, hours, services, FAQs, and the actions its agent supports.

Input parameters:

- `slug` (string, required): Business slug from search_businesses

### `list_products` (~57 tokens)

List products at a business

List the products a business sells by slug — price/sale, availability/stock, brand, SKU/GTIN, variants, specs, dimensions.

Input parameters:

- `query` (string): Optional keyword filter
- `slug` (string, required): Business slug

### `get_reviews` (~53 tokens)

Get reviews & rating for a business

Get a business's aggregate rating and reviews by slug. Optionally filter to a product/service id.

Input parameters:

- `slug` (string, required): Business slug
- `targetId` (string): Product/service id; omit for whole business

### `check_availability` (~59 tokens)

Check availability at a business

Check open appointment slots for a service at a business on a date (YYYY-MM-DD).

Input parameters:

- `date` (string, required): YYYY-MM-DD
- `serviceId` (string, required): Service id from get_business
- `slug` (string, required): Business slug

### `book_appointment` (~84 tokens)

Book an appointment at a business

Book an appointment at any business by slug. Confirm the slot with check_availability first.

Input parameters:

- `customerContact` (string, required): Phone or email
- `customerName` (string, required)
- `note` (string)
- `serviceId` (string, required)
- `slug` (string, required): Business slug
- `startsAt` (string, required): ISO datetime from check_availability

### `take_action` (~138 tokens)

Take an action at a business

Perform any non-booking action a business supports (request_quote, place_order, send_message, pay_invoice, sign_document, subscribe, register…). Get valid action ids and their fields from get_business. Pass the action's fields as a JSON object. If the result is 'action_required', hand the user the next.url (payment/signing link) or re-call with fields.confirmToken to confirm.

Input parameters:

- `action` (string, required): Action id, e.g. 'request_quote'
- `fields` (object, required): The action's input fields as a JSON object (include confirmToken to complete a gated action)
- `slug` (string, required): Business slug

### `request_quotes` (~207 tokens)

Get quotes from several businesses at once

Describe a job once and send it to the businesses that can price it. Each one answers with a real number, what it covers, and how long the price stands. Returns a briefToken — poll compare_quotes with it to see the prices as they land, then accept_quote to choose one. Use this instead of calling request_quote at each business separately.

Input parameters:

- `budget` (number)
- `category` (string): Business category to target, e.g. 'Plumber'
- `customerContact` (string, required): Email or phone — businesses quote back to this
- `customerName` (string)
- `details` (string, required): What the customer needs, in plain language. The more specific, the better the quotes.
- `location` (string): City or suburb
- `neededBy` (string): When it's needed
- `slugs` (array): Specific businesses to ask. Omit to have Agoria match them.
- `title` (string): Short label for the job

### `compare_quotes` (~57 tokens)

Compare the quotes on a brief

See every business's answer to a brief side by side: price, what it covers, lead time, rating, whether the payment would be protected, and which is cheapest or soonest.

Input parameters:

- `briefToken` (string, required): From request_quotes

### `accept_quote` (~87 tokens)

Accept one of the quotes

Choose a business's quote. This creates a real order at that business and declines the others. If that business protects payments, the reply carries a payment link where the money is held by Agoria until the customer confirms they got the work — hand that link to the customer.

Input parameters:

- `briefToken` (string, required): From request_quotes
- `slug` (string, required): The business whose quote to accept

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/studio-agoria-registry/agoria#diagnostics

## Score history

- 2026-09-21: 86
- 2026-09-20: 86
- 2026-09-19: 86
- 2026-09-18: 86
- 2026-09-17: 86
- 2026-09-16: 70
- 2026-09-15: 86
- 2026-09-14: 86
- 2026-09-13: 86
- 2026-09-12: 86
- 2026-09-11: 86
- 2026-09-10: 86
- 2026-09-09: 86
- 2026-09-08: 86
- 2026-09-07: 86
- 2026-09-06: 86
- 2026-09-05: 86
- 2026-09-04: 86
- 2026-09-03: 85
- 2026-09-02: 85
- 2026-09-01: 84
- 2026-08-31: 84
- 2026-08-30: 83
- 2026-08-29: 83
- 2026-08-28: 82
- 2026-08-27: 82
- 2026-08-26: 81
- 2026-08-25: 80
- 2026-08-24: 79
- 2026-08-23: 79

## Common questions

### What is the Agoria MCP server?

Agoria is an MCP server listed in the public MCP registry as studio.agoria/registry. Search local businesses and book, order, quote or message any of them from one connection. This page covers its hosted endpoint (https://agoria.studio/mcp).

### Is the Agoria MCP server safe to use?

Agoria scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Agoria MCP server expose?

Agoria exposes 18 tools: search_businesses, search_market, ask_market, get_item, list_market_filters, and 13 more. Their descriptions and schemas cost roughly 1,732 tokens of context every time the server is loaded.

### Does the Agoria MCP server require authentication?

No. We connected to Agoria without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Agoria MCP server still maintained?

Agoria is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://agoria.studio/mcp
- Repository: https://github.com/mohamedalmorsy/agoria
- Changelog RSS feed: https://verifymcp.io/servers/studio-agoria-registry/agoria.xml
- Changelog JSON feed: https://verifymcp.io/servers/studio-agoria-registry/agoria.json
- HTML version of this page: https://verifymcp.io/servers/studio-agoria-registry/agoria
