Skip to main content
Glama

MCP Toplist

Sponsors

Sponsoring ReactUse puts your product in front of the React developers who install @reactuses/core every month — your logo right here at the top of the README, and on reactuse.com/sponsor. Live reach:

Related MCP server: daisyui-mcp-server

Introduction

ReactUse is a comprehensive collection of 100+ essential React Hooks for building modern React applications. Inspired by VueUse, it provides production-ready hooks for browser APIs, state management, sensors, animations, DOM elements, and more.

Features

  • 🎯 100+ Hooks — The most comprehensive React hooks collection

  • 📦 Tree-Shakable — Import only what you need

  • 🔷 TypeScript — Full type definitions for every hook

  • 🖥️ SSR Compatible — Works with Next.js, Remix, and more

  • 📚 Well Documented — Interactive demos for every hook

  • 🤖 MCP Support — AI-powered hook discovery

Installation

npm i @reactuses/core

Quick Start

import { useToggle } from "@reactuses/core";

const Demo = () => {
  const [on, toggle] = useToggle(true);
  return <button onClick={toggle}>{on ? "ON" : "OFF"}</button>;
};

Who's Using This

PDD Shopee Ctrip


Hook Categories

useClipboard, useColorMode, useCookie, useDarkMode, useDocumentVisibility, useEyeDropper, useFavicon, useFileDialog, useFullscreen, useMediaDevices, useMediaQuery, useOnline, usePermission, usePlatform, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, useScreenSafeArea, useScriptTag, useTextDirection, useTitle, useWebNotification, useBroadcastChannel, useEventSource, useFetchEventSource, useGeolocation, useIdle, useKeyModifier, useMobileLandscape, useNetwork, useOrientation, usePageLeave, useSpeechRecognition, useWindowFocus, useWindowScroll, useWindowSize, and more...

useBoolean, useControlled, useCounter, useCycleList, useDebounce, useDebounceFn, useDisclosure, useLocalStorage, useMap, usePrevious, useSessionStorage, useSetState, useThrottle, useThrottleFn, useToggle, and more...

useClickOutside, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementSize, useElementVisibility, useFocus, useHover, useInfiniteScroll, useIntersectionObserver, useLongPress, useMeasure, useMouse, useMousePressed, useMutationObserver, useResizeObserver, useScroll, useScrollIntoView, and more...

useAsyncEffect, useCustomCompareEffect, useDeepCompareEffect, useEventListener, useInterval, useMount, useRafFn, useTimeout, useTimeoutFn, useUnmount, useUpdate, and more...

useQRCode


MCP Support

If you want to use the MCP (Model Context Protocol) integration with reactuse, you can easily set it up with the following configuration. This allows you to run the @reactuses/mcp utility via npx for enhanced command-line support and automation.

Add the following to your configuration:

"@reactuses/mcp": {
  "command": "npx",
  "args": ["-y", "@reactuses/mcp@latest"],
  "type": "stdio"
}

Documentation

📖 Full Documentation | 📖 LLM-friendly Documentation | 💬 Discord | 🐛 Issues


Contribute

See the Contributing Guide

ChangeLog

See the ChangeLog


Thanks

This project is heavily inspired by the following awesome projects.


Support ReactUse

ReactUse is free, released into the public domain under the Unlicense, and maintained in spare time. If it saved you a day of work, consider becoming a sponsor (from $5/month) or buying me a coffee — it keeps the hooks maintained and the docs interactive. 🥰

Available Tools

3 tools
get_hookGet hook detailsA
Read-onlyIdempotent

