Skip to main content
Glama
lallen30

BluestoneApps MCP Remote Server

by lallen30

MCP Remote Server (Node.js Version)

This is a Node.js implementation of the BluestoneApps Coding Standards and Examples MCP server.

Overview

This MCP server provides access to React Native coding standards and code examples through the Model Context Protocol (MCP). It can be used with MCP clients like Windsurf IDE.

Related MCP server: MCP REST API Server

Features

  • Access to React Native coding standards

  • Component, hook, screen, service, and theme code examples

  • Fuzzy matching for finding examples by name

  • Full integration with the MCP protocol

Installation

  1. Clone this repository

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Usage

Start the server:

npm start

To use with MCP clients, configure them to connect to this server.

Tools

The server provides the following tools:

  • get_project_structure: Get project structure standards

  • get_api_communication: Get API communication standards

  • get_component_design: Get component design standards

  • get_state_management: Get state management standards

  • get_component_example: Get a specific component example

  • get_hook_example: Get a specific hook example

  • get_service_example: Get a specific service example

  • get_screen_example: Get a specific screen example

  • get_theme_example: Get a specific theme example

  • list_available_examples: List all available code examples

Configuring with MCP Clients

For Windsurf IDE, update the mcp_config.json with:

{
  "servers": {
    "bluestoneapps": {
      "command": "node",
      "args": ["/path/to/build/index.js"],
      "description": "BluestoneApps Coding Standards and Examples",
      "displayName": "BluestoneApps MCP Server",
      "timeout": 30000
    }
  }
}

Available Tools

10 tools
get_api_communicationB

Get API communication standards for React Native development

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/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 of behavioral disclosure. It states the tool retrieves standards, implying a read-only operation, but doesn't specify details like whether it returns static documentation, best practices, or code snippets, or if there are any constraints like rate limits or authentication needs. For a tool with zero annotation coverage, this is a significant gap in 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, clear sentence that efficiently conveys the tool's purpose without any wasted words. It's front-loaded with the key information and appropriately sized for a zero-parameter tool, making it easy for an agent to parse and understand quickly.

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?

Given the tool's complexity is low (zero parameters, no output schema), the description is minimally adequate. It states what the tool does but lacks details on behavioral traits, usage context, or output format, which would be helpful for an agent to invoke it correctly. With no annotations and no output schema, the description should do more to compensate, but it meets the basic requirement for a simple retrieval tool.

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

Parameters4/5

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

