# File Time Search MCP Server
An MCP server that provides file searching capabilities based on modification or creation time.
## Features
- Search files by `modified` or `created` time.
- Filter by time range (`from`, `to`).
- Glob pattern matching.
- Pagination support.
- Secure root path restriction (`ALLOW_ROOTS`).
## Installation
```bash
npm install
```
## Usage with npx
You can run this server directly using npx:
```bash
export ALLOW_ROOTS=/path/to/search
npx file-search-mcp
```
## Usage
### Environment Variables
- `ALLOW_ROOTS`: Comma-separated list of allowed root directories (Required).
- `DEFAULT_ROOT`: Default root directory if not specified in request (Optional).
### Running via Stdio
```bash
export ALLOW_ROOTS=/path/to/search
npm run start:stdio
```
### Development
```bash
# Run in dev mode (stdio)
export ALLOW_ROOTS=$(pwd)
npm run dev:stdio
# Run tests
npm test
```
## Documentation
See [docs/README.md](docs/README.md) for detailed documentation.
## AI Agent Configuration (Claude Desktop)
To use this tool with Claude Desktop, you need to configure the `claude_desktop_config.json` file.
### 1. Build the Project
First, ensure the project is built:
```bash
npm run build
```
### 2. Edit Configuration
Open or create the configuration file:
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
Add the following configuration (replace paths with your actual paths):
```json
{
"mcpServers": {
"file-search": {
"command": "node",
"args": [
"D:/1.playground_ai/file_search_mcp/dist/stdio.js"
],
"env": {
"ALLOW_ROOTS": "D:/1.playground_ai/file_search_mcp",
"DEFAULT_ROOT": "D:/1.playground_ai/file_search_mcp"
}
}
}
}
```
> **Note**: `ALLOW_ROOTS` is required. It defines the directories the AI is allowed to search. You can specify multiple paths separated by commas (or semicolons on Windows).
### 3. Usage Examples
Once configured and Claude Desktop is restarted, you can ask questions like:
- "Find all markdown files modified in the last 24 hours."
- "Search for files created between 2024-01-01 and 2024-02-01 in the src folder."
- "List the top 10 most recently modified files."
## VS Code Copilot Configuration
To use this tool with GitHub Copilot in VS Code, add the following to your VS Code `settings.json`:
### 1. Build the Project
Ensure the project is built:
```bash
npm run build
```
### 2. Edit VS Code Settings
Open your VS Code `settings.json` and add the `github.copilot.mcpServers` configuration:
```json
{
"github.copilot.mcpServers": {
"file-search": {
"command": "node",
"args": [
"D:/1.playground_ai/file_search_mcp/dist/stdio.js"
],
"env": {
"ALLOW_ROOTS": "D:/1.playground_ai/file_search_mcp",
"DEFAULT_ROOT": "D:/1.playground_ai/file_search_mcp"
}
}
}
}
```
> **Note**: Replace the paths with your actual absolute paths. `ALLOW_ROOTS` is required.
>
> **Tip**: In VS Code, you can use `${workspaceFolder}` to dynamically set the current workspace path:
> ```json
> "env": {
> "ALLOW_ROOTS": "${workspaceFolder}",
> "DEFAULT_ROOT": "${workspaceFolder}"
> }
> ```