Kloudy

One MCP for IDEs and bots: finds the right tool, runs it with a scoped token, returns the result.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
86%
Naming quality
87%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,521Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.19% of 128k context)

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": {
    "kloudy": {
      "url": "https://kloudy.ai/mcp"
    }
  }
}

Remote endpoints

https://kloudy.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢find_mcp_tools(operation, goal, limit, offset)

Find public MCP servers, tools and SDKs using a few task keywords. Returns a page of up to twenty relevant discovery candidates with their name, source, link, capability tags and a heuristic metadata score. Read-only: does not install, connect, call or run tools. Use ask for a short Kloudy setup request, or introduce for a short description.

Input Schema

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "introduce",
        "ask",
        "query"
      ],
      "default": "query",
      "description": "query searches candidates; ask returns Kloudy setup links; introduce describes discovery."
    },
    "goal": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A few task keywords such as postgres, or a short setup request such as install npx kloudy. Exclude personal information and conversation history."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Page size, default 8. Results are never padded."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 999999,
      "description": "Next offset returned for this exact goal."
    }
  },
  "additionalProperties": false
}
🟢kloudy_connect_card(mode)

Show sign-in availability or the one-step install card. First call find_mcp_tools with operation ask and a short setup request. If it returns kind account or connect, call this card once with the returned mode. Copying the command does not install anything or authorize private tools. Text-only hosts show the same instruction.

Input Schema

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "signin",
        "install"
      ],
      "description": "Use the mode returned by find_mcp_tools: signin for account sign-in, or install for editor setup."
    }
  },
  "required": [
    "mode"
  ],
  "additionalProperties": false
}
🟢show_tool_preferences_card(kind, surface)

Show three short questions about preferred tool types, where projects run, and how tool updates appear. Use when the user wants to set or change these preferences. Displays choices only; does not install or run tools. Show once, not for every tool.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "preferences"
      ],
      "description": "Show the three tool-preference questions."
    },
    "surface": {
      "type": "string",
      "enum": [
        "ide",
        "chatbot",
        "site"
      ],
      "default": "chatbot",
      "description": "Where the card appears: an editor, a chatbot, or the Kloudy website. Changes wording only."
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
🟢show_visual_setup_choices(optionId, choiceSetId)

Offer three fixed framework layout examples (Vite, Astro, Next.js), not goal-based tool discovery. For tools matching a task, call find_mcp_tools and search the actual catalog. The IDE creates any requested mockup using its own available capabilities. Kloudy performs no model or image generation. Selection is presentation only; no install, account connection or spending consent.

Input Schema

{
  "type": "object",
  "properties": {
    "optionId": {
      "type": "string",
      "enum": [
        "vite-workbench",
        "astro-publishing",
        "next-portal"
      ],
      "description": "Exact offered option ID, only after the user chooses it."
    },
    "choiceSetId": {
      "type": "string",
      "description": "Exact choice set ID returned with the offered options; required with optionId."
    }
  },
  "additionalProperties": false
}
⚪kloudy_build_start(flowId, email, goal)

Consult Kloudy to assemble or improve a project using frameworks, components, MCP/HTTPK tools, APIs, SDKs, models, clouds, runners, payments or media. Resume the existing flowId and pinned stack; return useful partial matches and honest gaps. Email is only a contact hint, never authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "flowId": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "maxLength": 254
    },
    "goal": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "additionalProperties": false
}
🟢kloudy_build_answer(flowId, cardId, answer)

Return the user answer to the exact Kloudy question. Interpret the relevant project capabilities into short component queries; preserve the complete useful selection independently of display pages. Choices do not authorize installation, execution or spending.

Input Schema

{
  "type": "object",
  "properties": {
    "flowId": {
      "type": "string"
    },
    "cardId": {
      "type": "string"
    },
    "answer": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "maxLength": 254
        },
        "goal": {
          "type": "string",
          "maxLength": 2000
        },
        "details": {
          "type": "string",
          "maxLength": 2000
        },
        "design": {
          "type": "string",
          "maxLength": 2000
        },
        "budget": {
          "type": "string",
          "maxLength": 2000
        },
        "feedback": {
          "type": "string",
          "maxLength": 2000
        },
        "previewStatus": {
          "type": "string",
          "enum": [
            "ready",
            "unavailable"
          ]
        },
        "previewUrl": {
          "type": "string",
          "maxLength": 2048
        },
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "label",
              "query"
            ],
            "properties": {
              "label": {
                "type": "string",
                "maxLength": 80
              },
              "query": {
                "type": "string",
                "maxLength": 120
              }
            },
            "additionalProperties": false
          }
        },
        "optionIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "uniqueItems": true
        },
        "moreComponent": {
          "type": "integer",
          "minimum": 0
        },
        "pins": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "artifact": {
          "type": "object"
        },
        "project": {
          "type": "object"
        },
        "stageScope": {
          "type": "object",
          "description": "Explicitly accepted planning filters: confirmed, expectedRevision, combinationId, combinationRevision, requirementsRevision, constraints. This is not a permission grant."
        },
        "lifecycle": {
          "type": "object",
          "description": "Stage planning input: operation, expectedRevision, stage/capability or exact component/resource/proposal IDs. No commands, secrets or action authority."
        },
        "choice": {
          "type": "string",
          "enum": [
            "stage-scope",
            "stage-resources",
            "skip",
            "previous",
            "change-email",
            "edit-goal",
            "edit-requirements",
            "keep-selection",
            "pin-stack",
            "build-project",
            "build-complete",
            "more",
            "preview",
            "mockup",
            "like",
            "refine-preview",
            "preview-complete",
            "revise",
            "continue",
            "skip-account",
            "check-account"
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "flowId",
    "cardId",
    "answer"
  ],
  "additionalProperties": false
}
🟢kloudy_build_state(flowId)

Read the current Kloudy question, selected candidates and connection boundaries without advancing.

Input Schema

{
  "type": "object",
  "properties": {
    "flowId": {
      "type": "string"
    }
  },
  "required": [
    "flowId"
  ],
  "additionalProperties": false
}
⚪kloudy_project_stage(draft, flowId, answer)

Review optional business-stage resources for an exact pinned project. Returns inert source metadata and planning choices, never installs, executes or grants access.

Input Schema

{
  "type": "object",
  "properties": {
    "draft": {
      "type": "object"
    },
    "flowId": {
      "type": "string"
    },
    "answer": {
      "type": "object"
    }
  },
  "required": [
    "draft"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded4 tools