The tool has zero parameters, and the input schema coverage is 100%, so there's no need for parameter documentation in the description. The description appropriately focuses on the tool's purpose without redundant parameter details, earning a high baseline score. It doesn't add semantics beyond the schema, but that's acceptable given the lack of parameters.

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 purpose: 'Get API communication standards for React Native development.' It specifies the verb ('Get'), resource ('API communication standards'), and domain context ('React Native development'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_service_example' or 'list_available_examples,' which might also relate to API communication, preventing a perfect score.

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. It doesn't mention prerequisites, context for use, or exclusions, nor does it compare to sibling tools such as 'get_service_example' or 'get_component_example' that might overlap in API-related content. This lack of usage context leaves the agent without clear direction.

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

get_component_designB

Get component design standards for React Native development

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral disclosure. It states the tool retrieves standards but doesn't specify whether this is a read-only operation, if it requires authentication, what format the output is in, or any rate limits. This leaves significant gaps in understanding the tool's behavior.

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, efficient sentence that directly states the tool's function without any unnecessary words. It is front-loaded with the core purpose, making it easy to parse and understand quickly.

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?

Given the tool has no parameters and no output schema, the description is minimally adequate by stating what it does. However, it lacks details on behavioral aspects like output format or usage context, which are important for an agent to invoke it correctly, especially with no annotations to supplement.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately focuses on the tool's purpose without redundant parameter details, aligning with the baseline expectation for tools with no parameters.

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 purpose with a specific verb ('Get') and resource ('component design standards for React Native development'), making it immediately understandable. However, it doesn't explicitly differentiate this tool from its siblings like 'get_component_example' or 'get_theme_example', which might also relate to React Native components.

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. It doesn't mention any prerequisites, context for usage, or how it differs from sibling tools such as 'get_component_example' or 'list_available_examples', leaving the agent to infer usage scenarios.

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

get_component_exampleC

Get a React Native component example

ParametersJSON Schema
NameRequiredDescriptionDefault
component_nameYesComponent Name

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure. It states what the tool does but doesn't describe how it behaves: e.g., what format the example returns (code snippet, documentation, etc.), whether it's read-only (implied by 'Get' but not explicit), error handling, or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operation.

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, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information without redundancy or fluff.

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 complexity (a tool fetching examples), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., code examples, usage instructions), potential errors, or how it interacts with siblings. For a tool in a set with multiple similar 'get example' tools, more context is needed to guide effective use.

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, with the single parameter 'component_name' documented as 'Component Name'. The description doesn't add any meaning beyond this—it doesn't clarify what constitutes a valid component name (e.g., specific React Native components like 'Button' or 'View'), examples, or constraints. With high schema coverage, the baseline is 3, as the schema does the heavy lifting.

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 verb ('Get') and resource ('a React Native component example'), making the purpose understandable. However, it doesn't distinguish this tool from its sibling 'get_hook_example' or 'get_screen_example', which suggests similar 'get example' patterns but for different resource types. A perfect score would explicitly differentiate between these similar tools.

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. With siblings like 'get_hook_example' and 'get_screen_example', it's unclear whether this is for UI components specifically or how it differs from other example-fetching tools. There's no mention of prerequisites, constraints, or typical use cases.

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

get_hook_exampleC

Get a React Native hook example

ParametersJSON Schema
NameRequiredDescriptionDefault
hook_nameYesHook Name

TDQS

