Findabis MCP
An MCP server providing access to the Findabis public directory of UK medical cannabis clinics, pharmacies, products, and strains. It offers read-only tools, guides, and prompts to help agents query and compare available medical cannabis services and products in the United Kingdom.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://findabis.com/api/mcpWhat its tools do
10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to findabis.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for medical cannabis clinics in the UK
- Find pharmacies stocking specific cannabis products
- Compare available cannabis strains and brands
- Retrieve product details and supplier information
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- findabis 0.5.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 10 advertised
- Resources
- 3 advertised
- Resource templates
- 0 advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
find_clinics — Find medical cannabis clinics
Find UK clinics that can prescribe cannabis-based medicines. Use `near` (postcode or town) for 'near me' questions: nearest first, with miles. Filter by the conditions a clinic's published policy lists, consultation type (online, in person, phone), CQC rating, first-consultation fee, accepting patients and patient type; sort by distance, year-one clinic fees or rating. Returns up to 25 clinics at a time (page on with `offset`; past the first 60, `page`), each with slug, page URL, town, distance, first and follow-up fees, estimated year-one clinic fees (never medicine), consultation types, CQC rating, review score and which patient types it takes. A listed condition is the clinic's referral scope, not a statement that anyone qualifies: only a specialist decides that. It does not return doctors or appointment availability. For one clinic in full, use get_listing; to weigh several, compare_providers.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cqc": {
"enum": [
"GOOD_OR_BETTER",
"OUTSTANDING",
"GOOD",
"REQUIRES_IMPROVEMENT",
"NOT_RATED"
],
"type": "string",
"description": "CQC rating filter; GOOD_OR_BETTER keeps Good and Outstanding."
},
"near": {
"type": "string",
"maxLength": 64,
"minLength": 2,
"description": "A UK postcode, outcode or town, e.g. \"M1 1AE\", \"LS6\" or \"Bristol\". Sorts nearest first and adds miles."
},
"page": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Which window of 60 directory rows to read; `offset` pages inside it. Default 1. The answer says when a later window exists."
},
"sort": {
"enum": [
"distance",
"az",
"za",
"cheapest",
"dearest",
"rating"
],
"type": "string",
"description": "distance (default with `near`), az (default otherwise), za, cheapest / dearest by year-one clinic fees, rating."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many to return, 1-25. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Clinic name, matched as text. For a place use `near`."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Skip this many results, for the next page (the answer says which offset comes next). Default 0."
},
"condition": {
"type": "string",
"maxLength": 120,
"description": "Only clinics whose published policy lists this condition. One of: Anxiety / Depression; PTSD; Insomnia / Sleep disorders; Chronic pain; Neuropathic pain; Multiple Sclerosis / Spasticity; Cancer symptoms; IBD (Crohn's / Ulcerative Colitis); Migraine; Arthritis / inflammatory pain; ADHD / Autism spectrum symptoms; Endometriosis / women's health symptoms. A listed condition is the clinic's referral scope, never a statement that anyone qualifies."
},
"patientType": {
"enum": [
"NEW_PATIENT",
"TRANSFER",
"ACTIVE_PATIENT"
],
"type": "string",
"description": "NEW_PATIENT, TRANSFER or ACTIVE_PATIENT. Drops clinics whose policy does not take it, and prices year one for that route."
},
"radiusMiles": {
"type": "number",
"maximum": 500,
"description": "Only within this many miles of `near`. Ignored without `near`.",
"exclusiveMinimum": 0
},
"consultationType": {
"enum": [
"ONLINE",
"IN_PERSON",
"PHONE"
],
"type": "string",
"description": "Only clinics offering ONLINE (video), IN_PERSON or PHONE."
},
"acceptingPatients": {
"type": "boolean",
"description": "Only clinics showing 'Accepting patients' (an active published policy)."
},
"maxFirstConsultationFee": {
"type": "number",
"description": "Only clinics whose first consultation costs at most this, in GBP.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results",
"total"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "integer",
"description": "Which window of 60 directory rows this answer read"
},
"total": {
"type": "integer",
"description": "How many matched in all; narrow the query when this exceeds the results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"city",
"postcode",
"distanceMiles",
"currency",
"initialConsultationFee",
"followUpConsultationFee",
"firstYearClinicFees",
"consultationTypes",
"cqcRating",
"rating",
"acceptingPatients",
"patientTypes"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"city": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"average",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"average": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Published patient reviews; null when there are none"
},
"currency": {
"type": "string"
},
"postcode": {
"type": [
"string",
"null"
]
},
"cqcRating": {
"type": [
"string",
"null"
]
},
"patientTypes": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"NEW_PATIENT",
"TRANSFER",
"ACTIVE_PATIENT"
],
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Patient types the published policy takes; null when the clinic publishes no policy"
},
"distanceMiles": {
"type": [
"number",
"null"
],
"description": "Miles from `near`; null when no place was given"
},
"acceptingPatients": {
"type": "boolean",
"description": "Shows 'Accepting patients' (an active published eligibility policy)"
},
"consultationTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"firstYearClinicFees": {
"type": [
"number",
"null"
],
"description": "Estimated year-one clinic fees (consultations, membership, the clinic's prescription fee) for the asked patient type with 4 follow-ups and 12 prescriptions; never includes medicine; null when no price list is published"
},
"initialConsultationFee": {
"type": [
"number",
"null"
],
"description": "In `currency`; null when not published"
},
"followUpConsultationFee": {
"$ref": "#/properties/results/items/properties/initialConsultationFee"
}
},
"additionalProperties": false
}
},
"directoryTotal": {
"type": "integer",
"description": "The whole directory, when the tool read one window of it"
}
},
"additionalProperties": false
}{
"title": "Find medical cannabis clinics",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_pharmacies — Find dispensing pharmacies
Find UK pharmacies that dispense cannabis-based medicines against a prescription a clinic has already issued. Use `near` (postcode or town) for nearest first with miles; filter by delivery, in-person collection and review score. Returns up to 25 pharmacies at a time (page on with `offset`; past the first 60, `page`) with slug, page URL, town, distance, delivery and collection, and review score. A pharmacy cannot prescribe. It does not return stock, prices, or which products a pharmacy holds: those are shown only to patients and professionals with access. For delivery prices and GPhC registration use get_listing, or compare_providers for several.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"near": {
"type": "string",
"maxLength": 64,
"minLength": 2,
"description": "A UK postcode, outcode or town, e.g. \"M1 1AE\", \"LS6\" or \"Bristol\". Sorts nearest first and adds miles."
},
"page": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Which window of 60 directory rows to read; `offset` pages inside it. Default 1. The answer says when a later window exists."
},
"sort": {
"enum": [
"distance",
"az",
"za",
"city",
"rating"
],
"type": "string",
"description": "distance (default with `near`), az (default otherwise), za, city, rating."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many to return, 1-25. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Pharmacy name, matched as text. For a place use `near`."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Skip this many results, for the next page (the answer says which offset comes next). Default 0."
},
"delivers": {
"type": "boolean",
"description": "Only pharmacies that deliver (most dispense UK-wide by post)."
},
"minRating": {
"enum": [
"3_plus",
"4_plus"
],
"type": "string",
"description": "Only pharmacies with patient reviews averaging 3+ or 4+."
},
"collection": {
"type": "boolean",
"description": "Only pharmacies offering in-person collection."
},
"radiusMiles": {
"type": "number",
"maximum": 500,
"description": "Only within this many miles of `near`. Ignored without `near`.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results",
"total"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "integer",
"description": "Which window of 60 directory rows this answer read"
},
"total": {
"type": "integer",
"description": "How many matched in all; narrow the query when this exceeds the results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"city",
"postcode",
"distanceMiles",
"offersDelivery",
"offersCollection",
"rating"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"city": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"average",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"average": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Published patient reviews; null when there are none"
},
"postcode": {
"type": [
"string",
"null"
]
},
"distanceMiles": {
"type": [
"number",
"null"
],
"description": "Miles from `near`; null when no place was given"
},
"offersDelivery": {
"type": "boolean"
},
"offersCollection": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"directoryTotal": {
"type": "integer",
"description": "The whole directory, when the tool read one window of it"
}
},
"additionalProperties": false
}{
"title": "Find dispensing pharmacies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_products — Find medical cannabis products
Find cannabis-based medicines on the UK market by product, brand or strain name, or by dose form. Returns up to 25 products at a time (page on with `offset`) with page URL, slug, brand, dose form, THC and CBD content, and the latest price a UK pharmacy charged (naming no pharmacy) when Findabis publishes one. It does not return stock, pack sizes on offer, per-pharmacy prices or which pharmacies dispense a product: those are shown only to patients and professionals with access. A listing is not a statement that a product suits anyone. For one product in full, use get_product with its slug.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"name_asc",
"name_desc"
],
"type": "string",
"description": "Alphabetical, name_asc (default) or name_desc."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many to return, 1-25. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Product, brand or strain name, e.g. \"Pink Kush\" or \"Tilray\". Omit to browse."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Skip this many results, for the next page (the answer says which offset comes next). Default 0."
},
"category": {
"enum": [
"FLOWER",
"OIL",
"CAPSULE",
"EDIBLE",
"TOPICAL",
"CARTRIDGE",
"HASH"
],
"type": "string",
"description": "Dose form. CARTRIDGE is a vape cartridge."
},
"genetics": {
"enum": [
"Indica",
"Sativa",
"Hybrid"
],
"type": "string",
"description": "The strain type: Indica, Sativa or Hybrid (the product's own, else its primary strain's)."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results",
"total"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "integer",
"description": "Which window of 60 directory rows this answer read"
},
"total": {
"type": "integer",
"description": "How many matched in all; narrow the query when this exceeds the results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"brand",
"category",
"thc",
"cbd",
"discontinued",
"latestPrice"
],
"properties": {
"cbd": {
"type": [
"string",
"null"
],
"description": "CBD content as the page prints it, unit included"
},
"thc": {
"type": [
"string",
"null"
],
"description": "THC content as the page prints it, unit included"
},
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"brand": {
"type": [
"string",
"null"
]
},
"category": {
"type": "string",
"description": "Dose form: FLOWER, OIL, CAPSULE, EDIBLE, TOPICAL, CARTRIDGE or HASH"
},
"latestPrice": {
"anyOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The latest price any UK pharmacy charged, naming no pharmacy; null when not published"
},
"discontinued": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"directoryTotal": {
"type": "integer",
"description": "The whole directory, when the tool read one window of it"
}
},
"additionalProperties": false
}{
"title": "Find medical cannabis products",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_product — Get one product in full
Everything public about one product, by its slug from find_products or search_findabis: dose form and strength, strain and brand, terpenes, what it contains (carrier oil, allergens, capsule shell), dosage and storage notes, patient leaflets and FAQs, and its price range across UK pharmacies when Findabis publishes one. Not returned: stock, pack sizes on offer, and which pharmacies dispense it at what price — the product page shows those only to patients and professionals with access. It describes the product, never who should take it.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The product page slug from find_products or search_findabis, e.g. \"demo-kush-t20-c1\"."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"slug",
"url",
"category",
"form",
"brand",
"thc",
"cbd",
"chemotype",
"discontinued",
"strain",
"terpenes",
"carrierOil",
"allergens",
"capsuleShell",
"priceRange",
"oilFlowerEquivalence",
"description",
"descriptionAiAssisted",
"dosage",
"storage",
"image",
"documents",
"faqs",
"withheld"
],
"properties": {
"cbd": {
"$ref": "#/properties/brand"
},
"thc": {
"$ref": "#/properties/brand"
},
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer",
"aiAssisted"
],
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
},
"aiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"form": {
"type": [
"string",
"null"
],
"description": "Dose form as the page labels it, e.g. \"Dried flower\""
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"brand": {
"type": [
"string",
"null"
]
},
"image": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"dosage": {
"$ref": "#/properties/brand"
},
"strain": {
"anyOf": [
{
"type": "object",
"required": [
"name",
"genetics",
"url"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"genetics": {
"$ref": "#/properties/brand"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"storage": {
"$ref": "#/properties/brand"
},
"category": {
"type": "string"
},
"terpenes": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"percent"
],
"properties": {
"name": {
"type": "string"
},
"percent": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"withheld": {
"type": "string"
},
"allergens": {
"type": "array",
"items": {
"type": "string"
}
},
"chemotype": {
"type": [
"string",
"null"
],
"description": "THC-dominant, CBD-dominant or balanced, from the cannabinoid figures"
},
"documents": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"kind",
"url"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"kind": {
"type": "string"
},
"title": {
"type": "string"
}
},
"additionalProperties": false
}
},
"carrierOil": {
"$ref": "#/properties/brand"
},
"priceRange": {
"anyOf": [
{
"type": "object",
"required": [
"min",
"max",
"currency"
],
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Lowest to highest current price across UK pharmacies, naming none; null when not published"
},
"description": {
"$ref": "#/properties/brand"
},
"capsuleShell": {
"$ref": "#/properties/brand"
},
"discontinued": {
"type": "boolean"
},
"oilFlowerEquivalence": {
"$ref": "#/properties/brand"
},
"descriptionAiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Get one product in full",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_strains — Find cannabis strains
Find cannabis strain profiles by name or genetics (Indica, Sativa or Hybrid). Returns up to 25 strains at a time (page on with `offset`) with page URL, slug, genetics and THC and CBD ranges. A strain is a plant lineage, not something a pharmacy dispenses — use find_products for that. Findabis publishes no effects, medical uses or side effects for strains, so none are returned and none should be inferred. For terpenes, flavours and lineage, use get_listing with kind "strain".
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many to return, 1-25. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Strain name or nickname, e.g. \"Gelato\". Omit to browse."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Skip this many results, for the next page (the answer says which offset comes next). Default 0."
},
"genetics": {
"enum": [
"Indica",
"Sativa",
"Hybrid"
],
"type": "string",
"description": "The strain type: Indica, Sativa or Hybrid."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results",
"total"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "integer",
"description": "Which window of 60 directory rows this answer read"
},
"total": {
"type": "integer",
"description": "How many matched in all; narrow the query when this exceeds the results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"genetics",
"thcPercent",
"cbdPercent"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"genetics": {
"type": [
"string",
"null"
]
},
"cbdPercent": {
"type": [
"string",
"null"
]
},
"thcPercent": {
"type": [
"string",
"null"
],
"description": "A figure or a range, e.g. \"18-22\""
}
},
"additionalProperties": false
}
},
"directoryTotal": {
"type": "integer",
"description": "The whole directory, when the tool read one window of it"
}
},
"additionalProperties": false
}{
"title": "Find cannabis strains",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_brands — Find medical cannabis brands
Find the brands (makers) of cannabis-based medicines listed on Findabis, by name or by the dose forms they make. Returns up to 25 brands at a time (page on with `offset`) with slug, page URL, town and country, website, and how many of their products Findabis lists — a count, never stock or which pharmacies hold them. Sorted by name or by product count, never by sponsorship. A listing is not an endorsement. For one brand in full, use get_listing with kind "brand"; for its products, find_products with the brand name as `query`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"name_asc",
"name_desc",
"products_desc"
],
"type": "string",
"description": "name_asc (default), name_desc, or products_desc (most listed products first)."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many to return, 1-25. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Brand name, matched as text. Omit to browse."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Skip this many results, for the next page (the answer says which offset comes next). Default 0."
},
"category": {
"enum": [
"FLOWER",
"OIL",
"CAPSULE",
"EDIBLE",
"TOPICAL",
"CARTRIDGE",
"HASH"
],
"type": "string",
"description": "Only brands with a listed product in this dose form. CARTRIDGE is a vape cartridge."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results",
"total"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "integer",
"description": "Which window of 60 directory rows this answer read"
},
"total": {
"type": "integer",
"description": "How many matched in all; narrow the query when this exceeds the results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"city",
"country",
"website",
"productCount"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"city": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"website": {
"type": [
"string",
"null"
]
},
"productCount": {
"type": "integer",
"description": "Products of this brand listed on Findabis (approved and not withdrawn); a count, never stock"
}
},
"additionalProperties": false
}
},
"directoryTotal": {
"type": "integer",
"description": "The whole directory, when the tool read one window of it"
}
},
"additionalProperties": false
}{
"title": "Find medical cannabis brands",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_listing — Get one clinic, pharmacy, strain or brand
The public facts on one clinic, pharmacy, strain or brand page, by `kind` and the page `slug` from find_clinics, find_pharmacies, find_strains, find_brands or search_findabis. Clinic: address, opening hours, consultation types and fees, published price list, CQC rating and registration, which patients its policy takes, partner pharmacies. Pharmacy: address, opening hours, delivery and collection, delivery prices, GPhC registration and inspection outcome, partner clinics. Strain: genetics, cannabinoid ranges, terpenes, flavours, lineage, products made from it. Brand: location, website and products. Every kind: the page's own FAQs. Not returned: stock, per-pharmacy medicine prices, staff, or anything about patients. For a product, use get_product.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"clinic",
"pharmacy",
"strain",
"brand"
],
"type": "string",
"description": "What the slug names: clinic, pharmacy, strain or brand."
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]*$",
"maxLength": 200,
"minLength": 1,
"description": "The page slug from a find_* tool or search_findabis, e.g. \"green-leaf-clinic\"."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"name",
"slug",
"url",
"description",
"descriptionAiAssisted",
"faqs"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer",
"aiAssisted"
],
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
},
"aiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
},
"description": "The page's own FAQs, at most five; an answer is marked AI-assisted when the page labels it so"
},
"kind": {
"enum": [
"clinic",
"pharmacy",
"strain",
"brand"
],
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"brand": {
"type": "object",
"required": [
"city",
"postcode",
"country",
"website",
"products"
],
"properties": {
"city": {
"$ref": "#/properties/description"
},
"country": {
"$ref": "#/properties/description"
},
"website": {
"$ref": "#/properties/description"
},
"postcode": {
"$ref": "#/properties/description"
},
"products": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
}
},
"additionalProperties": false
},
"clinic": {
"type": "object",
"required": [
"name",
"slug",
"url",
"city",
"postcode",
"distanceMiles",
"currency",
"initialConsultationFee",
"followUpConsultationFee",
"firstYearClinicFees",
"consultationTypes",
"cqcRating",
"rating",
"acceptingPatients",
"patientTypes",
"address",
"website",
"pricingModel",
"priceList",
"cqcRegistration",
"cqcReportUrl",
"minimumAge",
"maximumAge",
"openingHours",
"onlineHours",
"partnerPharmacies",
"otherLocations"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"city": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"average",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"average": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Published patient reviews; null when there are none"
},
"address": {
"$ref": "#/properties/description"
},
"website": {
"$ref": "#/properties/description"
},
"currency": {
"type": "string"
},
"postcode": {
"type": [
"string",
"null"
]
},
"cqcRating": {
"type": [
"string",
"null"
]
},
"priceList": {
"type": "object",
"description": "Published fees by name, in `currency`; absent = not set",
"additionalProperties": {
"type": "number"
}
},
"maximumAge": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"minimumAge": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"onlineHours": {
"anyOf": [
{
"$ref": "#/properties/clinic/properties/openingHours/anyOf/0"
},
{
"type": "null"
}
],
"description": "The online (video) diary, when the clinic publishes separate hours for it"
},
"cqcReportUrl": {
"$ref": "#/properties/description"
},
"openingHours": {
"anyOf": [
{
"type": "object",
"required": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"properties": {
"friday": {
"$ref": "#/properties/description"
},
"monday": {
"$ref": "#/properties/description"
},
"sunday": {
"$ref": "#/properties/description"
},
"tuesday": {
"$ref": "#/properties/description"
},
"saturday": {
"$ref": "#/properties/description"
},
"thursday": {
"$ref": "#/properties/description"
},
"wednesday": {
"$ref": "#/properties/description"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"patientTypes": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"NEW_PATIENT",
"TRANSFER",
"ACTIVE_PATIENT"
],
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Patient types the published policy takes; null when the clinic publishes no policy"
},
"pricingModel": {
"$ref": "#/properties/description"
},
"distanceMiles": {
"type": [
"number",
"null"
],
"description": "Miles from `near`; null when no place was given"
},
"otherLocations": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
},
"cqcRegistration": {
"$ref": "#/properties/description"
},
"acceptingPatients": {
"type": "boolean",
"description": "Shows 'Accepting patients' (an active published eligibility policy)"
},
"consultationTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"partnerPharmacies": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"url": {
"$ref": "#/properties/clinic/properties/url"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
},
"firstYearClinicFees": {
"type": [
"number",
"null"
],
"description": "Estimated year-one clinic fees (consultations, membership, the clinic's prescription fee) for the asked patient type with 4 follow-ups and 12 prescriptions; never includes medicine; null when no price list is published"
},
"initialConsultationFee": {
"type": [
"number",
"null"
],
"description": "In `currency`; null when not published"
},
"followUpConsultationFee": {
"$ref": "#/properties/clinic/properties/initialConsultationFee"
}
},
"additionalProperties": false
},
"strain": {
"type": "object",
"required": [
"genetics",
"thcPercent",
"cbdPercent",
"terpenes",
"flavours",
"parents",
"children",
"products"
],
"properties": {
"parents": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
},
"children": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
},
"flavours": {
"type": "array",
"items": {
"type": "string"
}
},
"genetics": {
"$ref": "#/properties/description"
},
"products": {
"type": "array",
"items": {
"$ref": "#/properties/clinic/properties/partnerPharmacies/items"
},
"description": "Products made from this strain — names and pages only"
},
"terpenes": {
"type": "array",
"items": {
"type": "string"
}
},
"cbdPercent": {
"$ref": "#/properties/description"
},
"thcPercent": {
"$ref": "#/properties/description"
}
},
"additionalProperties": false
},
"pharmacy": {
"type": "object",
"required": [
"name",
"slug",
"url",
"city",
"postcode",
"distanceMiles",
"offersDelivery",
"offersCollection",
"rating",
"address",
"website",
"deliveryOptions",
"gphcNumber",
"gphcInspectionOutcome",
"gphcReportUrl",
"openingHours",
"partnerClinics",
"otherLocations"
],
"properties": {
"url": {
"$ref": "#/properties/clinic/properties/url"
},
"city": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"rating": {
"$ref": "#/properties/clinic/properties/rating"
},
"address": {
"$ref": "#/properties/description"
},
"website": {
"$ref": "#/properties/description"
},
"postcode": {
"type": [
"string",
"null"
]
},
"gphcNumber": {
"$ref": "#/properties/description"
},
"openingHours": {
"$ref": "#/properties/clinic/properties/openingHours"
},
"distanceMiles": {
"type": [
"number",
"null"
],
"description": "Miles from `near`; null when no place was given"
},
"gphcReportUrl": {
"$ref": "#/properties/description"
},
"offersDelivery": {
"type": "boolean"
},
"otherLocations": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
},
"partnerClinics": {
"$ref": "#/properties/clinic/properties/partnerPharmacies"
},
"deliveryOptions": {
"type": "array",
"items": {
"type": "object",
"required": [
"carrier",
"service",
"cost",
"freeOver",
"estimatedDays"
],
"properties": {
"cost": {
"type": "number"
},
"carrier": {
"$ref": "#/properties/description"
},
"service": {
"$ref": "#/properties/description"
},
"freeOver": {
"type": [
"number",
"null"
]
},
"estimatedDays": {
"$ref": "#/properties/description"
}
},
"additionalProperties": false
}
},
"offersCollection": {
"type": "boolean"
},
"gphcInspectionOutcome": {
"$ref": "#/properties/description"
}
},
"additionalProperties": false
},
"description": {
"type": [
"string",
"null"
]
},
"descriptionAiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Get one clinic, pharmacy, strain or brand",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_providers — Compare clinics or pharmacies
Two to six clinics, or two to six pharmacies, side by side by slug. Clinics: first and follow-up fees, estimated year-one and later-year clinic fees with a line-by-line breakdown for the patient type and visit counts you give, consultation types, CQC rating, reviews and whether accepting patients. Pharmacies: delivery and its cheapest price, free-delivery threshold, collection, GPhC registration and inspection outcome, reviews. Use it for 'which is cheapest', 'what's the difference between'. Services only: it never compares medicines or medicine prices, and the figures are each provider's published ones.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"slugs"
],
"properties": {
"kind": {
"enum": [
"clinic",
"pharmacy"
],
"type": "string",
"description": "Compare clinics or pharmacies (not both at once)."
},
"slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]*$",
"maxLength": 200,
"minLength": 1,
"description": "The page slug from a find_* tool or search_findabis, e.g. \"green-leaf-clinic\"."
},
"maxItems": 6,
"minItems": 2,
"description": "2-6 page slugs from find_clinics / find_pharmacies."
},
"patientType": {
"enum": [
"NEW_PATIENT",
"TRANSFER",
"ACTIVE_PATIENT"
],
"type": "string",
"description": "Clinics: price year one as NEW_PATIENT (default), TRANSFER or ACTIVE_PATIENT."
},
"followUpsPerYear": {
"type": "integer",
"maximum": 24,
"minimum": 0,
"description": "Clinics: follow-up consultations a year. Default 4."
},
"prescriptionsPerYear": {
"type": "integer",
"maximum": 24,
"minimum": 0,
"description": "Clinics: repeat prescriptions a year. Default 12."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"missing",
"note"
],
"properties": {
"kind": {
"enum": [
"clinic",
"pharmacy"
],
"type": "string"
},
"note": {
"type": "string"
},
"clinics": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"initialConsultationFee",
"followUpConsultationFee",
"yearOneClinicFees",
"laterYearClinicFees",
"feeBreakdown",
"consultationTypes",
"cqcRating",
"rating",
"acceptingPatients",
"partnerPharmacies"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"average",
"count"
],
"properties": {
"count": {
"type": "number"
},
"average": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"cqcRating": {
"type": [
"string",
"null"
]
},
"feeBreakdown": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"cost",
"recurring"
],
"properties": {
"cost": {
"type": "number"
},
"label": {
"type": "string"
},
"recurring": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"acceptingPatients": {
"type": "boolean"
},
"consultationTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"partnerPharmacies": {
"type": "integer"
},
"yearOneClinicFees": {
"type": [
"number",
"null"
]
},
"laterYearClinicFees": {
"type": [
"number",
"null"
]
},
"initialConsultationFee": {
"type": [
"number",
"null"
]
},
"followUpConsultationFee": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
},
"description": "Slugs with no such listing"
},
"pharmacies": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url",
"offersDelivery",
"offersCollection",
"cheapestDelivery",
"freeDeliveryOver",
"gphcNumber",
"gphcInspectionOutcome",
"rating",
"partnerClinics"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"average",
"count"
],
"properties": {
"count": {
"type": "number"
},
"average": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"gphcNumber": {
"type": [
"string",
"null"
]
},
"offersDelivery": {
"type": "boolean"
},
"partnerClinics": {
"type": "integer"
},
"cheapestDelivery": {
"type": [
"number",
"null"
]
},
"freeDeliveryOver": {
"type": [
"number",
"null"
]
},
"offersCollection": {
"type": "boolean"
},
"gphcInspectionOutcome": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Compare clinics or pharmacies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_findabis — Search everything
One text search across clinics, pharmacies, products, strains, brands and Findabis articles; small misspellings still match. Use it when you do not yet know which kind the question is about, or to turn a name into a slug. Each match carries its kind, slug, page URL and a one-line summary (town, consultation types and first fee for a clinic; delivery and collection for a pharmacy; brand, dose form, THC and CBD for a product; genetics for a strain; country and product count for a brand), enough to say what something is; call the specific tool for more. No stock, per-pharmacy prices or medical information.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Most results per kind, 1-20. Default 8."
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "What to look for: a name, brand, strain, town or postcode."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"name",
"slug",
"url",
"summary"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Canonical Findabis page, absolute; null when the listing has no page"
},
"kind": {
"enum": [
"clinic",
"pharmacy",
"product",
"strain",
"brand",
"article"
],
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
],
"description": "One line of public facts: town, services, fees, dose form, strength, genetics or country"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Search everything",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_directory_facts — Directory facts and counts
Live figures for the whole UK directory: how many clinics, pharmacies, products, strains and brands Findabis lists; the range and median of the first-consultation fees clinics publish; how many pharmacies deliver or offer collection; and when each directory last changed. Use it for 'how many', 'what does a first consultation typically cost', 'what does Findabis cover', and to cite a figure with its date. Takes no input. Aggregates only: it names no provider and holds no stock or medicine prices. For the listings themselves, use the find_ tools.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asOf",
"country",
"clinics",
"pharmacies",
"products",
"strains",
"brands",
"note"
],
"properties": {
"asOf": {
"type": "string",
"description": "The day these figures were read, YYYY-MM-DD"
},
"note": {
"type": "string"
},
"brands": {
"type": "object",
"required": [
"count",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The directory page, absolute"
},
"count": {
"type": "integer",
"description": "Listings in the UK directory right now"
}
},
"additionalProperties": false
},
"clinics": {
"anyOf": [
{
"type": "object",
"required": [
"count",
"url",
"firstConsultationFee",
"updatedAt"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The directory page, absolute"
},
"count": {
"type": "integer",
"description": "Listings in the UK directory right now"
},
"updatedAt": {
"type": [
"string",
"null"
],
"description": "When a listed clinic last changed its listing"
},
"firstConsultationFee": {
"anyOf": [
{
"type": "object",
"required": [
"min",
"max",
"median",
"stated"
],
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"median": {
"type": "number"
},
"stated": {
"type": "integer"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Published first-consultation fees in GBP across the clinics that state one; null when none does"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"country": {
"type": "string",
"const": "GB"
},
"strains": {
"type": "object",
"required": [
"count",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The directory page, absolute"
},
"count": {
"type": "integer",
"description": "Listings in the UK directory right now"
}
},
"additionalProperties": false
},
"products": {
"type": "object",
"required": [
"count",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The directory page, absolute"
},
"count": {
"type": "integer",
"description": "Listings in the UK directory right now"
}
},
"additionalProperties": false
},
"pharmacies": {
"anyOf": [
{
"type": "object",
"required": [
"count",
"url",
"delivery",
"collection",
"updatedAt"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The directory page, absolute"
},
"count": {
"type": "integer",
"description": "Listings in the UK directory right now"
},
"delivery": {
"type": "integer",
"description": "How many deliver"
},
"updatedAt": {
"type": [
"string",
"null"
],
"description": "When a listed pharmacy last changed its listing"
},
"collection": {
"type": "integer",
"description": "How many offer in-person collection"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Directory facts and counts",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
3 advertised
find_care_near — Find care near a place
Clinics and dispensing pharmacies near a UK town or postcode, with Findabis page links. Takes only a place.
- place
- A UK town, city or postcode, e.g. "Leeds" or "M1 1AE". (required)
product_facts — Facts about one product
What Findabis publishes about one cannabis-based medicine: form, strength, strain, contents, leaflets and page link. Describes, never recommends. Takes only a product name.
- product
- The name as written on Findabis, or close to it. (required)
check_provider — Check a clinic or pharmacy
Whether a clinic or pharmacy is listed on Findabis and its public record: CQC or GPhC registration, inspection outcome, fees or delivery, page and regulator links. Takes only a name.
- name
- The name as written on Findabis, or close to it. (required)
Resources
3 advertised
how-to-get-a-prescription — How to get a medical cannabis prescription in the UK
The legal position and the usual route: clinic, records, specialist, pharmacy. General, not advice.
findabis://guide/how-to-get-a-prescriptioneligibility — Who can be prescribed medical cannabis in the UK
What clinics commonly look for and what they publish. It assesses no one; only a specialist decides.
findabis://guide/eligibilitydisclaimer — About Findabis and its data
What Findabis is, the medical disclaimer, and the rules for answering from this data.
findabis://disclaimer90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2060 ms
- 95th percentile latency
- 2060 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2060 ms · metadata changed · 10 tool(s), 3 resource(s), 0 resource template(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http findabis-mcp https://findabis.com/api/mcpCodex
codex mcp add findabis-mcp --url https://findabis.com/api/mcpCursor
{
"mcpServers": {
"findabis-mcp": {
"url": "https://findabis.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"findabis-mcp": {
"type": "streamableHttp",
"url": "https://findabis.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"findabis-mcp": {
"type": "http",
"url": "https://findabis.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http findabis-mcp https://findabis.com/api/mcpClaude Desktop
https://findabis.com/api/mcpWindsurf
{
"mcpServers": {
"findabis-mcp": {
"serverUrl": "https://findabis.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Findabis MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Findabis MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.