Agent Academy

Agent Academy is a free, source-linked library of skills, prompts, MCP servers and bot templates, organised into courses by profession, for people who hand real work to AI agents: 1,467 live resources, each with its original link, license and safety tags.

MCP server

Keyline Icons

Search Keyline Icons by name and get any icon's SVG source or React import. No key, no network.

No credentialsDoes not send

https://github.com/keyline-icons/keyline-icons

Install
npx -y @keyline-icons/mcp

Original content

Full originalMITSource

Republished in full under its license, with attribution. The source is authoritative.

Keyline Icons

**1,435 icons, drawn on one 24×24 grid, in four styles and two corner

treatments.** Built for shadcn/ui, free under MIT.

keylineicons.com to browse and copy.

StyleIconsWhat it is
stroke1,435The full set. 2px keylines on a 24 grid.
two-tone1,435The stroke drawing over a flat plate at reduced opacity.
duotone1,435No outline: a grey body with the detail in full strength.
fill1,435Solid, with the detail knocked back out of the shape.

stroke is the drawing every other style starts from, and since 1.0.0 every

name comes in all four. two-tone is what duotone meant until 0.9.0: the

outline kept, a 40% plate under it. duotone now drops the outline and decides

per icon which part is grey and which is black, so the thing that matters reads

first: the check on a badge, the liquid in a flask, the data rather than the

chart's axes. A glyph with nothing to fill, like bar-chart, carries its stroke

drawing in the filled styles, so no import ever comes up empty.

Rounded and sharp

Every drawing in the table comes twice: rounded, with round caps and filleted

corners, and sharp, with butt caps and square corners. Same names, same

coverage, so 11,480 SVGs in total.

icons/stroke/bell.svg
icons/sharp/stroke/bell.svg
icons/sharp/fill/bell.svg

Sharp is a drawing of its own rather than a filter over the rounded one. Squaring

a corner moves the ink, and where that changes the silhouette the geometry was

solved again, so both treatments sit side by side in raw/ and the build

converts neither into the other.

Using them

Copy one from the site. keylineicons.com is the

browser: click any icon to open it, then take it as SVG, JSX, a React import or

an npx line, at whatever style, corners, stroke width and size you have set.

The panel keeps the last three icons you opened, so two candidates can be held

side by side. That is the fastest path and needs no install.

Take the files. icons/<style>/<name>.svg and

icons/sharp/<style>/<name>.svg are plain, normalised SVGs with no wrapper, no

ids and no classes. They are generated, so treat them as build output: to

change one, change the drawing in raw/ and rebuild.

Import them in React. @keyline-icons/react exports one component per

icon, one entry point per style and corner treatment:

npm i @keyline-icons/react
import { ArrowUpRight, Check, Menu } from "@keyline-icons/react"
import { Folder as FolderDuotone } from "@keyline-icons/react/duotone"
import { Folder as FolderFill } from "@keyline-icons/react/fill"
import { Folder as FolderSharp } from "@keyline-icons/react/sharp"
import { Folder as FolderSharpFill } from "@keyline-icons/react/sharp/fill"

<Check className="size-4" />

Every component takes the usual SVGProps plus size, and colours from

currentColor. There is no theme, no context and no provider.

The style entry points are smaller than the stroke one and deliberately so.

Check is three open strokes with nothing to fill, so it exists in

@keyline-icons/react and /sharp and in none of the others; Folder has an

interior and exists in all six. The counts at the top of this file are the same

fact.

components/icons/index.tsx is the same set generated for this repo's own

site, and @/components/icons is the import to use inside it. Both come off

icons/stroke/, so they hold the same drawings; the package is the one to

install anywhere else.

Import them in React Native. @keyline-icons/react-native is the same

components drawn through react-native-svg, with the same entry points and

export names, so shared code changes the package name and nothing else. It

works in Expo, on the web through Expo too.

npm i @keyline-icons/react-native react-native-svg
import { Check } from "@keyline-icons/react-native"
import { Folder } from "@keyline-icons/react-native/duotone"

<Check size={16} color="#2563eb" />

A native view has no CSS to inherit from, so colour is a color prop rather

than currentColor.

Own the source with the shadcn CLI. The registry is served by the site, so

adding the set to a project is one entry in components.json:

"registries": {
  "@keyline": "https://keylineicons.com/r/{name}.json"
}
npx shadcn add @keyline/bell
npx shadcn add @keyline/fill/bell
npx shadcn add @keyline/sharp/fill/bell

Each icon arrives as a self-contained component that imports nothing from the

package, so it can be renamed, edited or folded into the project's own

conventions. Take the package to have the whole set behind one import; take the

registry to own a handful of files.

Add one at a time from the terminal. @keyline-icons/cli searches the set

and writes SVGs into a project without adding a dependency to it:

npx @keyline-icons/cli search arrow
npx @keyline-icons/cli add circle-arrow-down bell --out src/icons
npx @keyline-icons/cli add bell --style fill --corners sharp

Give an agent the set. @keyline-icons/mcp is an MCP server that searches

the set, returns SVG source in any style and corner treatment, and returns the

React import, so an assistant picks a real icon name rather than guessing one:

claude mcp add keyline-icons -- npx -y @keyline-icons/mcp

