Vadivam MCP
The Vadivam MCP server enables AI agents to search for 24px outline icons by name, tag, or category and retrieve them as SVG or framework-specific code snippets. It supports tools for searching, suggesting icons based on descriptions, and retrieving icons in various formats like JSX, React, Vue, and Tailwind classes.
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://vadivam.praveenjuge.com/mcpWhat you can do with it
- Search icons by name, synonym, or category
- Get icon SVG or framework import code
- Suggest icons based on UI descriptions
- List available icon categories
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- vadivam 0.0.77
- MCP protocol
- 2025-06-18
- Tools
- 5 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
5 advertised
search_icons — Search icons
Find Vadivam icons by name, synonym tag, or category. Ranked: exact name, then name prefix or word, then tag, then category. Call this before get_icon; never guess icon names.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum results (default 20, max 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words to match, such as \"arrow right\", \"delete\", or \"weather\". May be empty when category is set."
},
"category": {
"type": "string",
"maxLength": 100,
"description": "Category id or title from list_categories, such as \"arrows\"."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query",
"total",
"results"
],
"properties": {
"query": {
"type": "string"
},
"total": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"componentName",
"categories",
"tags",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"componentName": {
"type": "string"
}
},
"additionalProperties": false
}
},
"category": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}suggest_icons — Suggest icons for a UI
Suggest icons for each thing a UI description mentions, such as "settings sidebar with search, profile, and logout". Splits on commas and words like "and" or "with", then ranks icons per concept. Pick one per concept, then call get_icon.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"description"
],
"properties": {
"perConcept": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Candidates per concept (default 3, max 10)."
},
"description": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A short description of the screen, feature, or list of actions that need icons."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"description",
"concepts",
"unmatched"
],
"properties": {
"concepts": {
"type": "array",
"items": {
"type": "object",
"required": [
"concept",
"results"
],
"properties": {
"concept": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"componentName",
"categories",
"tags",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"componentName": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"unmatched": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_icon — Get icon code
Get one icon, outline or solid, as SVG, JSX, a framework component snippet, a data URI, CSS mask, Tailwind class, CDN URL, sprite, font, Iconify id, or shadcn command. Unknown names return the closest real names.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Icon name from search_icons, such as \"arrow-right\" (PascalCase also works)."
},
"size": {
"type": "number",
"maximum": 1024,
"description": "Width and height in pixels (default 24).",
"exclusiveMinimum": 0
},
"color": {
"type": "string",
"maxLength": 64,
"description": "Stroke color, or fill color for solid (default currentColor)."
},
"style": {
"enum": [
"outline",
"solid"
],
"type": "string",
"description": "Icon style (default \"outline\"). \"solid\" is the filled twin, for selected or active states; it ignores stroke options."
},
"format": {
"enum": [
"svg",
"jsx",
"react",
"react-native",
"vue",
"svelte",
"solid",
"preact",
"astro",
"angular",
"qwik",
"lit",
"flutter",
"compose",
"data-uri",
"base64",
"css-mask",
"tailwind",
"cdn",
"sprite",
"font",
"iconify",
"shadcn"
],
"type": "string",
"description": "Output format (default \"svg\"). Framework ids return an import snippet."
},
"strokeWidth": {
"type": "number",
"maximum": 24,
"description": "Stroke width (default 2). Outline only.",
"exclusiveMinimum": 0
},
"absoluteStrokeWidth": {
"type": "boolean",
"description": "Keep the stroke width constant when resizing."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"componentName",
"format",
"style",
"code",
"url"
],
"properties": {
"url": {
"type": "string"
},
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"style": {
"enum": [
"outline",
"solid"
],
"type": "string"
},
"format": {
"type": "string"
},
"install": {
"type": "string"
},
"componentName": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — List categories
List every icon category with its id, title, description, and icon count. Pass an id to search_icons as category.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"categories"
],
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"iconCount"
],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"iconCount": {
"type": "number"
},
"description": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_usage — Get framework usage
Install command, import example, dynamic icon API, and docs link for a framework package, or "core" for raw SVG and JavaScript.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"framework"
],
"properties": {
"framework": {
"enum": [
"core",
"react",
"react-native",
"vue",
"svelte",
"solid",
"preact",
"astro",
"angular",
"qwik",
"lit",
"flutter",
"compose"
],
"type": "string",
"description": "Framework id, or \"core\" for the vadivam SVG package."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"framework",
"label",
"packageName",
"install",
"example",
"solid",
"dynamic",
"docs"
],
"properties": {
"docs": {
"type": "string"
},
"label": {
"type": "string"
},
"solid": {
"type": "string"
},
"dynamic": {
"type": "string"
},
"example": {
"type": "string"
},
"install": {
"type": "string"
},
"framework": {
"type": "string"
},
"packageName": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"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
- 804 ms
- 95th percentile latency
- 804 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 804 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http vadivam-mcp-praveenjuge https://vadivam.praveenjuge.com/mcpCodex
codex mcp add vadivam-mcp-praveenjuge --url https://vadivam.praveenjuge.com/mcpCursor
{
"mcpServers": {
"vadivam-mcp-praveenjuge": {
"url": "https://vadivam.praveenjuge.com/mcp"
}
}
}Cline
{
"mcpServers": {
"vadivam-mcp-praveenjuge": {
"type": "streamableHttp",
"url": "https://vadivam.praveenjuge.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"vadivam-mcp-praveenjuge": {
"type": "http",
"url": "https://vadivam.praveenjuge.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http vadivam-mcp-praveenjuge https://vadivam.praveenjuge.com/mcpClaude Desktop
{
"mcpServers": {
"vadivam-mcp-praveenjuge": {
"url": "https://vadivam.praveenjuge.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"vadivam-mcp-praveenjuge": {
"serverUrl": "https://vadivam.praveenjuge.com/mcp"
}
}
}Let your agent find its tools
Find servers like Vadivam MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.