AppFinder MCP
An official MCP server by AppFinder that allows AI assistants to search for software, compare applications, retrieve detailed app profiles, and draft listing submissions using organic, community-driven rankings without requiring authentication.
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://appfinder.tech/api/mcpWhat you can do with it
- Find software recommendations based on specific requirements
- Compare two applications side-by-side
- Retrieve detailed app profiles and pricing
- Draft a free listing for a new software application
Source and maintenance
Protocol and capabilities
- Server
- appfinder 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
recommend_apps — Recommend software
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.
{
"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”."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_apps — Search apps
Full-text search of the directory by name, keyword or job (most relevant first).
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_app — Get an app
One app's listing: description, categories, pricing, platforms, features, integrations, rating and its facts with sources.
{
"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”."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_apps — Compare two apps
Side by side: pricing, and the features, integrations and platforms both apps have or only one has.
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_alternatives — Find alternatives
Apps that do what an app does (same category, most shared features first), and what buyers who wanted to replace it chose.
{
"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”."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — List categories
The directory's categories with how many apps each lists.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}category_demand — What buyers ask for
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.
{
"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”."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_listing — Is an app listed?
Whether a website already has a published AppFinder listing, and its page. Call this before prepare_listing.
{
"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”."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}prepare_listing — Prepare a listing for a maker
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).
{
"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."
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 1000 ms
- 95th percentile latency
- 1000 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1000 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http appfinder-mcp https://appfinder.tech/api/mcpCodex
codex mcp add appfinder-mcp --url https://appfinder.tech/api/mcpCursor
{
"mcpServers": {
"appfinder-mcp": {
"url": "https://appfinder.tech/api/mcp"
}
}
}Cline
{
"mcpServers": {
"appfinder-mcp": {
"type": "streamableHttp",
"url": "https://appfinder.tech/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"appfinder-mcp": {
"type": "http",
"url": "https://appfinder.tech/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http appfinder-mcp https://appfinder.tech/api/mcpClaude Desktop
{
"mcpServers": {
"appfinder-mcp": {
"url": "https://appfinder.tech/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"appfinder-mcp": {
"serverUrl": "https://appfinder.tech/api/mcp"
}
}
}Let your agent find its tools
Find servers like AppFinder MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run AppFinder 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.