Skip to main content
Glama
ItamiForge

react-native-toolkit

by ItamiForge

MCP React Native Toolkit

A Model Context Protocol (MCP) server that provides AI agents with accurate, version-aware documentation for React Native, Expo, React Navigation, and Ignite.

Catalog: ItamiForge

Quick Start

git clone https://github.com/ItamiForge/mcp-react-native-toolkit.git
cd mcp-react-native-toolkit
npm install && npm run build

vscode

Add the MCP server to your editor's configuration: Edit ~/.vscode/mcp.json (global) or .vscode/mcp.json (per-project):

{
  "servers": {
    "react-native-toolkit": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/mcp-react-native-toolkit/dist/index.js"]
    }
  }
}

cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "react-native-toolkit": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-react-native-toolkit/dist/index.js"]
    }
  }
}

claude

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "react-native-toolkit": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-react-native-toolkit/dist/index.js"]
    }
  }
}

3. Use It (Zero Config Per-Project)

Just start asking your AI about React Native! The toolkit:

  1. Reads your project's package.json to detect versions

  2. Fetches matching docs on first request (cached for future use)

  3. Serves version-accurate documentation automatically


Related MCP server: Context7 MCP

Multi-Project Workflow

The toolkit handles multiple projects with different versions seamlessly:

~/projects/
├── legacy-app/           # expo@50.0.0
│   └── package.json
└── new-app/              # expo@52.0.0
    └── package.json

What Happens

┌─────────────────────────────────────────────────────────────────┐
│  You open legacy-app/ and ask: "How do I use Camera?"          │
├─────────────────────────────────────────────────────────────────┤
│  1. Toolkit reads package.json → detects expo@50.0.0            │
│  2. Checks docs/expo/50/ → NOT FOUND                            │
│  3. Fetches from git branch `sdk-50` → 745 files in ~3s         │
│  4. Caches at docs/expo/50/                                     │
│  5. Returns Expo 50 documentation                               │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│  You switch to new-app/ and ask: "How do I use Camera?"        │
├─────────────────────────────────────────────────────────────────┤
│  1. Toolkit reads package.json → detects expo@52.0.0            │
│  2. Checks docs/expo/52/ → NOT FOUND                            │
│  3. Fetches from git branch `sdk-52` → 745 files in ~3s         │
│  4. Caches at docs/expo/52/                                     │
│  5. Returns Expo 52 documentation                               │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│  You go back to legacy-app/ and ask another question            │
├─────────────────────────────────────────────────────────────────┤
│  1. Toolkit reads package.json → detects expo@50.0.0            │
│  2. Checks docs/expo/50/ → FOUND ✓                              │
│  3. Returns cached Expo 50 documentation instantly              │
└─────────────────────────────────────────────────────────────────┘

Resulting Cache Structure

mcp-react-native-toolkit/
└── docs/
    ├── expo/
    │   ├── 50/           # Cached for legacy-app
    │   └── 52/           # Cached for new-app
    ├── react-native/
    │   └── latest/       # Shared (no versioned docs available)
    └── react-navigation/
        ├── 6/            # If you have a v6 project
        └── 7/            # If you have a v7 project

Commands Reference

Command

Purpose

npm install && npm run build

Initial setup (one time)

npm run build

Rebuild after pulling updates

npm run refresh-docs

Pre-fetch latest docs for offline use

npm run fetch-docs

Fetch docs only (no optimization)

npm run optimize-docs

Optimize existing cached docs

npm run generate-templates

Generate AI framework configuration files

npm test

Run test suite

Available Tools

Tool

Description

detect-project-context

Detects React Native, Expo, and library versions from package.json

search-docs

Lists available documentation topics for a library

get-library-docs

Retrieves specific documentation with pagination

semantic-search-docs

AI-powered semantic search using embeddings to find relevant documentation

validate-api

Validates if an API symbol exists (checks node_modules first)

find-examples

