ExpoKit

io.github.Anshkaran7由 GitHub 账号 Anshkaran7 发布v0.5.2更新于 Nov 3, 2026

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

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

ExpoKit 的 MCP 服务器,让助手浏览 Expo/React Native 的 UI 组件、图表和页面,并取得把它们加入应用的 CLI 命令。

可以做什么
  • 列出全部 ExpoKit 条目,含类型、免费/PRO 层级和一句话说明,可加筛选条件
  • 按关键词搜索条目,匹配名称、别名、标题、分类和描述
  • 查看单个条目的详情:描述、import 语句、props、npm 与 registry 依赖、用法示例,免费条目还可附源码文件
  • 取得把一或多个条目复制进用户 Expo 应用的确切 CLI 命令,以及该命令会做什么
适用场景
适合在开发 Expo 或 React Native 应用时,让助手帮忙挑选合适的动画组件、图表或整页界面,并给出安装命令。它是查找与安装辅助工具,不是运行时库。
运行要求
以本地 stdio 进程运行,通过 npm 包 @expokit/cli 安装,需要 Node.js 和 npx。目标项目必须是 Expo 应用。Pro 条目需要 ExpoKit Pro 订阅,并需用 ExpoKit 账户页面取得的令牌在 CLI 中登录一次。
安装前请注意
Pro 条目需要付费的 ExpoKit Pro 订阅和登录令牌;服务器说明要求不要把令牌粘贴到对话中,应通过 CLI 登录或设置 EXPO_KIT_TOKEN。add 命令会向应用写入文件(components.json、tsconfig 别名和组件文件)并执行 npx expo install,建议先用 --dry-run 查看改动。成功 add 后 CLI 会把条目名称发送到 expokit.in,除非用 DO_NOT_TRACK=1 或 EXPO_KIT_TELEMETRY=0 关闭。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ExpoKit,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:packages/cli/README.md,提交 9afd60b

工具

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.

输入参数tiertype

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.

输入参数query必填

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.

输入参数name必填include_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.

输入参数names必填

版本历史

2
  1. v0.5.2最新Oct 31, 2026
  2. v0.4.2Oct 26, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分