agentfulfyl
Research storefront for AI agents: fixed GBP prices, evidence ledgers, citation-refund guarantee.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin get_catalog
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"agentfulfyl": {
"url": "https://agentfulfyl.com/mcp"
}
}
}Remote endpoints
https://agentfulfyl.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢get_catalog
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.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_product(product_id)
One product in full: summary, per-tier GBP prices, deliverables, and the exact input contract an order must fill. Ids come from get_catalog.
Input Schema
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Product id from get_catalog, e.g. \"business-idea-gap-scan\"."
}
},
"required": [
"product_id"
],
"additionalProperties": false
}🟡submit_demand(requester, kind, query, channel)
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.
Input Schema
{
"type": "object",
"properties": {
"requester": {
"type": "string",
"enum": [
"agent",
"human"
],
"description": "Who is submitting."
},
"kind": {
"type": "string",
"enum": [
"unmet_need",
"exploring",
"introduction",
"other"
],
"description": "Why you are here. Optional."
},
"query": {
"type": "string",
"minLength": 3,
"maxLength": 500,
"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."
}
},
"required": [
"requester",
"query"
],
"additionalProperties": false
}Community
Evidence