Finds code examples for a topic

get-best-practices

Returns performance and architecture best practices

resolve-library

Resolves fuzzy library names to exact IDs

generate-component-scaffold

Generates boilerplate code for common React Native patterns

compare-api-versions

Compares API differences between library versions

suggest-migration-path

Provides step-by-step migration guidance between versions

generate-ai-template

Generates configuration files for AI coding assistants

generate-component-scaffold

Generates boilerplate code for common React Native patterns like optimized FlatLists, navigation screens, forms, and more.

Parameters:

  • scaffoldId (optional): ID of the scaffold template (e.g., 'flatlist-basic', 'stack-navigator')

  • language (optional): 'typescript' or 'javascript' (default: 'typescript')

  • listScaffolds (optional): Set to true to see all available scaffolds

  • category (optional): Filter by category ('list', 'navigation', 'form', 'api', 'storage', 'animation')

Available Scaffolds:

  • flatlist-basic - Basic FlatList with proper typing

  • flatlist-optimized - Performance-optimized FlatList with memoization

  • flatlist-infinite-scroll - FlatList with pagination and infinite scroll

  • stack-navigator - React Navigation stack navigator setup

  • tab-navigator - React Navigation tab navigator setup

  • form-basic - Form with controlled inputs and validation

  • api-fetch - API data fetching with loading/error states

  • mmkv-storage - MMKV persistent storage hooks

  • reanimated-gesture - Reanimated + Gesture Handler animation

compare-api-versions

Compares API differences between two versions of a library, showing added, removed, and modified APIs.

Parameters:

  • library (required): Library to compare

  • fromVersion (required): Starting version

  • toVersion (required): Target version

  • detailLevel (optional): 'summary' or 'detailed'

suggest-migration-path

Provides step-by-step migration guidance for upgrading between library versions.

Parameters:

  • library (required): Library to migrate

  • fromVersion (optional): Starting version (or 'auto' to detect)

  • toVersion (required): Target version

  • format (optional): 'detailed', 'checklist', or 'summary'

  • includeCodeExamples (optional): Include before/after code examples

generate-ai-template

Generates configuration files for 50+ AI coding assistants and agentic frameworks.

Parameters:

  • framework (optional): Target framework ID

  • listFrameworks (optional): Set to true to see all supported frameworks

  • generateAll (optional): Generate templates for all frameworks

  • includeExamples (optional): Include code examples in templates

Supported Frameworks (53 total):

ID

Name

Output File

cursor

Cursor

.cursorrules

vscode-copilot

GitHub Copilot (VS Code)

.github/copilot-instructions.md

windsurf

Windsurf

.windsurfrules

kiro

Kiro

.kiro/rules.md

zed

Zed

.zed/settings.json

jetbrains

JetBrains AI

.idea/ai-assistant.xml

trae

Trae

.trae/rules.md

vs2022

Visual Studio 2022 Copilot

.vs/copilot-instructions.md

lm-studio

LM Studio

.lmstudio/config.json

ID

Name

Output File

cline

Cline

.clinerules

roo-code

Roo Code

.roo/rules.md

augment

Augment

.augment/settings.json

continue

Continue

.continuerc.json

cody

Sourcegraph Cody

.sourcegraph/cody.json

supermaven

Supermaven

.supermaven/config.json

tabnine

Tabnine

.tabnine.json

amazon-q

Amazon Q

.aws/amazonq.md

qodo-gen

Qodo Gen

.qodo/settings.json

zencoder

ZenCoder

.zencoder/config.json

ID

Name

Output File

claude-code

Claude Code

CLAUDE.md

aider

Aider

.aider.conf.yml

codex-cli

Codex CLI

.codex/instructions.md

gemini-cli

Gemini CLI

.gemini/settings.json

copilot-cli

GitHub Copilot CLI

.copilot/config.json

amp

Amp

.amp/config.md

warp

Warp AI

.warp/config.yaml

goose

