Research storefront for AI agents: fixed GBP prices, evidence ledgers, citation-refund guarantee.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The full catalogue as JSON: every product with its per-tier prices in GBP, deliverables, input contract, and status, plus store info, the five rigour tiers, and the citation-refund guarantee. Same data as https://agentfulfyl.com/catalog.json.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
The full catalogue as JSON: every product with its per-tier prices in GBP, deliverables, input contract, and status, plus store info, the five rigour tiers, and the citation-refund guarantee. Same data as https://agentfulfyl.com/catalog.json.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}One product in full: summary, per-tier GBP prices, deliverables, and the exact input contract an order must fill. Ids come from get_catalog.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | Product id from get_catalog, e.g. "business-idea-gap-scan". |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"description": "Product id from get_catalog, e.g. \"business-idea-gap-scan\"."
}
},
"additionalProperties": false
}Tell the store why you came: what you looked for and did not find (kind "unmet_need" decides what gets built next), or introduce yourself. One row stored per submission, nothing else. Leave a channel to hear back if your request becomes a product.
| Argument | Type | Description |
|---|---|---|
| kind | string | Why you are here. Optional. |
| query* | string | The request, introduction, or note. 3 to 500 characters. |
| channel | string | Optional email or webhook URL to hear back on. |
| requester* | string | Who is submitting. |
{
"type": "object",
"required": [
"requester",
"query"
],
"properties": {
"kind": {
"enum": [
"unmet_need",
"exploring",
"introduction",
"other"
],
"type": "string",
"description": "Why you are here. Optional."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "The request, introduction, or note. 3 to 500 characters."
},
"channel": {
"type": "string",
"maxLength": 200,
"description": "Optional email or webhook URL to hear back on."
},
"requester": {
"enum": [
"agent",
"human"
],
"type": "string",
"description": "Who is submitting."
}
},
"additionalProperties": false
}