open-index/open-npm huggingface dataset:
npm package: @iflow-mcp/quantgeekdev-filesystem
Description: filesystem MCP server
Latest version: 0.0.4

# filesystem

A Model Context Protocol (MCP) server built with mcp-framework.

## Quick Start

```bash
# Install dependencies
npm install

# Build the project
npm run build

```

## Project Structure

```
filesystem/
├── src/
│   ├── tools/        # MCP Tools
│   │   └── ExampleTool.ts
│   └── index.ts      # Server entry point
├── package.json
└── tsconfig.json
```

## Adding Components

The project comes with an example tool in `src/tools/ExampleTool.ts`. You can add more tools using the CLI:

```bash
# Add a new tool
mcp add tool my-tool

# Example tools you might create:
mcp add tool data-processor
mcp add tool api-client
mcp add tool file-handler
```

## Tool Development

Example tool structure:

```typescript
import { MCPTool } from "mcp-framework";
import { z } from "zod";

interface MyToolInput {
  message: string;
}

class MyTool extends MCPTool<MyToolInput> {
  name = "my_tool";
  description = "Describes what your tool does";

  schema = {
    message: {
      type: z.string(),
      description: "Description of this input parameter",
    },
  };

  async execute(input: MyToolInput) {
    // Your tool logic here
    return `Processed: ${input.message}`;
  }
}

export default MyTool;
```

## Publishing to npm

1. Update your package.json:
   - Ensure `name` is unique and follows npm naming conventions
   - Set appropriate `version`
   - Add `description`, `author`, `license`, etc.
   - Check `bin` points to the correct entry file

2. Build and test locally:
   ```bash
   npm run build
   npm link
   filesystem  # Test your CLI locally
   ```

3. Login to npm (create account if necessary):
   ```bash
   npm login
   ```

4. Publish your package:
   ```bash
   npm publish
   ```

After publishing, users can add it to their claude desktop client (read below) or run it with npx
```

## Using with Claude Desktop

### Local Development

Add this configuration to your Claude Desktop config file:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args":["/absolute/path/to/filesystem/dist/index.js"]
    }
  }
}
```

### After Publishing

Add this configuration to your Claude Desktop config file:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["filesystem"]
    }
  }
}
```

## Building and Testing

1. Make changes to your tools
2. Run `npm run build` to compile
3. The server will automatically load your tools on startup

## Learn More

- [MCP Framework Github](https://github.com/QuantGeekDev/mcp-framework)
- [MCP Framework Docs](https://mcp-framework.com)
npm package: @iflow-mcp/raindrop-io-mcp-server
Description: [![smithery badge](https://smithery.ai/badge/@hiromitsusasaki/raindrop-io-mcp-server)](https://smithery.ai/server/@hiromitsusasaki/raindrop-io-mcp-server)
Latest version: 1.0.2

# Raindrop.io MCP Server
[![smithery badge](https://smithery.ai/badge/@hiromitsusasaki/raindrop-io-mcp-server)](https://smithery.ai/server/@hiromitsusasaki/raindrop-io-mcp-server)

An integration that allows LLMs to interact with Raindrop.io bookmarks using the Model Context Protocol (MCP).

<a href="https://glama.ai/mcp/servers/@hiromitsusasaki/raindrop-io-mcp-server">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@hiromitsusasaki/raindrop-io-mcp-server/badge" alt="Raindrop.io Server MCP server" />
</a>

## Features

- Create bookmarks
- Search bookmarks
- Filter by tags

## Requirements

- Node.js 16 or higher
- Raindrop.io account and API token

## Setup

### Installing via Smithery

To install Raindrop.io Integration for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@hiromitsusasaki/raindrop-io-mcp-server):

```bash
npx -y @smithery/cli install @hiromitsusasaki/raindrop-io-mcp-server --client claude
```

### Manual Installation

1. Clone the repository:
```bash
git clone https://github.com/hiromitsusasaki/raindrop-io-mcp-server
cd raindrop-io-mcp-server
```

2. Install dependencies:
```bash
npm install
```

3. Set up environment variables:
- Create a `.env` file and set your Raindrop.io API token
```
RAINDROP_TOKEN=your_access_token_here
```

4. Build:
```bash
npm run build
```

## Using with Claude for Desktop

1. Open Claude for Desktop configuration file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

2. Add the following configuration:
```json
{
  "mcpServers": {
    "raindrop": {
      "command": "node",
      "args": ["PATH_TO_BUILD/index.js"],
      "env": {
        "RAINDROP_TOKEN": "your_access_token_here"
      }
    }
  }
}
```

3. Restart Claude for Desktop

## Available Tools

### create-bookmark
Creates a new bookmark.

**Parameters:**
- `url`: URL to bookmark (required)
- `title`: Title for the bookmark (optional)
- `tags`: Array of tags (optional)
- `collection`: Collection ID (optional)

### search-bookmarks
Searches through bookmarks.

**Parameters:**
- `query`: Search query (required)
- `tags`: Array of tags to filter by (optional)

## Development

```bash
# Build for development
npm run build

# Start server
npm start
```

## Security Notes

- Always manage API tokens using environment variables
- Set appropriate permissions for Claude for Desktop configuration files
- Restrict unnecessary file access

## Open Source

This is an open source MCP server that anyone can use and contribute to. The project is released under the MIT License.

## Contributing

Contributions are welcome! Feel free to submit issues, feature requests, or pull requests to help improve this project.

## Related Links

- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Raindrop.io API Documentation](https://developer.raindrop.io/)