Goose

.goose/config.yaml

mentat

Mentat

.mentat/config.yaml

plandex

Plandex

.plandex/config.json

opencode

OpenCode

.opencode/config.json

rovo-dev

Rovo Dev

.rovo/config.json

factory

Factory

.factory/config.json

qwen-coder

Qwen Coder

.qwen/config.json

ID

Name

Output File

devin

Devin

.devin/settings.json

openhands

OpenHands

.openhands/config.json

swe-agent

SWE-Agent

.swe-agent/config.yaml

sweep

Sweep

sweep.yaml

gpt-engineer

GPT Engineer

.gpt-engineer/config.json

ID

Name

Output File

claude

Claude Projects

CLAUDE.md

claude-desktop

Claude Desktop

CLAUDE.md

chatgpt

ChatGPT Projects

chatgpt-instructions.md

gemini

Gemini

gemini-instructions.md

perplexity

Perplexity

.perplexity/instructions.md

replit

Replit AI

.replit-ai

v0

Vercel v0

v0-instructions.md

bolt

Bolt.new

.bolt/config.md

lovable

Lovable

lovable-instructions.md

pythagora

Pythagora

.pythagora/config.json

boltai

BoltAI

.boltai/config.json

crush

Crush

.crush/config.json

emdash

Emdash

.emdash/config.json

ID

Name

Output File

copilot-agent

GitHub Copilot Agent

.github/copilot-instructions.md

generic

Generic

ai-instructions.md

CLI Usage:

# List all supported frameworks
npm run generate-templates -- --list

# Generate Cursor rules
npm run generate-templates -- cursor

# Generate to a specific directory
npm run generate-templates -- vscode-copilot --output-dir ./my-project

# Generate all templates
npm run generate-templates -- --all --output-dir ./ai-configs

See examples/custom-source.md to add your own documentation sources.

Examples

See the examples/ directory for integration guides:

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT - see LICENSE

Available Tools

12 tools
compare-api-versionsA

Compares API differences between two versions of a library, showing added, removed, and modified APIs. Useful for understanding breaking changes and new features when upgrading.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory for version detection
libraryYesLibrary to compare
toVersionYesTarget version (e.g., '0.72', 'SDK 50')
detailLevelNoLevel of detail in outputsummary
fromVersionYesStarting version (e.g., '0.71', 'SDK 49')
showUnchangedNoInclude count of unchanged APIs

TDQS

A3.9/5.0
Behavior3/5

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

Annotations are absent, so the description carries the behavioral disclosure burden. It mentions the output type (added, removed, modified APIs), which is useful, but does not explicitly state that the operation is read-only, or disclose any side effects, limitations, or potential failures. This is adequate but not rich.

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 two sentences, front-loaded with the main action and outcome, and contains no redundant text. Each sentence contributes distinct value.

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

Completeness3/5

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

With no output schema and no annotations, the description gives a general sense of output (added/removed/modified APIs) but lacks details on output structure, default behaviors (e.g., summary vs. detailed), or any operational caveats. The schema is rich, but the description could be more complete for a 6-parameter tool.

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%, so parameters are fully documented in the schema. The description adds no extra nuance about parameters beyond reiterating that it compares two versions. 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 tool's function: comparing API differences between two library versions and listing added, removed, and modified APIs. This specific verb+resource combination distinguishes it from sibling tools like resolve-library or suggest-migration-path, which focus on different tasks.

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 provides a clear use case: 'useful for understanding breaking changes and new features when upgrading.' This implies when to use the tool, though it does not explicitly mention alternatives or when not to use it, which prevents a 5.

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

detect-project-contextB

Detects the React Native, Expo, React Navigation, and Ignite versions in the current project.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoThe current working directory to check.

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, what output format to expect, or any potential side effects. The agent is left without crucial context about the tool's behavior, especially given the lack of an output schema.

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, focused sentence that starts with the action verb 'Detects' followed by the specific resources. It contains no extraneous information and is easy to parse quickly, scoring top marks for conciseness and front-loaded structure.

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