Anything else that speaks MCP over stdio runs the same command; the package's

own README has the JSON.

Use them outside React. The whole set is on

Iconify as keyline-icons,

which covers Vue, Svelte, Solid, web components and the Tailwind plugin. Stroke

is the bare name and everything else is a suffix on it:

keyline-icons:bell
keyline-icons:bell-fill
keyline-icons:bell-sharp-duotone

Iconify re-imports from this repository, so it carries whatever the last

release drew. The install page has the

snippet for each framework.

Drop one onto a Figma canvas. The

Figma plugin

inserts any icon in any style and either corner treatment into the file you

already have open, and the

Community file

is the whole set as components, with style, corners and container as variant

properties.

Containers

61 icons come in a square- form and 66 in a circle- form, which wrap the

base drawing rather than replacing it:

icons/stroke/arrow-down.svg
icons/fill/square-arrow-down.svg
icons/sharp/duotone/circle-arrow-down.svg

A square- or circle- prefix does not always mean a container. circle-half

and square-dashed are shapes in their own right, with no base for them to

contain, so they are filed as regular icons. The rule is that the base has to

exist before the prefix means anything.

Categories

Arrows, Chevrons & Carets, Git, Files, Time, Mail, Finance, Commerce, Maps,

Home, Media, Charts, Diagrams, Devices, Pointers, Text, Layout, Users, Gender,

Emoji, Actions, Controls, Education, AI, Science, Health, Sport, Food & Drink,

Art, Tools, Stationery, Shapes, Web, Weather, Transport, Nature and Animals,

plus the Square and Circle container groups.

What changed in each release, redraws included, is on the

changelog.

Layout

raw/<name>/            Figma exports, untouched. The source of truth.
icons/<style>/         Generated SVGs, rounded. Do not hand-edit.
icons/sharp/<style>/   Generated SVGs, sharp. Do not hand-edit.
components/icons/      Generated React components. Do not hand-edit.
pipeline/              The build, the linter and the checks.
app/, components/      The site at keylineicons.com.
packages/              Publishable packages.

Working on it

Node 20.9 or newer, and pnpm.

pnpm install
pnpm dev            # the site
pnpm icons:build    # raw/ -> icons/
pnpm icons:react    # icons/ -> components/icons/ and packages/react/
pnpm icons:lint     # geometry and coverage rules
pnpm icons:ci       # everything CI runs

pipeline/README.md is the real documentation: what the build normalises, every

rule the linter enforces and why, how the Figma check works, and the standard a

new drawing has to meet. Read it before adding an icon. The drawing standard is

not a matter of taste here, it is measured, and the linter will tell you the

number it wanted.

Two checks deliberately sit outside CI. icons:figma needs the Figma file,

which CI does not have. brand:check rasterises through headless Chrome, where

two versions disagree by a pixel on identical input, and a check that cries wolf

gets switched off. Run both locally.

Sponsors

Preline, since August 2026.

The set is free, has no paid tier, and is not getting one. Sponsorship pays for

the hours rather than unlocking anything, so every icon added is added for

everyone.

Sponsoring on GitHub from $25 a

month puts your name in this section, and from $100 a month on

keylineicons.com as well. lib/sponsors.ts is the

list both read from.

Licence

MIT. See [LICENSE](LICENSE). Use them in anything, commercial included, without

attribution.

The licence covers the icons and the code. It does not grant rights in the name

"Keyline Icons".

DescriptionSearch Keyline Icons by name and get any icon's SVG source or React import. No key, no network.
Version1.8.0
Packagesnpm · @keyline-icons/mcp@1.8.0 · stdio
Environment variablesNone stated
Websitehttps://keylineicons.com

Related

Design systemDesign

Apple Human Interface Guidelines

Apple's platform design guidance: foundations, patterns, components, inputs, technologies.

Sourcedeveloper.apple.com/design/human-interface-guidelines

No credentialsDoes not sendApple terms; link only
Style libraryDesign

UI Hub (Incidental AI UI resource hub) — llms.txt / api

Curated multilingual directory of ~2,391 public UI resources with visual-style (vs) facets, design KB (specs, skills), JSON endpoints and a recommended design-skill workflow.

Sourcesiinxu.github.io/ui-resource-hub/llms.txt

No credentialsDoes not sendaggregator; per-item license
WorkflowDesign

UI Hub skills.json (recommended design workflow)

Workflow: pick ONE direction skill (frontend-design or taste-skill) → search resources by style/kind → build with emil-design-eng → audit with impeccable + web-design-guidelines + accessibility → verify in browser light+dark, mobile.

Sourcesiinxu.github.io/ui-resource-hub/api/skills.json

No credentialsDoes not sendaggregator
SkillDesign

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

Sourcegithub.com/anthropics/skills/blob/main/skills/algorithmic-art/SKILL.md

No credentialsDoes not sendApache-2.0
SkillDesign

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

Sourcegithub.com/anthropics/skills/blob/main/skills/canvas-design/SKILL.md

No credentialsDoes not sendApache-2.0
CaseDesign

Multimodal Design Agent Team

A Streamlit application that provides comprehensive design analysis using a team of specialized AI agents powered by Google's Gemini model.

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/agent_teams/multimodal_design_agent_team

No credentialsDoes not sendApache-2.0