Fetch full documentation (description, usage example, API table) for a specific @reactuses/core React hook by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
hook_nameYesHook name, e.g. "useToggle", "useClipboard". Case-insensitive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
apiYesAuto-generated API table (arguments, returns)
urlYes
bodyYesMarkdown body of the hook documentation (usage, examples, notes)
nameYes
categoryYes
descriptionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds value by specifying the exact content returned (description, usage example, API table), which goes beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the complete purpose. No extraneous information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter), presence of output schema, and clear annotations, the description is fully adequate. It tells the agent what the tool does and what it returns, without needing further elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (hook_name) with schema description coverage at 100%. The description does not add extra meaning beyond what the schema provides; it simply restates the purpose. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Fetch') and resource ('full documentation for a specific @reactuses/core React hook by name'). It distinguishes from sibling tools (list_hooks, search_hooks) by specifying that it targets a single hook by name and returns detailed documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when one needs detailed docs for a specific hook. It does not explicitly state when not to use or compare with siblings, but the context is clear and the sibling list is provided in the context signals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hooksList hooksA
Read-onlyIdempotent

List all available @reactuses/core hooks, optionally filtered by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category filter. One of: browser, effect, element, state, integrations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hooksYes
totalYes
categoryNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide read-only and idempotent safety info. Description adds behavioral detail about optional filtering, which is useful beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, immediately states purpose and optionality. Highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with annotations and output schema, the description fully covers all necessary context: what it lists, and optional filtering. No missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameter fully with enum and description. Description only reiterates the category filter as optional, adding no new meaning. With 100% coverage, baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists all hooks from a specific library, optionally filtered by category. It distinguishes itself from sibling tools like get_hook (single hook) and search_hooks (search by term).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly suggests use when listing hooks or filtering by category, but does not explicitly state when not to use or provide direct alternatives. Sibling names offer context but exclusions are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hooksSearch hooksA
Read-onlyIdempotent

Search @reactuses/core hooks by name, description, or content. Results are ranked by relevance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results (default 20).
queryYesSearch query (matches hook names, descriptions, and body text).

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
totalYes
resultsYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe read operation. The description adds valuable behavioral context: results are 'ranked by relevance' and match on name, description, or content, going beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two sentences) with no wasted words. All information is front-loaded and directly useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 parameters, clear search functionality, output schema present), the description is complete. It correctly omits redundant details about the return structure since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both parameters have descriptions). The tool description adds no new parameter meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the action ('Search'), the resource ('@reactuses/core hooks'), and the scope ('by name, description, or content'). It also mentions relevance ranking, which differentiates it from the sibling tools 'get_hook' (single retrieval) and 'list_hooks' (listing all).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for searching hooks by text) but does not explicitly state when not to use it or mention alternatives. However, the sibling context makes the usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv6.3.3
    • Addedget_hook
    • Removedget-hook-details
    • Addedlist_hooks
    • Removedlist-hooks
    • Addedsearch_hooks
    • Removedsearch-hooks
  2. 3 tool updatesv1.0.2
    • First observedget-hook-details
    • First observedlist-hooks
    • First observedsearch-hooks

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: get_hook retrieves details for a specific hook, list_hooks lists all hooks with optional category filter, and search_hooks performs a relevance-ranked search. No ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (list_hooks, get_hook, search_hooks) using snake_case, making them predictable and easy to understand.

Tool Count5/5

Three tools is minimal but perfectly scoped for the server's purpose: discovering and retrieving information about React hooks. Each tool earns its place without being over- or under-abundant.

Completeness5/5

The tool set covers the essential operations for a hook library: listing all hooks (with filtering), searching, and fetching full details for a specific hook. There are no obvious gaps given the read-only nature of the domain.

Maintenance

ActivityActive
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that indexes WordPress hooks, filters, block registrations, and JS API calls to provide AI assistants with a verified source-code database. It enables models to search, validate, and retrieve code context for WordPress and its plugins to eliminate hook-name hallucinations.
    39
    72
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that scans React and Vue projects, extracts component metadata (props, slots, events, imports, usage), and exposes it to AI coding agents via structured tools.
    7
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing AI coding assistants with documentation and source code for @gaddario98 React packages, including tools for listing packages, retrieving docs and types, and searching source.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/childrentime/reactuse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server