Completeness2/5

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

For a simple tool with one parameter, the description is brief but incomplete. Since there is no output schema, it should state what the tool returns (e.g., version numbers, package names) to help the agent use the result. It also lacks usage guidance, making the description insufficient for full contextual understanding.

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?

The schema already provides a clear description for the single 'cwd' parameter ('The current working directory to check.'), and schema coverage is 100%. The description adds minimal extra meaning by referring to 'current project,' which aligns with the schema, but does not introduce new details. Baseline 3 is appropriate when the schema fully covers parameters.

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 tool's function: detecting versions of specific frameworks (React Native, Expo, React Navigation, Ignite) in the current project. This is specific and distinguishes it from sibling tools like resolve-library or compare-api-versions, which focus on different actions.

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

Usage Guidelines3/5

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

The description implies when to use it: when you need to know the versions of these libraries in the current project. However, it does not explicitly state when not to use it or mention alternatives, leaving the agent to infer the appropriate context from the tool's name and purpose.

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

find-examplesC

Finds code examples for a specific topic using the index

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNo
topicYesThe topic to find examples for (e.g., 'FlatList', 'navigation')
libraryYes
versionNoauto

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of disclosing behavior. It only mentions 'using the index' without explaining what that means, what side effects (if any) exist, what triggers failures, or what the return format is. This is insufficient for a tool with 4 parameters.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. It is appropriately short for a simple tool, though it sacrifices helpful details for brevity.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and no annotations, the description is too minimal. It does not explain the role of 'cwd', the 'auto' version default, what 'the index' refers to, or how results are structured. This is incomplete for an agent to use confidently.

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

Parameters1/5

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

Schema description coverage is only 25% (only 'topic' is described). The description adds no parameter semantics at all—it doesn't explain 'library', 'version', 'cwd', or how they interact. With low schema coverage, the description was expected to compensate but fails to do so.

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

Purpose4/5

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

The description clearly states the tool's core function: 'Finds code examples for a specific topic using the index.' It uses a specific verb and resource. However, it does not explicitly distinguish it from sibling tools like search-docs or semantic-search-docs, and the phrase 'using the index' is vague.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool compared to alternatives. With siblings like search-docs, get-library-docs, and semantic-search-docs, the description offers no distinctions, exclusions, or when-not-to-use advice.

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

generate-ai-templateA

Generates configuration files for AI coding assistants and agentic frameworks (Cursor, Windsurf, Kiro, Claude Code, Cline, Aider, Devin, etc.). These templates provide React Native best practices, API validation rules, and project context to help AI assistants write better code.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkNoTarget AI framework/assistant ID. Use listFrameworks=true to see all options.
outputDirNoDirectory to write generated files (optional, returns content if not provided)
generateAllNoIf true, generates templates for all supported frameworks
listFrameworksNoIf true, returns list of all 35+ supported frameworks and their output files
includeExamplesNoInclude code examples in generated templates

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description alone must convey behavioral traits. It mentions 'generates configuration files' (a write operation), but does not disclose whether files are written to disk, if existing files are overwritten, or any side effects. The schema notes that outputDir is optional and content is returned if omitted, but this isn't in the description.

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 concise and front-loaded, with a clear action and purpose in the first sentence. The second sentence adds value by explaining the output's benefits without unnecessary filler.

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

Completeness4/5

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

The description covers the tool's purpose and value well, and the parameter descriptions fill in details about optionality and return behavior. However, the main description alone doesn't explain how output is delivered (file system vs content), relying on the schema for that. Given the parameter richness and no output schema, it's mostly complete but could be slightly more self-contained.

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%, with each parameter already well-described (e.g., framework, outputDir, generateAll). The description adds high-level context about templates but doesn't enhance the semantic meaning of individual parameters beyond what the schema provides.

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 tool's function: generating configuration files for AI coding assistants. It lists specific frameworks (Cursor, Windsurf, Claude Code, etc.) and explains the benefit (React Native best practices, API validation, project context), effectively distinguishing it from sibling tools like generate-component-scaffold.

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

