Ressl MCP Server - Advanced File Search
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ressl MCP Server - Advanced File Searchsearch for 'async' in TypeScript files under ./src"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ressl MCP Server - Advanced File Search
A sophisticated Model Context Protocol (MCP) server providing powerful file search capabilities for Claude Desktop and other MCP-compatible clients.
Features
Single File Search: Search for keywords within a single file with line numbers
Directory Search: Recursively search across entire directories with extension filtering
File Information: Get detailed metadata about files (size, line count, modification date)
Advanced Options: Case-sensitive search, custom result limits, configurable formatting
Error Handling: Comprehensive error handling with clear messages
Performance: Efficient regex-based search with result limiting
Related MCP server: File Search Tool
Installation
Clone this repository:
git clone <your-repo-url>
cd ressl-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildConfiguration for Claude Desktop
Add the following to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fileSearch": {
"command": "node",
"args": [
"C:\\path\\to\\ressl-mcp-server\\dist\\index.js"
]
}
}
}Make sure to replace the path with your actual project path.
Available Tools
1. search_in_file
Search for a keyword within a single file.
Parameters:
filePath(required): Path to the file to searchkeyword(required): The keyword or pattern to search forcaseSensitive(optional): Case-sensitive search (default: false)includeLineNumbers(optional): Include line numbers (default: true)maxResults(optional): Maximum results to return (default: 100)
Example:
{
"filePath": "./src/index.ts",
"keyword": "function",
"caseSensitive": false,
"maxResults": 50
}2. search_in_directory
Search for a keyword across all files in a directory recursively.
Parameters:
directoryPath(required): Path to the directorykeyword(required): The keyword or pattern to search forfileExtensions(optional): Array of extensions to filter by, e.g., ["ts", "js"]caseSensitive(optional): Case-sensitive search (default: false)includeLineNumbers(optional): Include line numbers (default: true)maxResults(optional): Maximum results to return (default: 500)
Example:
{
"directoryPath": "./src",
"keyword": "class",
"fileExtensions": ["ts", "js"],
"maxResults": 100
}3. get_file_info
Get detailed information about a file.
Parameters:
filePath(required): Path to the file
Example:
{
"filePath": "./src/index.ts"
}Usage Examples
Example 1: Search within a single file
Search for all occurrences of "search" in the main server file:
{
"filePath": "./src/index.ts",
"keyword": "search",
"includeLineNumbers": true
}Example 2: Search across project files
Find all TypeScript files containing "async":
{
"directoryPath": "./src",
"keyword": "async",
"fileExtensions": ["ts"],
"maxResults": 200
}Example 3: Get file statistics
Retrieve information about a specific file:
{
"filePath": "./README.md"
}Development
# Development mode with watch
npm run dev
# Build for production
npm run build
# Start the server
npm startTesting with MCP Inspector
You can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.jsProject Structure
ressl-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── examples/ # Example files for testing
├── package.json
├── tsconfig.json
└── README.mdTechnical Details
Language: TypeScript
Runtime: Node.js 18+
Framework: MCP SDK v0.5.0
Pattern Matching: Regex-based with special character escaping
File Handling: UTF-8 encoding with error recovery
Performance: Efficient streaming for large files
Error Handling
The server provides clear error messages for:
File not found
Invalid paths
Permission issues
Exceeded result limits
License
MIT
Author
Shweta Patel
Available Tools
3 toolsget_file_infoA
Get detailed information about a file including size, modification date, and line count.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the file to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It clearly communicates a read-only operation and enumerates three expected output fields, but it does not disclose error behavior, permission requirements, or how results are structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the action, the target, and the key return fields efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description names the main returned fields and implies non-mutating behavior. It omits edge-case behavior and exact return formatting, but these are minor for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so filePath is already fully documented in the input schema. The description adds no further parameter-level meaning beyond implying the file is analyzed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource 'detailed information about a file' and lists the concrete fields returned: size, modification date, and line count. This clearly distinguishes it from the sibling search tools, which focus on content lookup rather than metadata inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance about when to use this tool versus search_in_file or search_in_directory. The distinction is only implied by the tool names, so an agent receives no direct routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_directoryA
Search for a keyword across all files in a directory recursively. Returns results from all matching files.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The keyword or pattern to search for | |
| maxResults | No | Maximum number of results to return (default: 500) | |
| caseSensitive | No | Whether the search should be case-sensitive (default: false) | |
| directoryPath | Yes | Path to the directory to search within | |
| fileExtensions | No | Optional array of file extensions to filter by (e.g., ["ts", "js", "json"]) | |
| includeLineNumbers | No | Whether to include line numbers in results (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose useful traits: recursive traversal and returning results from all matching files. However, it does not discuss edge cases such as binary files, permission issues, or output limitations, leaving room for more transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short sentences with no filler: the first states the operation and scope, the second states the outcome. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that all six parameters are already documented in the schema, the description is nearly complete for invoking the tool. The only gap is that the exact result structure is not specified, but the description plus the includeLineNumbers and maxResults parameters provide sufficient operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter and default. The description adds no parameter-specific meaning, which is acceptable at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Search for a keyword across all files in a directory recursively.' It clearly distinguishes itself from the sibling search_in_file by emphasizing directory-level recursive search rather than a single-file operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: use this tool when the intent is to search across an entire directory tree. It does not explicitly name alternatives or list exclusions, so it stops short of a 5, but the context is not merely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_fileA
Search for a keyword within a single file. Returns all matching lines with context.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The keyword or pattern to search for | |
| filePath | Yes | Path to the file to search within | |
| maxResults | No | Maximum number of results to return (default: 100) | |
| caseSensitive | No | Whether the search should be case-sensitive (default: false) | |
| includeLineNumbers | No | Whether to include line numbers in results (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the main read behavior, but 'Returns all matching lines' is misleading given the maxResults parameter defaults to 100 and can truncate results. 'Context' is also undefined, and there is no mention of case-sensitivity defaults, result ordering, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The action and scope are front-loaded, and the output behavior is stated immediately. Every word earns its place, though the vagueness of 'context' is a content rather than structure weakness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description is minimally viable but incomplete. It states the high-level output but does not describe the shape of returned results, what 'context' means, how maxResults affects results, or whether the search is literal or pattern-based. The 100% schema coverage compensates for parameter meaning, making it usable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the schema provides descriptions for all 5 parameters, the baseline is 3, and the description does not need to repeat parameter details. The description adds no extra parameter-level meaning beyond what the schema already states, such as clarifying whether the keyword is a literal string or regex pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Search for a keyword') and a specific resource ('within a single file'), which clearly distinguishes it from the sibling search_in_directory. It also states the return payload (matching lines with context), giving the agent an unambiguous understanding of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'within a single file' provides clear context that this tool is not for directory-wide searches, implying search_in_directory as the alternative. However, it does not explicitly state when not to use this tool or name the sibling alternative, so it stops short of fully explicit usage guidance.
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.
3 tool updates
v1.0.0- First observed
get_file_info - First observed
search_in_directory - First observed
search_in_file
TDQS
Scored across 3 tools
search_in_file and search_in_directory are clearly distinguished by scope (single file vs. entire directory), and get_file_info serves a completely different purpose (metadata retrieval). No two tools overlap in their core functionality.
All tool names use snake_case and follow a clear verb_preposition_noun pattern. The two search tools share the 'search_in' prefix, making the family relationship obvious, and get_file_info is consistent with the same verb-noun style.
With only three tools, the server is tightly scoped for a dedicated file search utility. Each tool earns its place—searching a file, searching a directory, and retrieving metadata—without unnecessary bloat.
The core search workflows (file-level and directory-level) are fully covered, plus metadata as a helpful complement. However, the 'Advanced' label in the server name hints at potential missing features like regex support or filename search, which are minor gaps for a search-focused tool.
Maintenance
Related MCP Connectors
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
Discover 6,700+ MCP servers and 15,000+ OpenClaw skills. Agent-native search with outcome ranking.
Search and discover 25,000+ MCP servers across all major registries. Connect and pay autonomously.
Search 77,000+ MCP servers ranked by real adoption data to find the right one for any task.
Related MCP Servers
- FlicenseBqualityDmaintenanceA MCP server that allows searching for files in the filesystem based on path fragments, returning file metadata including name, path, size, and creation date.1-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables file system search and inspection, including directory listing, regex-based file name and content searches, and reading text, PDF, and DOCX files.1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server providing filesystem operations, shell execution, and web search capabilities.-
- AlicenseCqualityCmaintenanceA file management MCP server enabling complete file and directory operations, including advanced editing, templates, and batch processing through natural language.19173ISC