Oakferry Agents
Search and compare Oakferry's apps with dated, sourced facts: platforms, prices, ratings, limits.
Should I use this
Quality & Safety
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": {
"agents": {
"url": "https://agents.oakferry.com/mcp"
}
}
}Remote endpoints
https://agents.oakferry.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢search_products(query, category, platform, max_price, free, ...)
Find products matching a person's constraints. Put hard requirements in the filters (platform, max_price, free, no_subscription, attributes) and the rest in query. Each result says why it matched. Call list_attributes to see filterable keys.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What the person wants, in their words"
},
"category": {
"type": "string"
},
"platform": {
"type": "string",
"description": "iOS, Android, Web, ..."
},
"max_price": {
"type": "number",
"description": "Most the cheapest way in may cost; 0 = free to start"
},
"free": {
"type": "boolean",
"description": "Only products with a free offer"
},
"no_subscription": {
"type": "boolean",
"description": "Only products usable without a subscription"
},
"attributes": {
"type": "object",
"description": "Exact attribute matches, e.g. {\"offline\": true}",
"additionalProperties": true
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [],
"additionalProperties": false
}🟢get_product(id)
Full facts for one product: where to get it, every price, ratings with dates, features, attributes, when not to recommend it, third-party coverage and sources.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Product id from search_products"
}
},
"required": [
"id"
],
"additionalProperties": false
}🟢compare_products(id, product_id)
Comparison tables of products and their alternatives on shared attributes, each row sourced. Pass an id to get one table, or a product id to get every table it appears in, or nothing to list them.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Comparison id"
},
"product_id": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
}🟢list_attributes
Filterable attribute keys, the values products use for each, and how many products set it. Use these keys in search_products attributes.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Community
Evidence