Skip to main content
Glama
xiaobenyang-com

xiaobenyang-mcp-2-1

Local Filesystem MCP Server

A Model Context Protocol (MCP) server for exploring local filesystems with glob and grep tools.

Built with Smithery SDK

Features

This server provides two essential tools for filesystem exploration:

  • glob - Find files matching patterns (e.g., **/*.ts, src/**/*.js)

  • grep - Search for text patterns in files

Related MCP server: wangyue

Prerequisites

Getting Started

  1. Install dependencies:

    npm install
  2. Start development server:

    npm run dev

The server will run locally and provide access to your filesystem through the MCP protocol.

Configuration

You can customize the working directory in your smithery.yaml config:

runtime: typescript
target: local
config:
  workingDirectory: /path/to/your/directory

By default, it uses the current working directory.

Development

Your code is organized as:

  • src/xiaobenyang_mcp_tools.ts.bak - MCP server with glob and grep tools

  • smithery.yaml - Runtime specification with target: local for filesystem access

Edit src/xiaobenyang_mcp_tools.ts.bak to add your own filesystem tools.

Build

npm run build

Creates bundled server in .smithery/

Deploy

This server uses target: local in smithery.yaml, which means it's designed to run locally with filesystem access. It cannot be deployed to remote Smithery hosting.

Learn More

Available Tools

2 tools
get_all_dishesB

获取所有可用菜品的名称列表 (菜单)。

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 only states what the tool does (get a list) without any additional context—such as whether it's read-only, if it requires authentication, rate limits, or what the return format looks like (e.g., list structure, pagination). For a tool with zero annotation coverage, this is a significant gap, warranting a score of 2.

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 in Chinese that directly states the tool's purpose without any extraneous information. It is front-loaded and wastes no words, making it highly concise and well-structured, deserving a score of 5.

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's simplicity (0 parameters, no output schema, no annotations), the description is minimal. It lacks details on behavioral aspects (e.g., read-only nature, return format) and does not differentiate from the sibling tool. While it states the purpose clearly, it does not provide enough context for an AI agent to fully understand how to use it effectively, especially without annotations. This results in a score of 2 for incomplete context.

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, meaning no parameters are documented in the schema. The description does not mention any parameters, which is appropriate since there are none. According to the rules, for 0 parameters, the baseline is 4, as the description need not compensate for missing parameter info. Thus, it earns a 4.

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: '获取所有可用菜品的名称列表 (菜单)' translates to 'Get a list of names of all available dishes (menu).' It specifies the verb ('get') and resource ('all available dishes'), but does not explicitly differentiate from the sibling tool 'get_dish_content' (which likely retrieves detailed content for a specific dish). This earns a 4 for clear purpose without 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. It does not mention the sibling tool 'get_dish_content' or any other context for usage, such as when a list of dish names is needed versus detailed content. This results in a score of 2 for no usage guidance.

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

get_dish_contentC

根据提供的菜品名称获取其详细内容。

ParametersJSON Schema
NameRequiredDescriptionDefault
dishNameYes

TDQS

C2.8/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 only states the basic operation without mentioning important behavioral aspects like: whether this is a read-only operation, what happens if the dish doesn't exist, what format the detailed content returns in, any authentication requirements, rate limits, or error conditions. For a tool with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration. It's appropriately sized for a simple lookup tool and front-loads the essential information.

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's apparent simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what '详细内容' (detailed content) includes, what format it returns, or how to handle cases where the dish isn't found. For even a simple lookup tool, users need to understand what they'll get back and how the tool behaves in edge cases.

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 0% description coverage, so the description must compensate. It mentions '菜品名称' (dish name) which corresponds to the 'dishName' parameter, but provides no additional semantic context about what constitutes a valid dish name, whether it's case-sensitive, if partial matches are supported, or examples of expected values. The description adds minimal value beyond what's implied by the parameter name.

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 detailed content based on the provided dish name). It specifies the verb '获取' (get) and resource '菜品详细内容' (dish detailed content). However, it doesn't explicitly differentiate from its sibling 'get_all_dishes' which presumably lists all dishes rather than getting detailed content for a specific one.

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. There's no mention of the sibling tool 'get_all_dishes' or any context about when detailed content is needed versus a list of dishes. The description only states what the tool does, not when it should be used.

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

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have perfectly distinct purposes: get_all_dishes retrieves a list of dish names, while get_dish_content fetches detailed content for a specific dish. There is no overlap or ambiguity between these operations.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'get_' prefix and snake_case naming. The naming is predictable and clear across the set.

Tool Count2/5

With only 2 tools, this server feels thin for a dish/recipe domain. While the tools cover basic retrieval, typical food-related servers would include operations like search, filter, create, update, or delete dishes for a more complete surface.

Completeness2/5

The server only provides read operations (list and get details), lacking any create, update, delete, or search capabilities. This is a significant gap that will limit agent workflows, as there's no way to modify or interact with dish data beyond viewing it.

Maintenance

ActivityInactive
ResponsivenessSyncing

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/xiaobenyang-com/mcp_tools_3'

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