Usage Guidelines3/5

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

The description implies usage for setting up AI assistant configs in React Native projects, but it doesn't explicitly compare with alternatives or state when not to use it. It provides context but lacks direct selection guidance.

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

generate-component-scaffoldB

Generates boilerplate code for common React Native patterns like FlatList, navigation screens, forms, API calls, and more. Returns production-ready, type-safe code following best practices.

ParametersJSON Schema
NameRequiredDescriptionDefault
libraryNoFilter scaffolds by library
categoryNoFilter scaffolds by category
languageNoTarget languagetypescript
scaffoldIdNoID of the scaffold template (e.g., 'flatlist-basic', 'stack-navigator', 'form-basic')
listScaffoldsNoIf true, returns list of available scaffolds instead of generating code
styleApproachNoStyling approachstylesheet
customizationsNoKey-value pairs for template variable substitution (e.g., {componentName: 'UserList', itemType: 'User'})
includeCommentsNoInclude explanatory comments in generated code

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavior disclosure. It mentions generation and returns production-ready code, but omits key behaviors such as the listScaffolds mode (returning a list instead of code), filtering by library/category, and the effect of customizations on template variables. It also doesn't state whether it has side effects or dependencies, leaving significant behavioral aspects unclear.

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 sentence that is front-loaded with the verb 'Generates'. It is concise, includes relevant examples, and the phrase 'production-ready, type-safe code following best practices' conveys quality without excess. Every word contributes to the core message, and the length is appropriate for the tool's complexity.

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

Completeness2/5

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

This tool has 8 optional parameters, including a list mode (listScaffolds), filtering, and a nested customizations object, yet the description omits these features entirely. Without an output schema, the description should explain return values, but it only vaguely states 'Returns production-ready, type-safe code.' The description is insufficient for a user to know how to list scaffolds, use filtering, or handle customizations, making it far from complete.

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%, so the baseline is 3. The description adds no extra parameter meaning beyond what the schema already provides. Each parameter has a clear description, including enums and defaults, so the description does not need to compensate. The minimal addition is the phrase 'like FlatList, navigation screens...' which hints at categories but doesn't clarify parameter usage beyond the schema.

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 tool's function: it generates boilerplate code for specific React Native patterns (FlatList, navigation screens, forms, API calls). The verb 'Generates' plus the resource 'boilerplate code for common React Native patterns' distinguishes it from sibling documentation/search tools. The mention of 'production-ready, type-safe code' further clarifies the output quality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like search-docs or get-best-practices. It doesn't mention the listScaffolds mode as an alternative usage, nor does it advise when to use filtering parameters. The only implicit hint is that it's for code generation, but no explicit when/when-not or alternative references are given.

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

get-best-practicesC

Get performance and architecture best practices for a library

ParametersJSON Schema
NameRequiredDescriptionDefault
libraryYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the burden of disclosing behavioral traits. It only says 'Get' which implies a read operation, but it does not mention output format, coverage, risk factors, or any side effects. Minimal transparency.

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, focused sentence that immediately states the tool's purpose. It is front-loaded and uses no unnecessary words, making it efficient and easy to parse.

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

Completeness3/5

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

For a tool with a single parameter and no output schema, the description is minimally viable but lacks richness. It does not clarify what 'best practices' entails, what makes it different from other doc/search tools, or what kind of result to expect. Given the sibling tools and simple schema, a bit more context would help.

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

Parameters2/5

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

The input schema has one parameter (`library`) with an enum but no descriptions, and schema coverage is 0%. The description adds only the phrase 'for a library,' which is redundant with the parameter name. It does not explain the valid values or how to choose between them, so it fails to compensate for the lack of schema descriptions.

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