C2.9/5.0
Behavior2/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 states the tool 'gets' an example, implying a read operation, but doesn't disclose behavioral traits such as what format the example is returned in, if there are rate limits, or if it requires authentication. This is a significant gap for a tool with no annotation coverage.

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, clear sentence with zero waste. It's front-loaded and appropriately sized for the tool's purpose, 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.

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., code snippet, documentation), how examples are sourced, or any limitations. For a tool with no structured output information, more context is needed to be fully helpful.

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 description coverage is 100%, with the parameter 'hook_name' documented in the schema. The description adds no additional meaning beyond implying the parameter is for specifying a hook name, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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 action ('Get') and resource ('a React Native hook example'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_component_example' or 'get_screen_example' beyond specifying 'hook' as the example type, which is somewhat helpful but not fully distinctive.

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. It doesn't mention when-not scenarios, prerequisites, or refer to sibling tools like 'list_available_examples' for discovery, leaving usage context unclear.

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

get_project_structureB

Get project structure standards for React Native development

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/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 of behavioral disclosure. It states 'Get' implies a read operation, but doesn't disclose any behavioral traits such as rate limits, authentication needs, response format, or potential side effects. For a tool with no annotations, this is a significant gap in 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, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy for an agent to parse quickly. Every part of the sentence earns its place by specifying the domain ('React Native development').

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?

Given the tool's complexity (simple read operation with no parameters) and lack of annotations or output schema, the description is minimally adequate. It states what the tool does but doesn't provide enough context for effective use, such as what 'standards' entail or the format of the returned structure. Without output schema, the description should ideally hint at the return type, but it doesn't.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs without requiring description compensation.

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 purpose: 'Get project structure standards for React Native development.' It specifies the verb ('Get') and resource ('project structure standards'), and distinguishes it from siblings by focusing on structural standards rather than examples, components, or APIs. However, it doesn't explicitly differentiate from all siblings (e.g., 'list_available_examples' might overlap in scope).

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. It doesn't mention prerequisites, context for usage, or exclusions. For instance, it doesn't clarify if this should be used before implementing components or as a reference during development, leaving the agent to infer usage from the purpose alone.

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

get_screen_exampleC

Get a React Native screen example

ParametersJSON Schema
NameRequiredDescriptionDefault
screen_nameYesScreen Name

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure. The description only states what the tool does ('Get a React Native screen example') without explaining what 'Get' entails—whether it returns code snippets, documentation, examples with specific characteristics, or how it handles errors. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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, efficient sentence with zero waste. It's front-loaded with the core purpose and uses clear, direct language. Every word earns its place, making it highly concise and well-structured for quick understanding.

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 complexity of a tool that retrieves examples (which could involve various formats or constraints), the description is incomplete. No annotations exist to clarify behavior, and there's no output schema to explain return values. The description doesn't address what kind of example is returned, potential limitations, or error handling, leaving significant gaps for effective use.

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, with the parameter 'screen_name' documented as 'Screen Name'. The description adds no additional meaning beyond this, as it doesn't clarify what constitutes a valid screen name, provide examples, or explain the parameter's role. With high schema coverage, the baseline score of 3 is appropriate since the schema does the heavy lifting.

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 'Get a React Native screen example' clearly states the verb ('Get') and resource ('React Native screen example'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'get_component_example' or 'list_available_examples', which appear related but have different scopes. The description is specific but lacks sibling differentiation.

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. With siblings like 'get_component_example' and 'list_available_examples' that seem related to React Native examples, there's no indication of when this tool is appropriate versus those others. No context, exclusions, or prerequisites are mentioned.

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

get_service_exampleC

Get a React Native service example

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesService Name

TDQS

C2.7/5.0
Behavior2/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 of behavioral disclosure. It only states what the tool does ('Get a React Native service example') without mentioning any behavioral traits such as whether it's read-only, if it requires authentication, what happens on errors, or the format of the returned example. This is inadequate for a tool with no annotation coverage.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.

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 lack of annotations and output schema, the description is incomplete. It doesn't explain what a 'React Native service example' entails, how it's returned, or any behavioral aspects. For a tool that likely returns code or configuration examples, more context is needed to guide the agent effectively, making this insufficient for the complexity involved.

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, with the parameter 'service_name' documented as 'Service Name'. The description doesn't add any meaning beyond this, such as explaining what constitutes a valid service name or providing examples. Since schema coverage is high, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.

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

Purpose3/5

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

The description states the tool's purpose as 'Get a React Native service example', which includes a verb ('Get') and resource ('React Native service example'), making it clear what it does. However, it doesn't differentiate from sibling tools like 'get_component_example' or 'get_hook_example', which also retrieve examples but for different resource types, leaving the scope somewhat 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 versus alternatives. With sibling tools like 'get_component_example' and 'list_available_examples', there's no indication of context, prerequisites, or exclusions, leaving the agent to infer usage based on tool names alone.

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

get_state_managementB

Get state management standards for React Native development

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/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 of behavioral disclosure. It states the tool 'gets' standards, implying a read-only operation, but doesn't specify what 'standards' entail (e.g., best practices, library recommendations, patterns), how the information is returned, or any limitations (e.g., scope, format). This leaves significant gaps for a tool with no 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, efficient sentence with zero waste. It is front-loaded with the core purpose and avoids redundancy. Every word contributes to clarifying the tool's function without extraneous details.

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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'standards' include, the format or structure of the returned information, or any behavioral traits (e.g., if it's static content, requires network access). For a tool with no structured output, more context is needed to guide the agent effectively.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. A baseline of 4 is given since no parameters exist, and the description doesn't introduce unnecessary complexity.

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 purpose: 'Get state management standards for React Native development'. It specifies the verb ('Get') and resource ('state management standards') with context ('for React Native development'). However, it doesn't differentiate from siblings like 'get_component_design' or 'get_project_structure' beyond the specific resource type.

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. It doesn't mention prerequisites, context for selecting state management standards, or how it differs from other 'get_' tools that might provide related information. The agent must infer usage from the tool name alone.

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

get_theme_exampleB

Get code for a React Native theme

ParametersJSON Schema
NameRequiredDescriptionDefault
theme_nameYesTheme Name

TDQS

B3.1/5.0
Behavior2/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 of behavioral disclosure. It states 'Get code' but doesn't specify if this is a read-only operation, requires authentication, has rate limits, or what the output format is (e.g., code snippet, file). This leaves significant gaps for a tool that likely returns data.

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, clear sentence with zero waste, front-loaded with the core action. It's appropriately sized for a simple tool, 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?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate but incomplete. It lacks details on behavioral traits and usage context, which are needed for full understanding, though the concise purpose helps.

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, with 'theme_name' documented as 'Theme Name'. The description doesn't add any meaning beyond this, such as examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

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 verb ('Get') and resource ('code for a React Native theme'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'get_component_example' or 'get_hook_example', which follow a similar pattern for different resources, so it lacks explicit 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?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'list_available_examples' that might help discover themes, there's no mention of prerequisites, context, or exclusions, leaving usage unclear.

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

list_available_examplesB

List all available code examples by category

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 states the tool lists examples by category but doesn't describe what the output looks like (e.g., format, structure), whether it's paginated, or any constraints like rate limits or authentication needs. This leaves significant gaps in understanding how the tool behaves.

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, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple tool with no parameters, making it easy to parse quickly.

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 lack of annotations and output schema, the description is incomplete for effective use. It doesn't explain the return format (e.g., list structure, category details), which is critical for a listing tool. While the tool is simple with no parameters, the absence of output information leaves the agent uncertain about what to expect.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the input requirements. The description adds no parameter information, which is acceptable here since there are no parameters to explain. A baseline score of 4 reflects that the description doesn't need to compensate for any parameter gaps.

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 purpose with a specific verb ('List') and resource ('all available code examples by category'), making it immediately understandable. However, it doesn't explicitly differentiate this tool from its siblings like 'get_component_example' or 'get_hook_example', which appear to fetch specific examples rather than list them by category.

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 its siblings. It doesn't mention alternatives, prerequisites, or exclusions, leaving the agent to infer usage based on tool names alone. This lack of explicit context reduces its effectiveness in guiding selection.

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

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes targeting different aspects of React Native development (standards, examples, structure). However, there is some potential overlap between 'get_component_example' and 'get_screen_example' since screens are composed of components, which could cause minor confusion about which to use for component-level examples.

Naming Consistency5/5

All tools follow a consistent 'verb_noun' pattern using 'get_' or 'list_' prefixes with snake_case naming. The naming convention is perfectly uniform across all 10 tools, making them predictable and easy to understand.

Tool Count5/5

With 10 tools, this server is well-scoped for its purpose of providing React Native development standards and examples. Each tool serves a specific, valuable function, and the count is neither too sparse nor overwhelming for this educational/reference domain.

Completeness4/5

The tool set provides comprehensive coverage for retrieving standards and examples across key React Native development areas (components, hooks, screens, services, state management, theming, project structure, API communication). A minor gap is the lack of tools for creating or modifying these resources, but as a reference server focused on 'getting' information, it's reasonably complete.

Maintenance

ActivityInactive
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides tools for fetching xkcd comics and resources for dynamic data retrieval, WebSocket echo functionality, and static JSON data testing.
    5
  • F
    license
    Not graded
    quality
    D
    maintenance
    A server implementation of the Model Context Protocol (MCP) that provides REST API endpoints for managing and interacting with MCP resources.
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that wraps the Accela Construct API as a curated, capability-grouped tool set for Accela Civic Platform, safe by default with read-only access.
    1
    Apache 2.0
  • F
    license
    B
    quality
    D
    maintenance
    A minimal Model Context Protocol (MCP) service for integration with external platforms. Provides CRUD operations, reference data fetching, and authentication capabilities.
    7

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/lallen30/mcp-remote-server'

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