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.
Get the full description of a product by the id returned from search_tools.
Product id returned by search_tools
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http indie-alternatives https://indiealternatives.dev/mcp
Get the full description of a product by the id returned from search_tools.
| Argument | Type | Description |
|---|---|---|
| id* | string | Product id returned by search_tools |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Product id returned by search_tools"
}
}
}Call when no tool in the catalog meets the user's need. Records the need anonymously so indie makers can discover what to build. Send only the need itself: no names, company names, contact details, links or account handles. The server redacts again and never stores identity, IP or exact time.
| Argument | Type | Description |
|---|---|---|
| need* | string | Generic description of the need, e.g. "turn meeting recordings into notes with action items" |
| budget | string | Optional: rough budget, e.g. "free" or "under $10/month" |
| category | string | Optional: rough domain of the need |
| platform | string | Optional: preferred platform |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"need"
],
"properties": {
"need": {
"type": "string",
"maxLength": 500,
"minLength": 4,
"description": "Generic description of the need, e.g. \"turn meeting recordings into notes with action items\""
},
"budget": {
"type": "string",
"maxLength": 50,
"description": "Optional: rough budget, e.g. \"free\" or \"under $10/month\""
},
"category": {
"type": "string",
"maxLength": 50,
"description": "Optional: rough domain of the need"
},
"platform": {
"type": "string",
"maxLength": 50,
"description": "Optional: preferred platform"
}
}
}Call when the user asks whether there is a tool for X, or for an alternative to a product. Matches the need against a catalog of indie-made products and returns the most relevant ones. matched=false means nothing suitable was found; then call log_unmet_need to record the need anonymously.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of results, default 5 |
| query* | string | What the user wants to do, e.g. "add a nice background to screenshots" or "self-hosted uptime monitoring" |
| pricing | string | Optional: pricing model |
| category | string | Optional: only search within this category |
| platform | string | Optional: platform, e.g. web, macos, windows, linux, ios, android, self-hosted |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Number of results, default 5"
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "What the user wants to do, e.g. \"add a nice background to screenshots\" or \"self-hosted uptime monitoring\""
},
"pricing": {
"enum": [
"free",
"freemium",
"paid",
"commission"
],
"type": "string",
"description": "Optional: pricing model"
},
"category": {
"type": "string",
"description": "Optional: only search within this category"
},
"platform": {
"type": "string",
"description": "Optional: platform, e.g. web, macos, windows, linux, ios, android, self-hosted"
}
}
}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 5, 2026.