# THE COOP (remote · thecoop.media)

Search THE COOP's published iGaming articles, supplier profiles and events with source links.

- Trust score: 83/100 (high trust)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `thecoop.media`: 83/100 (this document), [markdown](https://verifymcp.io/servers/media-thecoop-the-coop/thecoop.md), [page](https://verifymcp.io/servers/media-thecoop-the-coop/thecoop)

## Channel facts

- Endpoint: `https://thecoop.media/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.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-11-05.

- **Endpoint Security**: 74/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 check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3337 tokens (~196/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params.
  - 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**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 88% 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 17 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 THE COOP MCP server?

THE COOP is a hosted endpoint at https://thecoop.media/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 media-thecoop-the-coop 'https://thecoop.media/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "media-thecoop-the-coop": {
      "url": "https://thecoop.media/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "media-thecoop-the-coop": {
      "type": "http",
      "url": "https://thecoop.media/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.media-thecoop-the-coop]
url = "https://thecoop.media/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "media-thecoop-the-coop": {
      "type": "remote",
      "url": "https://thecoop.media/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add media-thecoop-the-coop --url 'https://thecoop.media/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  media-thecoop-the-coop:
    url: "https://thecoop.media/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "media-thecoop-the-coop": {
      "Transport": "http",
      "Url": "https://thecoop.media/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add media-thecoop-the-coop -t streamable-http -u 'https://thecoop.media/mcp'
```

### Other

```json
{
  "mcpServers": {
    "media-thecoop-the-coop": {
      "type": "http",
      "url": "https://thecoop.media/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-11-03 (score 83, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] New tool “calculate_affiliate_commission”
- [functional] New tool “project_affiliate_commission”

### 2026-11-01 (score 83, 0)

- [security] Stability: 0.97 → pass

### 2026-10-31 (score 83, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 2522 → 3129
- [functional regression] Tool coverage: 100% → 91%
- [functional] New tool “compare_payment_capabilities”
- [functional] New tool “get_payment_capabilities”
- [functional] New tool “search_payment_capabilities”

### 2026-10-30 (score 83, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_supplier” rewrote its description, which is the text the model reads
- [security] Tool “search” rewrote its description, which is the text the model reads
- [security] Tool “search_suppliers” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 241 → 210
- [functional] New tool “explain_term”
- [functional] New tool “get_provider”
- [functional] New tool “search_providers”
- [cosmetic] “search” added an optional parameter “provider_category”
- [cosmetic] “get_supplier” reworded the description of “slug”
- [cosmetic] “search” reworded the description of “review_status”
- [cosmetic] “search” reworded the description of “supplier_category”
- [cosmetic] “search” reworded the description of “types”
- [cosmetic] “search_suppliers” reworded the description of “category”
- [cosmetic] “search_suppliers” reworded the description of “query”
- [cosmetic] “search_suppliers” reworded the description of “review_status”
- [cosmetic] Tool “get_supplier” changed its title: Get provider profile → Get supplier (deprecated)
- [cosmetic] Tool “search_suppliers” changed its title: Search providers → Search suppliers (deprecated)

### 2026-10-29 (score 82, +3)

- [security] Tool “about_the_coop” rewrote its description, which is the text the model reads
- [security] Tool “get_article” rewrote its description, which is the text the model reads
- [security] Tool “get_event” rewrote its description, which is the text the model reads
- [security] Tool “get_supplier” rewrote its description, which is the text the model reads
- [security] Tool “list_articles” rewrote its description, which is the text the model reads
- [security] Tool “list_events” rewrote its description, which is the text the model reads
- [security] Tool “list_exhibitors” rewrote its description, which is the text the model reads
- [security] Tool “search” rewrote its description, which is the text the model reads
- [security] Tool “search_suppliers” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional improvement] Tool coverage: 24% → 100%
- [functional] Schema quality: good → excellent
- [cosmetic] “get_article” reworded the description of “slug”
- [cosmetic] “get_event” reworded the description of “include_exhibitors”
- [cosmetic] “get_event” reworded the description of “slug”
- [cosmetic] “get_supplier” reworded the description of “slug”
- [cosmetic] “list_articles” reworded the description of “format”
- [cosmetic] “list_articles” reworded the description of “limit”
- [cosmetic] “list_articles” reworded the description of “page”
- [cosmetic] “list_articles” reworded the description of “topic”
- [cosmetic] “list_events” reworded the description of “limit”
- [cosmetic] “list_events” reworded the description of “page”
- [cosmetic] “list_events” reworded the description of “period”
- [cosmetic] “list_events” reworded the description of “query”
- [cosmetic] “list_events” reworded the description of “region”
- [cosmetic] “list_exhibitors” reworded the description of “category”
- [cosmetic] “list_exhibitors” reworded the description of “event_slug”
- [cosmetic] “list_exhibitors” reworded the description of “limit”
- [cosmetic] “list_exhibitors” reworded the description of “page”
- [cosmetic] “list_exhibitors” reworded the description of “query”
- [cosmetic] “search” reworded the description of “limit”
- [cosmetic] “search” reworded the description of “review_status”
- [cosmetic] “search” reworded the description of “supplier_category”
- [cosmetic] “search” reworded the description of “topic”
- [cosmetic] “search” reworded the description of “types”
- [cosmetic] “search_suppliers” reworded the description of “category”
- [cosmetic] “search_suppliers” reworded the description of “limit”
- [cosmetic] “search_suppliers” reworded the description of “page”
- [cosmetic] “search_suppliers” reworded the description of “query”
- [cosmetic] “search_suppliers” reworded the description of “review_status”

### 2026-10-27 (score 79, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_supplier” rewrote its description, which is the text the model reads
- [security] Tool “list_exhibitors” rewrote its description, which is the text the model reads
- [security] Tool “search” rewrote its description, which is the text the model reads
- [security] Tool “search_suppliers” rewrote its description, which is the text the model reads
- [cosmetic] “search” reworded the description of “review_status”
- [cosmetic] Tool “get_supplier” changed its title: Get supplier profile → Get provider profile
- [cosmetic] Tool “search_suppliers” changed its title: Search suppliers → Search providers

### 2026-10-26 (score 80, +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-10-24 (score 79, +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.

## MCP tools (17)

### `calculate_affiliate_commission` (~110 tokens)

Calculate affiliate commission

Calculate exact monthly CPA, revenue-share and hybrid earned commission from explicit versioned contract terms and monthly NGR. Version 1 supports flat rates; version 2 also supports whole or marginal bands. Returns exact decimal strings, assumptions and limitations. Does not look up programme terms or predict outcomes. Calculation inputs and results are not logged.

Input parameters:

- `input` (required): Explicit versioned monthly commission inputs. V1 is flat-only; V2 permits flat or banded revenue share. No default offer is supplied.

### `project_affiliate_commission` (~89 tokens)

Project affiliate commission

Project deterministic monthly CPA, revenue-share and hybrid commission from explicitly supplied player behaviour and deal terms. Rates use percentages (35 means 35%), money uses currency units. Returns exact commission strings, rounded monthly engine inputs, assumptions and limitations. Does not look up programmes or perform simulation. Calculation inputs and results are not logged.

Input parameters:

- `deal` (object, required)
- `players` (object, required)

### `search` (~354 tokens)

Search THE COOP

Search published THE COOP articles, approved glossary terms, provider and media profiles and industry events by meaning and keywords. Use for questions and discovery; use search_providers for a name/category directory browse. Returns relevance-ranked results, one passage per record with slug, canonical URL, dates and match_strength (text relevance, not answer confidence). Limited to the top matches, without pagination; empty results mean no matches. Use get_article / explain_term / get_provider / get_event to check full records and sources.

Input parameters:

- `limit` (integer): Maximum distinct records, from 1 to 20 (default 8). Returns the top relevance-ranked matches; no page parameter or exhaustive total.
- `provider_category` (string): Exact provider category; set types to ["provider"].
- `query` (string, required): Natural-language question or keywords, e.g. "payment orchestration for UK operators"
- `review_status` (string): Restrict to provider/media profiles with this review status; also set types to ["provider"]. desk-reviewed means editorially reviewed, not independent verification of every fact; research-candidate m…
- `supplier_category` (string): Deprecated alias of provider_category; if both are supplied they must match. Match this provider category exactly; also set types to ["provider"]. Use media for publication profiles; combine with rev…
- `topic` (string): Match this article topic exactly; also set types to ["article"]. Combining with provider filters yields no matches.
- `types` (array): Record types to search. provider is canonical; supplier is a deprecated alias. Omit or pass an empty array for all enabled types. Filters combine with AND; a filter for one record type excludes other…

### `get_article` (~104 tokens)

Get article

Get one published article by exact slug, including full text, sources, author, dates and any sponsorship disclosure. Discover its slug with search or list_articles first. Unknown or unpublished slugs return a not-found error; use search for discovery, list_articles for recent summaries.

Input parameters:

- `slug` (string, required): Exact article slug returned by search or list_articles; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.

### `list_articles` (~195 tokens)

List articles

List published article summaries, newest publication first, optionally filtered by topic and format. Returns page, total_items, total_pages and items with slugs, canonical URLs, excerpts and dates. Defaults to page 1 with 10 records; use search for a question or keywords, then get_article for full text.

Input parameters:

- `format` (string): Match this article format exactly. Omit for all formats; combines with topic.
- `limit` (integer): Records per page, from 1 to 20 (default 10). Use page to continue; total_items and total_pages describe all matches.
- `page` (integer): Page number, starting at 1 (default 1, maximum 500). Keep filters and limit unchanged while paging; stop at total_pages. A page beyond the results returns an empty items array.
- `topic` (string): Match this editorial topic exactly. Omit for all topics; combines with format.

### `search_payment_capabilities` (~244 tokens)

Search payment capabilities

Find reviewed public payment product scopes using country, region, currency, flow, method and integration filters. Filters must match the same scope. Confirmed and currency_leads are separately paginated with the same page and limit; each has total_items, total_pages and items. A currency lead has unknown country coverage. Missing data is unknown.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 country code; excluded countries do not match.
- `currency` (string): Currency or crypto asset code. A ticker does not imply a network.
- `flow` (string)
- `integrations` (array): Any selected integration; all filter categories must match one product scope.
- `limit` (integer): Maximum records per group per page, from 1 to 20 (default 10).
- `methods` (array): Any selected method; all filter categories must match one product scope.
- `page` (integer): Page of each result group, starting at 1. Keep filters and limit unchanged; a group past its total_pages is empty.
- `query` (string): Case-insensitive provider name or summary substring.
- `region` (string)

### `get_payment_capabilities` (~100 tokens)

Get payment capabilities

Get all reviewed public product scopes for a provider in a payment category by exact slug, with supporting facts, sources and checked dates. An empty list means no mapped evidence, not absence of a capability. Profiles outside payment categories are not found.

Input parameters:

- `slug` (string, required): Exact provider slug returned by search_payment_capabilities; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.

### `compare_payment_capabilities` (~172 tokens)

Compare payment capabilities

Read reviewed public payment product scopes for two to four payment-category provider slugs side by side, with their evidence, sources and unknowns. Optional filters label each full scope confirmed, country-unknown or not-matched using the same rules as search. Does not rank providers or establish eligibility.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 country code; excluded countries do not match.
- `currency` (string): Currency or crypto asset code. A ticker does not imply a network.
- `flow` (string)
- `integrations` (array): Any selected integration; all filter categories must match one product scope.
- `methods` (array): Any selected method; all filter categories must match one product scope.
- `region` (string)
- `slugs` (array, required)

### `search_providers` (~181 tokens)

Search providers

Browse published provider and media profiles by name, category and review status. Results are paginated, desk-reviewed first and then alphabetical. Use get_provider for sourced facts; media profiles are not rated as providers.

Input parameters:

- `category` (string): Exact provider category; media selects publication profiles.
- `limit` (integer): Records per page, from 1 to 20 (default 10). Use page to continue; total_items and total_pages describe all matches.
- `page` (integer): Page number, starting at 1 (default 1, maximum 500). Keep filters and limit unchanged while paging; stop at total_pages. A page beyond the results returns an empty items array.
- `query` (string): Case-insensitive substring in name or summary; omit to browse.
- `review_status` (string): Editorial review status, not independent claim verification.

### `search_suppliers` (~188 tokens)

Search suppliers (deprecated)

Deprecated alias of search_providers. Browse published provider and media profiles by name, category and review status. Results are paginated, desk-reviewed first and then alphabetical. Use get_provider for sourced facts; media profiles are not rated as providers.

Input parameters:

- `category` (string): Exact provider category; media selects publication profiles.
- `limit` (integer): Records per page, from 1 to 20 (default 10). Use page to continue; total_items and total_pages describe all matches.
- `page` (integer): Page number, starting at 1 (default 1, maximum 500). Keep filters and limit unchanged while paging; stop at total_pages. A page beyond the results returns an empty items array.
- `query` (string): Case-insensitive substring in name or summary; omit to browse.
- `review_status` (string): Editorial review status, not independent claim verification.

### `get_provider` (~111 tokens)

Get provider

Get a published provider or media profile by exact slug, including sourced facts and evidence statuses, approved answers and overview, sources, assessment and missing information. Supplier-stated means the organisation says so, not independent verification. Missing means unknown; egg_score measures evidence readiness, not product quality.

Input parameters:

- `slug` (string, required): Exact provider or media profile slug returned by search_providers or search; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.

### `get_supplier` (~117 tokens)

Get supplier (deprecated)

Deprecated alias of get_provider. Get a published provider or media profile by exact slug, including sourced facts and evidence statuses, approved answers and overview, sources, assessment and missing information. Supplier-stated means the organisation says so, not independent verification. Missing means unknown; egg_score measures evidence readiness, not product quality.

Input parameters:

- `slug` (string, required): Exact provider or media profile slug returned by search_providers or search; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.

### `list_events` (~275 tokens)

List events

List published iGaming event summaries with slugs, canonical URLs, dates, venue and exhibitor counts. Filter by period, region and text together. Defaults to upcoming (including ongoing), page 1, 10 records; upcoming/all sort by start date ascending, past descending. Returns page, total_items, total_pages and items. Use get_event for one event and organiser sources, or list_exhibitors for booths.

Input parameters:

- `limit` (integer): Records per page, from 1 to 20 (default 10). Use page to continue; total_items and total_pages describe all matches.
- `page` (integer): Page number, starting at 1 (default 1, maximum 500). Keep filters and limit unchanged while paging; stop at total_pages. A page beyond the results returns an empty items array.
- `period` (string): upcoming (default): end_date on or after today in UTC, including ongoing events. past: end_date before today in UTC. all: no date filter.
- `query` (string): Case-insensitive substring in the event title or city, up to 200 characters. Omit or leave empty for all matching events; use search for semantic discovery.
- `region` (string): Match the event region exactly. Omit for all regions; combines with period and query.

### `get_event` (~166 tokens)

Get event

Get one published event by exact slug from list_events or search, with dates, venue, organiser sources and exhibitor count. Unknown or unpublished slugs return a not-found error. By default the large exhibitor list is omitted; use list_exhibitors to filter and page booths, or include_exhibitors=true for the full list.

Input parameters:

- `include_exhibitors` (boolean): false (default) returns the event summary and exhibitor_count only. true adds the complete unpaginated exhibitor array, which can be large; prefer list_exhibitors for filtered pages.
- `slug` (string, required): Exact event slug returned by list_events or search; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.

### `list_exhibitors` (~289 tokens)

List event exhibitors

List an event's published exhibitor booths, with provider profile links when available. Use an event_slug from list_events; get_event gives event details. Category and text filters combine with AND. Returns event, page, total_items, total_pages and items; defaults to page 1 with 20 booths in published order. Unknown events return a not-found error; no matching booths returns empty items. Confirm booth assignments with the exhibitor.

Input parameters:

- `category` (string): Case-insensitive exact organiser category label, up to 80 characters (e.g. Payment). Omit or leave empty for all categories.
- `event_slug` (string, required): Exact event slug returned by list_events or search; copy it rather than guessing. Use the lowercase hyphenated identifier (1-120 characters), not a title or full URL.
- `limit` (integer): Booths per page, from 1 to 50 (default 20). Keep filters and limit unchanged while paging through total_pages.
- `page` (integer): Page number, starting at 1 (default 1, maximum 500). Keep filters and limit unchanged while paging; stop at total_pages. A page beyond the results returns an empty items array.
- `query` (string): Case-insensitive substring in exhibitor name or booth, up to 200 characters. Omit or leave empty for all booths; combines with category.

### `explain_term` (~66 tokens)

Explain a term

Get a complete approved glossary entry by exact term, alias, ID or slug, with sources and revision. An ambiguous or unavailable term returns not found. Definitions are educational, not evidence of any company’s capabilities.

Input parameters:

- `term` (string, required): Exact glossary term, alias, ID or slug.

### `about_the_coop` (~53 tokens)

About THE COOP

Get publication information, indexed coverage counts and freshness, citation and evidence guidance, and what this server logs. Call with no arguments for questions about THE COOP or interpreting its records; use search to find published content.

## Diagnostics

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

## Score history

- 2026-11-05: 83
- 2026-11-04: 83
- 2026-11-03: 83
- 2026-11-02: 83
- 2026-11-01: 83
- 2026-10-31: 83
- 2026-10-30: 83
- 2026-10-29: 82
- 2026-10-28: 79
- 2026-10-27: 79
- 2026-10-26: 80
- 2026-10-25: 79
- 2026-10-24: 79
- 2026-10-23: 78
- 2026-10-22: 78
- 2026-10-21: 77
- 2026-10-20: 77
- 2026-10-19: 76
- 2026-10-18: 76
- 2026-10-17: 75
- 2026-10-16: 75
- 2026-10-15: 74
- 2026-10-14: 74
- 2026-10-13: 74
- 2026-10-12: 73
- 2026-10-10: 72
- 2026-10-08: 71
- 2026-10-07: 71
- 2026-10-05: 70
- 2026-10-04: 65

## Common questions

### What is the THE COOP MCP server?

THE COOP is an MCP server listed in the public MCP registry as media.thecoop/the-coop. Search THE COOP's published iGaming articles, supplier profiles and events with source links. This page covers its hosted endpoint (https://thecoop.media/mcp).

### Is the THE COOP MCP server safe to use?

THE COOP scores 83 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 THE COOP MCP server expose?

THE COOP exposes 17 tools: calculate_affiliate_commission, project_affiliate_commission, search, get_article, list_articles, and 12 more. Their descriptions and schemas cost roughly 2,814 tokens of context every time the server is loaded.

### Does the THE COOP MCP server require authentication?

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

### Is the THE COOP MCP server still maintained?

THE COOP is still listed as active in the MCP registry. We last reached this channel on 5 November 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://thecoop.media/mcp
- Changelog RSS feed: https://verifymcp.io/servers/media-thecoop-the-coop/thecoop.xml
- Changelog JSON feed: https://verifymcp.io/servers/media-thecoop-the-coop/thecoop.json
- HTML version of this page: https://verifymcp.io/servers/media-thecoop-the-coop/thecoop
