Find free open-source replacements for paid software; search 15,000+ AI tools and MCP servers.
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.
For a custom task (no existing pipeline matches), get a deep link to the Pipeline Builder on thedailyworkflow.com. The builder composes a step-by-step pipeline from 15000+ AI tools with ready-to-paste prompts. The MCP server doesn't run it directly — it returns the prefilled URL where the user can run it. Args: task: Description of what the user wants to accomplish. Example: "create a YouTube channel with bedtime stories using AI for video and voice". lang: "en" or "ru" (default "en"). Returns: Dict with builder_url (open this in browser), task (echoed), and a note explaining what happens. Use this when search_pipelines returns no good match. ALWAYS call search_pipelines first to check for existing solutions before suggesting the builder.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http thedailyworkflow-mcp https://thedailyworkflow.com/api/v1/mcp/bridge
For a custom task (no existing pipeline matches), get a deep link to the Pipeline Builder on thedailyworkflow.com. The builder composes a step-by-step pipeline from 15000+ AI tools with ready-to-paste prompts. The MCP server doesn't run it directly — it returns the prefilled URL where the user can run it. Args: task: Description of what the user wants to accomplish. Example: "create a YouTube channel with bedtime stories using AI for video and voice". lang: "en" or "ru" (default "en"). Returns: Dict with builder_url (open this in browser), task (echoed), and a note explaining what happens. Use this when search_pipelines returns no good match. ALWAYS call search_pipelines first to check for existing solutions before suggesting the builder.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| task* | string |
{
"type": "object",
"title": "build_custom_pipeline_urlArguments",
"required": [
"task"
],
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"task": {
"type": "string",
"title": "Task"
}
}
}Stats about the MCP catalog at thedailyworkflow.com. Returns: total_servers (int), top_languages (list of {language, count}), catalog_url. Use this for context-setting questions like "how many MCP servers exist" or "what's the most popular language for MCP servers".
No arguments.
{
"type": "object",
"title": "catalog_statsArguments",
"properties": {}
}Find verified free open-source replacements for a paid AI product. Backed by the Swap Map at thedailyworkflow.com/alternatives — every replacement is checked by hand against live GitHub (stars, license, last push). Answer honestly from the returned status: - "covered": list the replacements (repo, stars, license, coverage full/partial, why_en, setup_level) and the money saved. - "checked_no_replacement": the product was audited and no verified free replacement exists yet — say exactly that. - "unknown": not audited yet; may include up to 3 covered "suggestions" nearby — present them as neighbours, NOT as replacements for this product. Args: product_name: Paid product name, e.g. "Midjourney", "Notion AI", "Jasper". Case-insensitive.
| Argument | Type | Description |
|---|---|---|
| product_name* | string |
{
"type": "object",
"title": "find_free_alternativeArguments",
"required": [
"product_name"
],
"properties": {
"product_name": {
"type": "string",
"title": "Product Name"
}
}
}Full details for a specific AI tool: features, pricing, target audience, USP. Args: slug: Tool slug from search_ai_tools results (e.g. "chatgpt", "midjourney"). Returns: Dict with full description, key_features, pricing_details, target_audience, unique_selling, tags, rating, page_url. Use this when the user wants deeper info on a tool before signing up — pricing breakdown, who it's for, what makes it different.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"title": "get_ai_tool_detailsArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug"
}
}
}Get complete details for a specific MCP server: description, use cases, tools, install configs. Args: slug: MCP server slug. Returns: Full MCP record with description, long description, use_cases (list of scenarios), tools (what the server exposes), install_configs (per-client snippets), license, author, stars, page_url. Use this when the user wants to learn more about a specific MCP before installing, or when they ask "what does X MCP do" or "show me use cases for X".
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"title": "get_mcp_detailsArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug"
}
}
}Get a ready-to-paste install config for a specific MCP server and client. Args: slug: MCP server slug (from search_mcp_servers `slug` field). Example: "github-mcp". client: Target client. Values: claude-desktop, cursor, cline, windsurf, continue, goose. Default: claude-desktop. Returns: Dict with `config` (JSON snippet ready to paste into client's config file), `install_command` (e.g. `npx @x/y`), `available_clients` (which clients have configs), and `page_url`. If config for requested client is missing, `config` will be null — try a different client from `available_clients`. Use this AFTER finding an MCP via search. Show the user the exact config snippet plus the path to their client's config file (e.g. for Claude Desktop on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json).
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| client | string |
{
"type": "object",
"title": "get_mcp_install_configArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"client": {
"type": "string",
"title": "Client",
"default": "claude-desktop"
}
}
}Return the saved AI tools ("My Workflow" stack) of the user who owns the given personal API key from thedailyworkflow.com. The user can generate the key on https://thedailyworkflow.com/my-workflow (section "Personal API key"). Ask the user for the key if you do not have it. Returns: Dict with `count` and `results`: each result has name, url (official site), page_url (catalog page), pricing and health (liveness status: alive / protected / slow / dead / unknown — re-checked every 4 hours). Use this when the user asks about "my tools", "my stack", "what did I save" in the context of TheDailyWorkflow.
| Argument | Type | Description |
|---|---|---|
| api_key* | string |
{
"type": "object",
"title": "get_my_saved_toolsArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key"
}
}
}Health summary of the user's saved stack on thedailyworkflow.com: how many of their tools are alive, protected, slow or dead, and which ones are dead. Needs the personal API key (see get_my_saved_tools). Use this when the user asks whether their tools are up, or wants a status report on their AI stack.
| Argument | Type | Description |
|---|---|---|
| api_key* | string |
{
"type": "object",
"title": "get_my_stack_healthArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key"
}
}
}Full pipeline: title, goal, all steps with tools, instructions, prompts, pricing. Args: slug: Pipeline slug (from search_pipelines). lang: "en" or "ru" (default "en"). Returns: Dict with title, goal, steps (each: step number, title, tool_name, tool_type, instruction, prompt_example, pricing, category, tool_url), step_count, page_url. Use this to give the user a complete actionable plan with copy-paste prompts.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| slug* | string |
{
"type": "object",
"title": "get_pipeline_detailsArguments",
"required": [
"slug"
],
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"slug": {
"type": "string",
"title": "Slug"
}
}
}Top-N most-used pipelines by hit count — what other users have found valuable. Args: lang: "en" or "ru" (default "en"). limit: Max results (1-25, default 10). Returns: Same shape as search_pipelines, sorted by hits descending. Use this for inspiration ("what can I do with AI?", "show me popular AI workflows").
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| limit | integer |
{
"type": "object",
"title": "get_popular_pipelinesArguments",
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
}
}
}Full tutorial content (markdown) with all steps, code blocks, screenshots. Args: slug: Tutorial slug (from search_mcp_tutorials). lang: en | ru. Default: en. Returns: Dict with title, summary, content (full markdown), difficulty, category, target_client, target_server, target_category, estimated_minutes, word_count, views_count, page_url. Use this AFTER finding a relevant tutorial via search. The `content` field has full markdown — render it directly to the user, or extract the install commands / config snippets they asked about.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| slug* | string |
{
"type": "object",
"title": "get_tutorial_detailsArguments",
"required": [
"slug"
],
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"slug": {
"type": "string",
"title": "Slug"
}
}
}List all AI tool categories in the catalog with counts. Returns: Dict with `count` and `categories` (list of {name, count}). Useful when the user wants to browse tools by category.
No arguments.
{
"type": "object",
"title": "list_ai_tool_categoriesArguments",
"properties": {}
}List all MCP categories in the catalog with counts. Returns: Dict with `count` (total categories) and `categories` (list of {name, count}). Useful when the user wants to browse by category or asks "what kinds of MCP servers exist".
No arguments.
{
"type": "object",
"title": "list_mcp_categoriesArguments",
"properties": {}
}Search 15000+ AI tools in the thedailyworkflow.com catalog. Args: query: Free-text search (matches name, description, tags). Example: "image generation", "transcription", "chatbot". category: Filter by category. Examples: "Image Generation", "Productivity", "Code & Development", "Audio & Music", "Writing & Content". pricing: Filter by pricing model. Values: "Free", "Freemium", "Paid", "Enterprise". limit: Max results (1-25, default 10). Returns: Dict with `count` and `results`. Each result: slug, name, category, description, pricing, logo_url, official_url, page_url. Use this when the user asks for an AI tool for a specific task ("find me an AI for X", "what are good free AI tools for Y", "compare AI tools for Z"). Follow up with get_ai_tool_details for the chosen one.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| pricing | string | |
| category | string |
{
"type": "object",
"title": "search_ai_toolsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
},
"pricing": {
"type": "string",
"title": "Pricing",
"default": ""
},
"category": {
"type": "string",
"title": "Category",
"default": ""
}
}
}Search the catalog of 3500+ MCP servers at thedailyworkflow.com. Args: query: Free-text search (matches name, description, keywords). Example: "notion", "postgres database". category: Filter by category. Common values: databases, web, filesystem, cloud, productivity, communication, dev, ai, search, monitoring. client: Filter by supported MCP client. Values: claude-desktop, cursor, cline, windsurf, continue, goose. language: Filter by implementation language. Values: typescript, python, go, rust, java. limit: Max results to return (1-25, default 10). Returns: Dict with `count` and `results` (list of MCP server summaries). Each result has: slug, name, description, categories, language, transport, supported_clients, stars, repo_url, page_url (link to full info). Use this when the user asks for an MCP server matching some need ("find me an MCP for X", "what MCP servers work with Cursor", "Slack MCP servers"). After choosing a candidate, call get_mcp_install_config to get ready-to-paste setup.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| client | string | |
| category | string | |
| language | string |
{
"type": "object",
"title": "search_mcp_serversArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
},
"client": {
"type": "string",
"title": "Client",
"default": ""
},
"category": {
"type": "string",
"title": "Category",
"default": ""
},
"language": {
"type": "string",
"title": "Language",
"default": ""
}
}
}Search 147+ MCP tutorials covering install, configuration, comparison, build guides. Tutorials are curated step-by-step guides for installing and using MCP servers with specific clients (Claude Desktop, Cursor, Cline, Windsurf), best-of-category roundups, build-your-own-server walkthroughs, and concept explainers. Args: query: Free-text search over titles, summaries, keywords. Example: "cursor mcp", "build python mcp server", "windsurf vs cursor". category: Filter by category. Values: client_setup, category_best, build, usecase, install, comparison, concept, general. difficulty: Filter by level. Values: beginner, intermediate, advanced. lang: Output language (en|ru). Default: en. limit: Max results (1-25, default 10). Returns: Dict with `count` and `results`. Each result: slug, title, summary, difficulty, category, tutorial_type, estimated_minutes, related_servers, page_url. Use this when the user asks "how do I install X MCP", "best MCPs for Cursor", "how to build my own MCP server", or hits an MCP setup problem. Follow up with get_tutorial_details(slug) for the full markdown.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| limit | integer | |
| query | string | |
| category | string | |
| difficulty | string |
{
"type": "object",
"title": "search_mcp_tutorialsArguments",
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
},
"category": {
"type": "string",
"title": "Category",
"default": ""
},
"difficulty": {
"type": "string",
"title": "Difficulty",
"default": ""
}
}
}Search 100+ ready-made AI workflow pipelines (step-by-step recipes). A pipeline is a complete plan: which AI tools to use in what order, with ready-to-paste prompts at each step, to accomplish a specific goal. Args: query: Free-text search over pipeline titles and queries. Examples: "podcast", "children book", "youtube channel automation". lang: Language for output ("en" or "ru"). Default: "en". limit: Max results (1-25, default 10). Returns: Dict with `count` and `results`. Each result: slug, title, goal, query, hits (popularity), step_count, page_url. Use this when the user describes a goal that involves multiple steps with multiple AI tools ("how do I make X using AI", "give me a workflow for Y"). After picking, call get_pipeline_details for full step-by-step plan with prompts.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| limit | integer | |
| query | string |
{
"type": "object",
"title": "search_pipelinesArguments",
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
}
}
}Search 1700+ user-submitted AI prompts for ChatGPT, Claude, Midjourney, DALL-E, Cursor, Gemini and more. Each prompt is a copy-paste-ready template for a specific task (writing, coding, marketing, design, business, etc). Args: query: Free-text search over title and prompt body. Example: "blog post outline", "code refactor", "logo design", "cold email". ai_tool: Filter by target AI. Values: ChatGPT, Claude, Midjourney, DALL-E 3, Gemini, Cursor, Copilot. category: Filter by category. Values: Writing, Coding, Marketing, Design, Business, Education, Creative, Productivity. limit: Max results (1-25, default 10). Returns: Dict with `count` and `results`. Each result: id, title, category, ai_tool, preview (first 200 chars of prompt), page_url. Use this when the user asks "give me a prompt for X" or "find a prompt to do Y". The full content is at the page_url.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| ai_tool | string | |
| category | string |
{
"type": "object",
"title": "search_promptsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
},
"ai_tool": {
"type": "string",
"title": "Ai Tool",
"default": ""
},
"category": {
"type": "string",
"title": "Category",
"default": ""
}
}
}Search 147+ Q&A cases — curated solutions to real GitHub Issues with MCP servers and AI tools. Each case is structured as: problem (symptom) → cause → solution (markdown with code). Use this FIRST when the user reports an error or unexpected behavior with an MCP server. Many common errors (timeouts, ESM/require issues, Windows path bugs, rate limits, connection failures) already have curated fixes. Args: query: Free-text search over title, problem, error keywords, tools used. Example: "ReadTimeout", "ESM require", "windows path", "rate limit". server: Filter by related MCP server slug. Example: "fastapi-mcp", "github-mcp-server". category: troubleshooting | install | config | usage. Default: any. lang: en | ru. Default: en. limit: Max results (1-25, default 10). Returns: Dict with `count` and `results`. Each result: slug, title, problem (preview), category, tools_used (list), error_keywords (list), related_server_slug, quality_score (0-10), helpful_count, page_url. The `slug` opens a full case at https://thedailyworkflow.com/qa/<slug> with the complete solution markdown.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| limit | integer | |
| query | string | |
| server | string | |
| category | string |
{
"type": "object",
"title": "search_qa_casesArguments",
"properties": {
"lang": {
"type": "string",
"title": "Lang",
"default": "en"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"default": ""
},
"server": {
"type": "string",
"title": "Server",
"default": ""
},
"category": {
"type": "string",
"title": "Category",
"default": ""
}
}
}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.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.