Purpose4/5

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

The description uses a specific verb ('Get') and specifies the resource ('performance and architecture best practices for a library'). It clearly distinguishes from sibling tools like get-library-docs, which would cover general documentation, but it does not explicitly mention that distinction.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as get-library-docs or search-docs. The description simply states what it does without mentioning context, prerequisites, or exclusions, leaving the agent without decision support.

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

get-library-docsB

Get specific documentation with smart chunking and pagination for token efficiency

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory for auto-detection.
pageNoPage number for paginated content (1-indexed)
topicYesThe documentation topic (e.g., 'FlatList', 'navigation-basics')
libraryYes
versionNoVersion string or 'auto' to detect from project.auto

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It mentions 'smart chunking and pagination for token efficiency,' which is a useful behavioral detail, but it does not clarify API conventions, error handling, or the nature of the returned content (e.g., a single page vs. all chunks). The transparency is moderate but incomplete.

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, concise sentence that communicates the core purpose and key behavioral features without unnecessary fluff. Every word contributes meaning, making it highly efficient.

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

Completeness3/5

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

For a doc-retrieval tool with no output schema, the description provides a reasonable overview but leaves gaps. The pagination mechanism, return format, and behavior for missing topics are unspecified. Given the tool's moderate complexity and the lack of output schema, a more thorough description would improve completeness.

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?

The schema provides descriptions for 4 of 5 parameters (80% coverage), so the description does not need to compensate heavily. However, the description does not add any additional meaning about parameter interactions (e.g., how page and version affect results), and the 'library' parameter has no textual description beyond its enum. Overall, the schema handles the semantics adequately.

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

Purpose4/5

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

The description clearly states a specific verb ('Get') and a resource ('specific documentation'), with added detail about chunking and pagination. It differentiates from 'search-docs' or 'semantic-search-docs' by implying targeted retrieval, but does not fully distinguish from those siblings without further context.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives like search-docs or semantic-search-docs. It only states what the tool does, leaving the agent to infer usage context. No exclusions or alternative comparisons are provided.

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

resolve-libraryA

Resolves a fuzzy library name to exact library ID and available versions

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesLibrary name query (e.g., 'navigation', 'rn', 'expo')

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the main output (exact ID and available versions) but does not discuss error handling, edge cases (e.g., no match found), or whether the operation is read-only. The term 'resolves' implies a lookup, which is helpful, but lacks depth.

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, tightly worded sentence that front-loads the core purpose and output. Every word earns its place, with no unnecessary filler or repetition.

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

Completeness4/5

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

Given the low complexity (one parameter, no output schema), the description adequately explains what the tool does and what it returns. However, it omits details about failure behavior or output format, which would be useful. Overall, it is sufficient for a simple lookup tool.

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?

The input schema already covers the 'query' parameter with a clear description and examples (100% coverage). The tool description adds the qualifier 'fuzzy', which is useful context, but does not significantly extend what the schema already provides. 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 uses the specific verb 'Resolves' and clearly states the resource: fuzzy library name to exact library ID and available versions. This distinguishes it from sibling tools like search-docs or get-library-docs, which focus on documentation retrieval rather than name resolution.

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 phrase 'fuzzy library name' provides clear context for when to use this tool—when the user has a partial or ambiguous library name. However, it does not explicitly mention alternatives or exclusions, so it falls short of a perfect 5.

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

search-docsA

Lists available documentation topics for a library. Use semantic-search-docs for AI-powered content search.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory for auto-detection.
libraryYes
versionNoVersion string or 'auto' to detect from project.auto

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states 'Lists available documentation topics' and does not mention side effects, error behavior, output format, or prerequisites. The read-only nature is implied but not explicitly stated.

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 two sentences with no fluff. It front-loads the core purpose and provides a clear alternative, making it highly concise and well-structured.

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

Completeness2/5

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

