ExpoKit

io.github.Anshkaran7Published by GitHub account Anshkaran7v0.5.2Updated Nov 3, 2026

Search and add animated Expo and React Native UI components, charts and screens to your app.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

ExpoKit MCP server that lets an assistant browse Expo/React Native UI components, charts and screens and get the CLI command to add them to an app.

What you can do
  • List all ExpoKit items with type, free/PRO tier and one-line description, with optional filters
  • Search items by keyword across names, aliases, titles, categories and descriptions
  • View one item's details: description, import line, props, npm and registry dependencies, usage examples and, for free items, source files
  • Get the exact CLI command that copies one or more items into the user's Expo app, plus what it will do
When to use it
Useful when building an Expo or React Native app and you want an assistant to find suitable animated components, charts or full screens and hand you the command that installs them. It is a discovery and setup helper, not a runtime library.
Requirements
Runs as a local stdio process, installed via the npm package @expokit/cli; Node.js and npx are needed. The target project must be an Expo app. Pro items require an ExpoKit Pro plan and a one-time CLI login with a token from the ExpoKit account page.
Before you install
Pro items need a paid ExpoKit Pro plan and a login token; the instructions say never to paste that token into chat, so log in through the CLI or set EXPO_KIT_TOKEN. The add command writes files into the app (components.json, the tsconfig alias and component files) and runs npx expo install, so review with --dry-run first. After a successful add the CLI sends the item name to expokit.in unless telemetry is disabled with DO_NOT_TRACK=1 or EXPO_KIT_TELEMETRY=0.

Installation

In SourceWeft

  1. Open ExpoKit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@expokit/cli

[npm] [CI] [OpenSSF Scorecard] [Dependencies] [License]

The CLI for ExpoKit — animated UI components for Expo and React Native. It copies the component source into your app (like shadcn/ui), so you own the code.

[ExpoKit charts on iPhone: scrubbing an area chart and a bar chart, dragging a gauge, tapping through a donut]

[ExpoKit on iPhone in dark and light mode: payment card, flip card, dashboard block and checkout block]
Payment card and flip card are free; the dashboard and checkout screens are Pro blocks.

  • Buttons, inputs, cards, sheets, tabs, charts and full screens, all animated, with light and dark mode
  • Built for touch: springs, drag gestures and haptics, on iOS, Android, web and in Expo Go
  • You own the code: plain typed files in your app, with no runtime library to lock you in

Browse every component with live previews → · Try them on your phone in Expo Go →

Usage

In your Expo app's folder:

bash
npx @expokit/cli@latest initnpx @expokit/cli@latest add button otp-input
tsx
import { Button } from '@/components/ui/button';
<Button onPress={save}>Save</Button>;

See every component: npx @expokit/cli@latest add --list

Already have a Skeleton.tsx (or any file the kit would clash with)? add skips that item, says why, and adds the rest. Put the kit's copy next to yours with --dir:

bash
npx @expokit/cli@latest add skeleton --dir src/components/kit   # import from "@/components/kit/ui/skeleton"

init asks for your brand colour, font, radius and light / dark (or takes --brand, --font, --radius, --scheme; --yes skips the questions) and writes lib/kit-theme.tsx, an <AppTheme> wrapper for your root layout.

Keeping up to date

components.json remembers a hash of every file add wrote. When a new CLI ships fixes:

bash
npx @expokit/cli@latest diff toast      # your changes since install, and what changed upstreamnpx @expokit/cli@latest update          # refresh every installed item

update refreshes the files nobody touched and stops on a file you patched, showing the diff, so your fix is never silently replaced. update toast --force takes upstream anyway.

Docs

Everything else — live previews, props, installation, theming, Pro, AI / MCP setup and help — is on expokit.in.

Security

  • No dependencies, no install scripts.
  • Anonymous install counts only — after a successful add, the CLI sends the item's name ({"items":["button"]}) to expokit.in so the site can show how often each component is installed. No token, files, paths or machine details; repeat adds count once a day. Turn it off with DO_NOT_TRACK=1 or EXPO_KIT_TELEMETRY=0; it never runs in CI, --dry-run or update.
  • Writes only inside your app — components.json, the @/* alias in tsconfig.json and the component files. --dry-run shows every change first; add and update never overwrite a file you changed unless you pass --force (the hashes in components.json only ever mark a file as untouched; their paths are never read or written), and never replaces one that differs only by case (Skeleton.tsx vs skeleton.tsx), a symlink or a folder, not even with --force. paths in components.json that point outside the app are refused, and aliases must be plain import aliases (they are written into the copied files' imports). A file that is a symlink is never written through; a symlinked folder inside the app is still followed, so a cloned repo that links a folder elsewhere can send writes there.
  • Free components need no network to install — they ship inside this package. Pro components are downloaded over HTTPS from expokit.in; your token is stored readable only by you, sent only to that site and never through a redirect. In scripts, pipe it to login or set EXPO_KIT_TOKEN (--token leaves it in your shell history).
  • Runs one command: npx expo install for the packages a component needs — without EXPO_KIT_TOKEN in its environment, so install scripts never see your token.

Report a vulnerability privately: SECURITY.md.

License

MIT

Source: packages/cli/README.md at commit 9afd60b

Tools

4

list_items

List ExpoKit items

List every ExpoKit item (components, charts, blocks, templates) with type, tier (free/PRO) and a one-line description. Optional filters.

Parameterstiertype

search_items

Search ExpoKit items

Find ExpoKit items by keywords (e.g. "bottom sheet", "line chart", "glass tab bar", "onboarding"). Matches names, aliases, titles, categories and descriptions.

Parametersqueryrequired

view_item

View an ExpoKit item

Details for one item: description, import line, props, npm and registry dependencies, usage examples (free items) and the command that adds it. Set include_source to also get the source files of a free item.

Parametersnamerequiredinclude_source

get_add_command

Get the add command

The exact CLI command that copies one or more items into the user's Expo app (run it in the app's root folder), plus what it will do.

Parametersnamesrequired

Version history

2
  1. v0.5.2LatestOct 31, 2026
  2. v0.4.2Oct 26, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts