Find, compare and get cited software picks. Organic only. Makers can prepare a free listing.
Maintain this server? Claim it
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 public demand report of a category: the share of buyers who asked the advisor for each feature, integration, security need and budget in the last 90 days (anonymous totals), and how many listed apps answer each.
Category name or slug, e.g. “Project Management”.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http appfinder https://appfinder.tech/api/mcp
The public demand report of a category: the share of buyers who asked the advisor for each feature, integration, security need and budget in the last 90 days (anonymous totals), and how many listed apps answer each.
| Argument | Type | Description |
|---|---|---|
| category* | string | Category name or slug, e.g. “Project Management”. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category"
],
"properties": {
"category": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Category name or slug, e.g. “Project Management”."
}
}
}Whether a website already has a published AppFinder listing, and its page. Call this before prepare_listing.
| Argument | Type | Description |
|---|---|---|
| website* | string | The app's website or domain, e.g. “acme.com”. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"website"
],
"properties": {
"website": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The app's website or domain, e.g. “acme.com”."
}
}
}Side by side: pricing, and the features, integrations and platforms both apps have or only one has.
| Argument | Type | Description |
|---|---|---|
| first* | string | First app name or slug. |
| second* | string | Second app name or slug. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first",
"second"
],
"properties": {
"first": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "First app name or slug."
},
"second": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Second app name or slug."
}
}
}Apps that do what an app does (same category, most shared features first), and what buyers who wanted to replace it chose.
| Argument | Type | Description |
|---|---|---|
| app* | string | The app to replace, e.g. “Jira”. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app"
],
"properties": {
"app": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The app to replace, e.g. “Jira”."
}
}
}One app's listing: description, categories, pricing, platforms, features, integrations, rating and its facts with sources.
| Argument | Type | Description |
|---|---|---|
| app* | string | App name or AppFinder slug, e.g. “Linear”. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app"
],
"properties": {
"app": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "App name or AppFinder slug, e.g. “Linear”."
}
}
}The directory's categories with how many apps each lists.
No arguments.
{
"type": "object",
"properties": {}
}For a maker who wants to list their own app: fills in AppFinder's submission form from what they told you plus the app's website, and returns a private link. The person opens it, signs in, reviews every field and submits; nothing is published until AppFinder's team approves it. Listing is free. Pass only what the maker said; leave out what you don't know (the website fills the gaps).
| Argument | Type | Description |
|---|---|---|
| name | string | The app's name. |
| tagline | string | One line that says what it does, without claims like “#1” or “best”. |
| website* | string | The app's website, e.g. “acme.com”. |
| category | string | Category name or slug from list_categories. |
| features | array | Key features, e.g. [“Kanban boards”, “Time tracking”]. |
| logo_url | string | A square logo image over https. |
| platforms | array | Where it runs. |
| description | string | Who it's for and what they can do with it (at least 20 characters). |
| integrations | array |
Ranks the apps in the AppFinder directory against a plain-language request and explains each pick with cited facts (what fits, what's missing, which apps a must-have rules out), plus one follow-up question that would narrow the list.
| Argument | Type | Description |
|---|---|---|
| request* | string | What the buyer needs, e.g. “project management for a 12-person dev team, sprints, GitHub, SSO required, under $15 per user”. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"request"
],
"properties": {
"request": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"description": "What the buyer needs, e.g. “project management for a 12-person dev team, sprints, GitHub, SSO required, under $15 per user”."
}
}
}Full-text search of the directory by name, keyword or job (most relevant first).
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many results (default 10). |
| query* | string | Words to search for, e.g. “kanban” or “invoicing”. |
| category | string | Optional category name or slug from list_categories. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many results (default 10)."
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Words to search for, e.g. “kanban” or “invoicing”."
},
"category": {
"type": "string",
"maxLength": 80,
"description": "Optional category name or slug from list_categories."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.
| Tools it integrates with, e.g. [“Slack”, “GitHub”]. |
| pricing_model | string | free, freemium (free plan + paid plans), paid, open_source or contact_sales. |
| pricing_summary | string | One line, like “Free plan; paid plans from $8 per user per month.” |
| starting_price_usd | number | Lowest paid plan per month, in US dollars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"website"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"description": "The app's name."
},
"tagline": {
"type": "string",
"maxLength": 80,
"description": "One line that says what it does, without claims like “#1” or “best”."
},
"website": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The app's website, e.g. “acme.com”."
},
"category": {
"type": "string",
"maxLength": 80,
"description": "Category name or slug from list_categories."
},
"features": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 30,
"description": "Key features, e.g. [“Kanban boards”, “Time tracking”]."
},
"logo_url": {
"type": "string",
"maxLength": 2048,
"description": "A square logo image over https."
},
"platforms": {
"type": "array",
"items": {
"enum": [
"web",
"macos",
"windows",
"linux",
"ios",
"android"
],
"type": "string"
},
"maxItems": 6,
"description": "Where it runs."
},
"description": {
"type": "string",
"maxLength": 600,
"description": "Who it's for and what they can do with it (at least 20 characters)."
},
"integrations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 30,
"description": "Tools it integrates with, e.g. [“Slack”, “GitHub”]."
},
"pricing_model": {
"enum": [
"free",
"freemium",
"paid",
"open_source",
"contact_sales"
],
"type": "string",
"description": "free, freemium (free plan + paid plans), paid, open_source or contact_sales."
},
"pricing_summary": {
"type": "string",
"maxLength": 160,
"description": "One line, like “Free plan; paid plans from $8 per user per month.”"
},
"starting_price_usd": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Lowest paid plan per month, in US dollars."
}
}
}