The tool has no output schema, yet the description does not clarify what the return value looks like beyond 'topics.' It also does not mention when to use this tool over other siblings like get-library-docs or find-examples, leaving gaps in context for a tool with moderate complexity.

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

Parameters2/5

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

The schema description coverage is 67% (cwd and version have descriptions, library lacks one). The description itself adds no parameter semantics, leaving the library parameter's purpose to be inferred from its enum. It does not explain how cwd/version interact with the tool.

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 tool's function with a specific verb+resource: 'Lists available documentation topics for a library.' It also distinguishes itself from semantic-search-docs by recommending that tool for AI-powered content search, aiding differentiation.

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 explicitly recommends using semantic-search-docs for AI-powered content search, which clarifies when not to use this tool. However, it does not address other sibling tools like get-library-docs or resolve-library, so it is not fully comprehensive.

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

semantic-search-docsA

Performs semantic search across documentation using AI embeddings to find conceptually similar content, even when exact keywords don't match. Returns the most relevant documentation chunks with similarity scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory for auto-detection
topKNoNumber of results to return (1-50)
queryYesNatural language search query describing what you're looking for
libraryNoOptional: Filter results to a specific library
versionNoVersion string or 'auto' to detect from projectauto
searchModeNoSearch mode: semantic (embeddings only) or hybrid (combines keyword + semantic)hybrid

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behavioral aspects: use of AI embeddings, conceptual matching, and returning similarity scores. However, it does not mention whether the operation is read-only, any rate limits or network dependencies, or behavior when no results are found. For a search tool this is a moderate gap.

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 two sentences long, front-loaded with the core action (semantic search) and key differentiator (embeddings). Every word earns its place, clearly conveying purpose and output without verbosity.

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

Completeness4/5

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

Given the tool's complexity (6 parameters, no output schema, no annotations), the description covers the essential context: what it does, how it works, and what it returns. It does not explain output structure in detail, but since no output schema exists, the return description is somewhat brief. Overall, it is reasonably complete for a search tool.

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?

The input schema has 100% description coverage for all 6 parameters, so the schema already provides comprehensive meaning for 'query', 'topK', 'library', 'version', 'cwd', and 'searchMode'. The description adds no additional parameter-specific semantics beyond what the schema provides, so a baseline score 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 tool performs semantic search across documentation using AI embeddings to find conceptually similar content. It distinguishes itself from the sibling search-docs by highlighting the embedding-based approach and the ability to match even when exact keywords don't match. The returns (relevant documentation chunks with similarity scores) are also explicitly mentioned.

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

Usage Guidelines3/5

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

The description implies usage when exact keyword matching is insufficient ('even when exact keywords don't match'), providing clear context for when to choose this tool. However, it does not explicitly name alternatives like search-docs or state when NOT to use this tool, so the guidance remains implied rather than explicit.

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

suggest-migration-pathA

Provides step-by-step migration guidance for upgrading between library versions, including breaking changes, deprecated APIs, code examples, and estimated effort. Combines curated migration guides with documentation search.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory for auto-detection
formatNoOutput formatdetailed
libraryYesLibrary to migrate
toVersionYesTarget version
fromVersionNoStarting version (or 'auto' to detect from project)auto
includeCodeExamplesNoInclude before/after code examples

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses what the tool produces (step-by-step guidance, breaking changes, deprecated APIs, code examples, effort) and that it combines 'curated migration guides with documentation search' – giving insight into internal mechanism. Does not mention side effects or limitations, but as a read-only suggestion tool, transparency is strong.

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?

Two sentences, front-loaded with the core purpose and key deliverables. No fluff, every word contributes value. The second sentence succinctly explains the hybrid source approach.

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

Completeness4/5

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

Tool has 6 parameters and no output schema, but the description provides a solid overview of purpose and outputs. The schema fills in parameter details. It lacks explicit notes on return structure or edge cases, but for this complexity level, the description is sufficiently complete for an agent to infer usage.

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% for all 6 parameters, so the schema already defines each parameter. The tool description adds context (e.g., 'code examples' and 'estimated effort') but does not explain parameter-specific behavior like the meaning of 'format' or 'fromVersion: auto'. Baseline 3 is appropriate since schema handles the heavy lifting.

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's function: 'Provides step-by-step migration guidance for upgrading between library versions'. It enumerates specific content (breaking changes, deprecated APIs, code examples, estimated effort) and distinguishes from siblings like compare-api-versions by focusing on migration guidance rather than comparison. The verb 'suggest-migration-path' aligns with the description.

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

Usage Guidelines3/5

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

The description implies usage for migration scenarios ('upgrading between library versions'), but does not explicitly state when to use this tool versus alternatives like compare-api-versions or get-library-docs. No exclusions or alternative references provided. The context from sibling names suggests differentiation is possible but not stated.

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

validate-apiA

Fast validation if a symbol exists, checking node_modules first then docs index

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoCurrent working directory
symbolYesThe API symbol to check (e.g., 'View', 'FlatList', 'useNavigation')
libraryYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adds valuable context about the checking order (node_modules before docs index), suggesting a read-only operation, but does not disclose what the tool returns, whether it has side effects, or how it handles errors. This is partially transparent but incomplete.

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 front-loads the core purpose ('Fast validation') and efficiently conveys the search order. Every word contributes meaning, with no wasted text.

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

Completeness3/5

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

For a simple validation tool with 3 parameters and no output schema, the description covers the purpose and search strategy but omits the return format (e.g., boolean or diagnostics) and does not explain how 'cwd' affects the search. Given the absence of an output schema, these details would be valuable for complete guidance.

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 coverage is 67%, with descriptions for 'symbol' and 'cwd' but not 'library' (only an enum). The description indirectly explains the role of library and symbol by mentioning node_modules and docs index, but does not explicitly elaborate on parameter usage or constraints. It adds some context beyond the schema but does not fully compensate for the missing library description.

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 tool's primary action: 'Fast validation if a symbol exists'. It specifies the resource (symbol) and scope (node_modules first then docs index), which distinguishes it from sibling tools like search-docs or resolve-library. The verb 'validation' is specific and unambiguous.

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 usage when a quick existence check is needed, contrasting with more extensive search tools like search-docs or get-library-docs. It does not explicitly name alternatives or state when not to use, but the 'fast validation' phrasing sets clear context. No exclusions are provided, but the use case is evident.

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. 12 tool updatesv1.0.0
    • First observedcompare-api-versions
    • First observeddetect-project-context
    • First observedfind-examples
    • First observedgenerate-ai-template
    • First observedgenerate-component-scaffold
    • First observedget-best-practices
    • First observedget-library-docs
    • First observedresolve-library
    • First observedsearch-docs
    • First observedsemantic-search-docs
    • First observedsuggest-migration-path
    • First observedvalidate-api

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have distinct purposes (resolve, detect, validate, compare, etc.), but the documentation tools (search-docs, get-library-docs, semantic-search-docs) and version tools (compare-api-versions vs suggest-migration-path) overlap somewhat. Descriptions help clarify their intended use, so the ambiguity is limited.

Naming Consistency4/5

Eleven of twelve tools follow a clear verb_noun pattern (e.g., resolve-library, get-best-practices, validate-api). 'semantic-search-docs' breaks this pattern by starting with an adjective, creating a minor inconsistency.

Tool Count5/5

12 tools is within the ideal 3-15 range for a focused toolkit. Each tool serves a distinct need without unnecessary redundancy, making the scope well-balanced.

Completeness4/5

The toolkit covers library resolution, documentation access, examples, validation, code generation, and migration guidance, which is comprehensive for a React Native development assistant. Minor gaps like project initialization or dependency management exist but are not central to the toolkit's purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

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/ItamiForge/mcp-react-native-toolkit'

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